class MummRa::Repository

Attributes

main_class[R]
source[R]

Public Class Methods

new(args={}) click to toggle source
# File lib/mumm_ra/repository.rb, line 5
def initialize(args={})
  @source     = args.fetch(:source)
  @main_class = args.fetch(:main_class)
end

Public Instance Methods

[](key) click to toggle source
# File lib/mumm_ra/repository.rb, line 20
def [](key)
  source[key]
end
all() click to toggle source
# File lib/mumm_ra/repository.rb, line 10
def all
  @all ||= source.values
end
construct_from_object(obj) click to toggle source
# File lib/mumm_ra/repository.rb, line 24
def construct_from_object(obj)
  return obj if obj.is_a? main_class
  return main_class.new(obj) if obj.is_a?(Hash)
  attrs = {}
  main_class.members.each do |attr|
    attrs[attr] = obj.send(attr)
  end
  main_class.new(attrs)
end
each() { |value| ... } click to toggle source
# File lib/mumm_ra/repository.rb, line 14
def each
  all.each do |value|
    yield value
  end
end