module StaticAssociation::ClassMethods
Public Instance Methods
all()
click to toggle source
# File lib/static_association.rb, line 30 def all index.values end
find(id)
click to toggle source
# File lib/static_association.rb, line 34 def find(id) find_by_id(id) or raise RecordNotFound end
find_by_id(id)
click to toggle source
# File lib/static_association.rb, line 38 def find_by_id(id) index[id] end
index()
click to toggle source
# File lib/static_association.rb, line 26 def index @index ||= {} end
record(settings, &block)
click to toggle source
# File lib/static_association.rb, line 42 def record(settings, &block) settings.assert_valid_keys(:id) id = settings.fetch(:id) raise DuplicateID if index.has_key?(id) record = self.new(id) record.instance_exec(record, &block) if block_given? index[id] = record end