class Bcome::Node::Meta::Base

Attributes

data[R]

Public Class Methods

new(data) click to toggle source
# File lib/objects/node/meta/base.rb, line 7
def initialize(data)
  @data = data
end

Public Instance Methods

all() click to toggle source
# File lib/objects/node/meta/base.rb, line 31
def all
  @data
end
dump() click to toggle source
# 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) click to toggle source
# 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) click to toggle source
# 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() click to toggle source
# File lib/objects/node/meta/base.rb, line 21
def keys
  @data.keys
end