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

- old
+ new

@@ -22,13 +22,13 @@ # # @return [AbstractMapper::Rules] # @private def initialize(registry = []) - @registry = registry.dup.freeze - @transproc = ordered.map(&:transproc).inject(:>>) - freeze + @registry = registry.dup + @transproc = registry.map(&:transproc).inject(:>>) + IceNine.deep_freeze(self) end # Returns the copy of current registry with the new rule added # # @param [AbstractMapper::SoleRule] other @@ -45,16 +45,9 @@ # # @return [Array<AbstractMapper::Node>] The optimized array of nodes # def [](nodes) @transproc ? @transproc[nodes] : nodes - end - - private - - # Calls all sole rules first - def ordered - registry.sort_by { |rule| Functions[:subclass?, PairRule][rule].to_s } end end # class Rules end # class AbstractMapper