lib/abstract_mapper/rule.rb in abstract_mapper-0.0.1 vs lib/abstract_mapper/rule.rb in abstract_mapper-0.0.2

- old
+ new

@@ -8,10 +8,16 @@ # # @api private # class Rule + # @private + def self.composer + :identity + end + private_class_method :composer + # The transformation function that applies the rule to the array of nodes # # @return [Transproc::Function] # def self.transproc @@ -33,11 +39,26 @@ # # @return [AbstractMapper::Rule] # @private def initialize(*nodes) - @nodes = nodes.freeze - freeze + @nodes = nodes + IceNine.deep_freeze(self) + end + + # Checks if optimization is needed for the node(s) + # + # @return [Boolean] + # + def optimize? + end + + # Returns the optimized node(s) + # + # @return [Object] + # + def optimize + nodes end # Returns the result of the rule applied to the initialized [#nodes] # # @return [Array<AbstractMapper::Node>]