lib/gobstones/lang/commands/single_assignment.rb in gobstones-0.0.2 vs lib/gobstones/lang/commands/single_assignment.rb in gobstones-0.0.3
- old
+ new
@@ -1,31 +1,26 @@
-require 'gobstones/modules/equal_by_class'
+require 'gobstones/modules/equality_definition'
module Gobstones
-
module Lang
+ module Commands
+ class SingleAssignment
+ include EqualityDefinition
- class SingleAssignment
+ attr_reader :var_name, :expression
- include Gobstones::EqualByClass
+ def initialize(var_name, expression)
+ @var_name = var_name
+ @expression = expression
+ end
- attr_reader :var_name, :expression
+ def equality_attributes
+ %i[var_name expression]
+ end
- def initialize(var_name, expression)
- @var_name, @expression = var_name, expression
+ def evaluate(context)
+ context.set(var_name, expression.evaluate(context))
+ end
end
-
- def ==(other)
- super(other) &&
- self.var_name == other.var_name &&
- self.expression == other.expression
- end
-
- def evaluate(context)
- context.set var_name, expression.evaluate(context)
- end
-
end
-
end
-
end