Class: Danica::Equation::Builder

Inherits:
Object
  • Object
show all
Defined in:
lib/danica/equation/builder.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(*variables, &block) ⇒ Builder

Returns a new instance of Builder.



7
8
9
10
# File 'lib/danica/equation/builder.rb', line 7

def initialize(*variables, &block)
  @variables = variables
  instance_eval(&block)
end

Instance Attribute Details

#variablesObject (readonly)

Returns the value of attribute variables.



5
6
7
# File 'lib/danica/equation/builder.rb', line 5

def variables
  @variables
end

Instance Method Details

#buildObject



12
13
14
15
16
17
18
19
20
21
22
23
# File 'lib/danica/equation/builder.rb', line 12

def build
  vars = variables
  l = left
  r = right

  Class.new(Equation) do
    variables(*vars)

    define_method :left, l
    define_method :right, r
  end
end

#left(&block) ⇒ Object



25
26
27
28
# File 'lib/danica/equation/builder.rb', line 25

def left(&block)
  @left = block if block_given?
  @left
end

#right(&block) ⇒ Object



30
31
32
33
# File 'lib/danica/equation/builder.rb', line 30

def right(&block)
  @right = block if block_given?
  @right
end