class Ooz::Base::Model

Attributes

root[R]

Public Class Methods

new(*args, root: nil) click to toggle source
Calls superclass method
# File lib/ooz/base/model.rb, line 7
def initialize(*args, root: nil)
  super(*args)
  @root = root
end

Public Instance Methods

ooze() click to toggle source
# File lib/ooz/base/model.rb, line 12
def ooze
  self.is_a?(Ooze)? self : root && root.ooze
end

Private Instance Methods

collect_from(ids, elements_hash) click to toggle source
# File lib/ooz/base/model.rb, line 25
def collect_from(ids, elements_hash)
  raise "Sorry, 'ids' expected to be Array, given: #{arr.class.name}" if !ids.is_a?(Array)
  raise "Expected hash, given: #{elements_hash.class.name}" if !elements_hash.is_a?(Hash)
  ids.map do |id|
    elements_hash[id].tap do |e|
      puts "Warning: there is no element with id '#{id}'" if !e
    end
  end
end
to_hash(arr, key: "_id") click to toggle source
# File lib/ooz/base/model.rb, line 18
def to_hash(arr, key: "_id")
  raise "Sorry, expected Array, given: #{arr.class.name}" if !arr.is_a?(Array)
  arr.map do |e|
    [e.send(key), e]
  end.to_h
end