Class: HaveAPI::Fs::Component::Children
- Inherits:
-
Object
- Object
- HaveAPI::Fs::Component::Children
- Defined in:
- lib/haveapi/fs/component.rb
Overview
An encapsulation of a Hash to store child components.
Instance Attribute Summary collapse
-
#context ⇒ Object
Returns the value of attribute context.
Instance Method Summary collapse
- #[](k) ⇒ Object
-
#[]=(k, v) ⇒ Object
Replace a child named
kby a new child represented byv. -
#initialize(ctx) ⇒ Children
constructor
A new instance of Children.
- #set(k, v) ⇒ Object
Constructor Details
#initialize(ctx) ⇒ Children
Returns a new instance of Children.
13 14 15 16 |
# File 'lib/haveapi/fs/component.rb', line 13 def initialize(ctx) @context = ctx @store = {} end |
Instance Attribute Details
#context ⇒ Object
Returns the value of attribute context.
10 11 12 |
# File 'lib/haveapi/fs/component.rb', line 10 def context @context end |
Instance Method Details
#[](k) ⇒ Object
18 19 20 |
# File 'lib/haveapi/fs/component.rb', line 18 def [](k) @store[k] end |
#[]=(k, v) ⇒ Object
Replace a child named k by a new child represented by v. The old
child, if present, is invalidated and dropped from the cache.
Factory is used to create an instance of v.
28 29 30 31 32 33 34 35 |
# File 'lib/haveapi/fs/component.rb', line 28 def []=(k, v) if @store.has_key?(k) @store[k].invalidate @store[k].context.cache.drop_below(@store[k].path) end @store[k] = Factory.create(@context, k, *v) end |
#set(k, v) ⇒ Object
37 38 39 |
# File 'lib/haveapi/fs/component.rb', line 37 def set(k, v) @store[k] = v end |