lib/i18n/tasks/data/tree/nodes.rb in i18n-tasks-0.9.6 vs lib/i18n/tasks/data/tree/nodes.rb in i18n-tasks-0.9.7

- old
+ new

@@ -18,11 +18,11 @@ def to_nodes self end def attributes - {nodes: @list} + { nodes: @list } end def derive(new_attr = {}) attr = attributes.except(:nodes, :parent).merge(new_attr) node_attr = new_attr.slice(:parent) @@ -31,11 +31,11 @@ end def to_hash(sort = false) (@hash ||= {})[sort] ||= begin if sort - self.sort { |a, b| a.key <=> b.key } + sort_by(&:key) else self end.map { |node| node.to_hash(sort) }.reduce({}, :deep_merge!) end end @@ -52,11 +52,11 @@ end # methods below change state def remove!(node) - @list.delete(node) or raise "#{node.full_key} not found in #{self.inspect}" + @list.delete(node) || fail("#{node.full_key} not found in #{inspect}") dirty! self end def append!(other) @@ -86,9 +86,10 @@ end alias children? any? protected + def dirty! @hash = nil end end end