class XRBP::NodeStore::STObject

Seralized Type containing fields associated with ids

Attributes

fields[R]
item[R]

Public Class Methods

new(args={}) click to toggle source
# File lib/xrbp/nodestore/sle/st_object.rb, line 12
def initialize(args={})
  @item = args[:item]

  @fields, remaining = parse_fields(item.data)
  raise unless remaining.size == 0
end

Public Instance Methods

account_id(field) click to toggle source
# File lib/xrbp/nodestore/sle/st_object.rb, line 41
def account_id(field)
  field(STAccount, field)
end
amount(field) click to toggle source
# File lib/xrbp/nodestore/sle/st_object.rb, line 37
def amount(field)
  field(STAmount, field)
end
field(type, id) click to toggle source
# File lib/xrbp/nodestore/sle/st_object.rb, line 32
def field(type, id)
  fields[id]
  # type should already be converted in parsing process (TODO verify?)
end
field?(id) click to toggle source
# File lib/xrbp/nodestore/sle/st_object.rb, line 28
def field?(id)
  fields.key?(id)
end
flag?(flag) click to toggle source
# File lib/xrbp/nodestore/sle/st_object.rb, line 23
def flag?(flag)
  flag = NodeStore::Format::SERIALIZED_FLAGS[flag] if flag.is_a?(Symbol)
  flags & flag == flag
end
flags() click to toggle source
# File lib/xrbp/nodestore/sle/st_object.rb, line 19
def flags
  @flags ||= fields[:flags]
end