Module: Toy::Querying::ClassMethods
- Defined in:
- lib/toy/querying.rb
Instance Method Summary collapse
- #get_or_create(id) ⇒ Object
- #get_or_new(id) ⇒ Object
- #key?(id, options = nil) ⇒ Boolean (also: #has_key?)
- #load(id, attrs) ⇒ Object
- #read(id, options = nil) ⇒ Object (also: #get, #find)
- #read!(id, options = nil) ⇒ Object (also: #get!, #find!)
- #read_multiple(ids, options = nil) ⇒ Object (also: #get_multiple, #find_multiple)
Instance Method Details
#get_or_create(id) ⇒ Object
37 38 39 |
# File 'lib/toy/querying.rb', line 37 def get_or_create(id) get(id) || create(:id => id) end |
#get_or_new(id) ⇒ Object
33 34 35 |
# File 'lib/toy/querying.rb', line 33 def get_or_new(id) get(id) || new(:id => id) end |
#key?(id, options = nil) ⇒ Boolean Also known as: has_key?
41 42 43 |
# File 'lib/toy/querying.rb', line 41 def key?(id, = nil) adapter.key?(id, ) end |
#load(id, attrs) ⇒ Object
46 47 48 49 50 |
# File 'lib/toy/querying.rb', line 46 def load(id, attrs) attrs ||= {} instance = constant_from_attrs(attrs).allocate instance.initialize_from_database(attrs.update('id' => id)) end |
#read(id, options = nil) ⇒ Object Also known as: get, find
6 7 8 9 10 |
# File 'lib/toy/querying.rb', line 6 def read(id, = nil) if (attrs = adapter.read(id, )) load(id, attrs) end end |
#read!(id, options = nil) ⇒ Object Also known as: get!, find!
15 16 17 |
# File 'lib/toy/querying.rb', line 15 def read!(id, = nil) get(id, ) || raise(Toy::NotFound.new(id)) end |
#read_multiple(ids, options = nil) ⇒ Object Also known as: get_multiple, find_multiple
22 23 24 25 26 27 28 |
# File 'lib/toy/querying.rb', line 22 def read_multiple(ids, = nil) result = adapter.read_multiple(ids, ) result.each do |id, attrs| result[id] = attrs.nil? ? nil : load(id, attrs) end result end |