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.
Constructor Details
#initialize(data) ⇒ Base
Returns a new instance of Base.
5 6 7 |
# File 'lib/objects/node/meta/base.rb', line 5 def initialize(data) @data = data end |
Instance Attribute Details
#data ⇒ Object (readonly)
Returns the value of attribute data.
3 4 5 |
# File 'lib/objects/node/meta/base.rb', line 3 def data @data end |
Instance Method Details
#all ⇒ Object
24 25 26 |
# File 'lib/objects/node/meta/base.rb', line 24 def all @data end |
#dump ⇒ Object
18 19 20 21 22 |
# File 'lib/objects/node/meta/base.rb', line 18 def dump @data.each do |k, v| puts "#{k} => #{v.resource_value}" end end |
#fetch(key, default = nil) ⇒ Object
28 29 30 31 32 33 34 35 36 |
# File 'lib/objects/node/meta/base.rb', line 28 def fetch(key, default = nil) if @data.key?(key) @data[key] elsif default return default else raise Bcome::Exception::CantFindKeyInMetadata, key unless @data.key?(key) end end |
#has_key_and_value?(matchers) ⇒ Boolean
9 10 11 12 13 14 15 16 |
# File 'lib/objects/node/meta/base.rb', line 9 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 |