lib/pears/subject.rb in pears-0.1.0 vs lib/pears/subject.rb in pears-0.1.1

- old
+ new

@@ -3,10 +3,11 @@ module Pears # A subject is a collection of settings. # You could different Pears::Subjects in your application for different parts # of its domain. for instance: application_settings, theming or translations. class Subject + include Enumerable attr_reader :name def initialize(name, *layers) @name = name @layers = layers @@ -36,9 +37,13 @@ # Projects the layers to a hash that van be used as a single source of truth. def project layers.reverse.reduce(Hash.new) do |hash, layer| hash.deep_merge(layer.data) end.with_indifferent_access + end + + def each(&block) + project.each(&block) end private def layers