Class: BlueprintsBoy::Registry
- Inherits:
-
Object
- Object
- BlueprintsBoy::Registry
- Defined in:
- lib/blueprints_boy/registry.rb
Instance Attribute Summary collapse
-
#built ⇒ Object
readonly
Returns the value of attribute built.
-
#names ⇒ Object
readonly
Returns the value of attribute names.
-
#parent ⇒ Object
readonly
Returns the value of attribute parent.
Instance Method Summary collapse
-
#initialize(names, parent) ⇒ Registry
constructor
A new instance of Registry.
- #restore ⇒ Object
- #store(data) ⇒ Object
Constructor Details
#initialize(names, parent) ⇒ Registry
Returns a new instance of Registry.
5 6 7 8 9 10 11 12 |
# File 'lib/blueprints_boy/registry.rb', line 5 def initialize(names, parent) @names = names @parent = parent @built = Set.new @built.merge(parent.built) if parent @stored = {} end |
Instance Attribute Details
#built ⇒ Object (readonly)
Returns the value of attribute built.
3 4 5 |
# File 'lib/blueprints_boy/registry.rb', line 3 def built @built end |
#names ⇒ Object (readonly)
Returns the value of attribute names.
3 4 5 |
# File 'lib/blueprints_boy/registry.rb', line 3 def names @names end |
#parent ⇒ Object (readonly)
Returns the value of attribute parent.
3 4 5 |
# File 'lib/blueprints_boy/registry.rb', line 3 def parent @parent end |
Instance Method Details
#restore ⇒ Object
20 21 22 23 24 25 26 |
# File 'lib/blueprints_boy/registry.rb', line 20 def restore data = @stored.each_with_object({}) do |(name, dump), result| result[name] = Marshal.load(dump) end data.reverse_merge!(@parent.restore) if @parent data end |
#store(data) ⇒ Object
14 15 16 17 18 |
# File 'lib/blueprints_boy/registry.rb', line 14 def store(data) data.each do |name, value| @stored[name] = Marshal.dump(value) end end |