Class: Gobstones::Lang::Commands::Conditional

Inherits:
Object
  • Object
show all
Includes:
EqualityDefinition
Defined in:
lib/gobstones/lang/commands/conditional.rb

Direct Known Subclasses

If, While

Instance Attribute Summary collapse

Instance Method Summary collapse

Methods included from EqualityDefinition

#==

Constructor Details

#initialize(condition, then_block) ⇒ Conditional

Returns a new instance of Conditional.



11
12
13
14
# File 'lib/gobstones/lang/commands/conditional.rb', line 11

def initialize(condition, then_block)
  @condition = condition
  @then_block = then_block
end

Instance Attribute Details

#conditionObject (readonly)

Returns the value of attribute condition.



9
10
11
# File 'lib/gobstones/lang/commands/conditional.rb', line 9

def condition
  @condition
end

#then_blockObject (readonly)

Returns the value of attribute then_block.



9
10
11
# File 'lib/gobstones/lang/commands/conditional.rb', line 9

def then_block
  @then_block
end

Instance Method Details

#equality_attributesObject



16
17
18
# File 'lib/gobstones/lang/commands/conditional.rb', line 16

def equality_attributes
  %i[condition then_block]
end

#evaluate_condition(context) ⇒ Object



20
21
22
# File 'lib/gobstones/lang/commands/conditional.rb', line 20

def evaluate_condition(context)
  condition.evaluate(context)
end