Sha256: ab52817384d49973d2460adc309ede66596978290a4f335789134fb2bb7a8e82

Contents?: true

Size: 517 Bytes

Versions: 6

Compression:

Stored size: 517 Bytes

Contents

module Danica
  class Function
    include VariablesHolder
    include DSL
    include Expressable

    autoload :Name,    'danica/function/name'
    attr_accessor :name

    built_with(:function_block)

    def self.for(expression_class)
      build(expression_class.variables_hash) do
        expression_class.new(variables_hash)
      end
    end

    def name
      Name.new(name: @name, variables: containers)
    end

    def to(*args)
      "#{name.to(*args)} = #{function_block.to(*args)}"
    end
  end
end

Version data entries

6 entries across 6 versions & 1 rubygems

Version Path
danica-2.7.4 lib/danica/function.rb
danica-2.7.3 lib/danica/function.rb
danica-2.7.2 lib/danica/function.rb
danica-2.7.1 lib/danica/function.rb
danica-2.6.4 lib/danica/function.rb
danica-2.6.3 lib/danica/function.rb