Class: Bcome::Node::Meta::Base
- Inherits:
-
Object
- Object
- Bcome::Node::Meta::Base
- Defined in:
- lib/objects/node/meta/base.rb
Instance Attribute Summary collapse
-
#data ⇒ Object
readonly
Returns the value of attribute data.
Instance Method Summary collapse
- #all ⇒ Object
- #dump ⇒ Object
- #fetch(key, default = nil) ⇒ Object
- #has_key_and_value?(matchers) ⇒ Boolean
-
#initialize(data) ⇒ Base
constructor
A new instance of Base.
- #keys ⇒ Object
Constructor Details
#initialize(data) ⇒ Base
Returns a new instance of Base.
7 8 9 |
# File 'lib/objects/node/meta/base.rb', line 7 def initialize(data) @data = data end |
Instance Attribute Details
#data ⇒ Object (readonly)
Returns the value of attribute data.
5 6 7 |
# File 'lib/objects/node/meta/base.rb', line 5 def data @data end |
Instance Method Details
#all ⇒ Object
31 32 33 |
# File 'lib/objects/node/meta/base.rb', line 31 def all @data end |
#dump ⇒ Object
25 26 27 28 29 |
# File 'lib/objects/node/meta/base.rb', line 25 def dump @data.each do |k, v| puts "#{k} => #{v.resource_value}" end end |
#fetch(key, default = nil) ⇒ Object
35 36 37 38 39 40 41 42 43 |
# File 'lib/objects/node/meta/base.rb', line 35 def fetch(key, default = nil) if @data.key?(key) @data[key] elsif default default else raise Bcome::Exception::CantFindKeyInMetadata, key unless @data.key?(key) end end |
#has_key_and_value?(matchers) ⇒ Boolean
11 12 13 14 15 16 17 18 19 |
# File 'lib/objects/node/meta/base.rb', line 11 def has_key_and_value?(matchers) matchers[:values] = [matchers[:values]] if matchers[:values] && !matchers[:values].is_a?(Array) raise Bcome::Exception::InvalidMatcherQuery unless matchers[:key] && matchers[:values].is_a?(Array) key = matchers[:key].to_sym values = matchers[:values] @data.key?(key) && values.include?(@data[key]) end |
#keys ⇒ Object
21 22 23 |
# File 'lib/objects/node/meta/base.rb', line 21 def keys @data.keys end |