Module: Toy::Querying::ClassMethods
- Defined in:
- lib/toy/querying.rb
Instance Method Summary collapse
- #get(id) ⇒ Object
- #get!(id) ⇒ Object
- #get_multiple(*ids) ⇒ Object (also: #get_multi)
- #get_or_create(id) ⇒ Object
- #get_or_new(id) ⇒ Object
- #key?(id) ⇒ Boolean (also: #has_key?)
- #load(id, attrs) ⇒ Object
Instance Method Details
#get(id) ⇒ Object
6 7 8 9 10 |
# File 'lib/toy/querying.rb', line 6 def get(id) if (attrs = adapter.read(id)) load(id, attrs) end end |
#get!(id) ⇒ Object
12 13 14 |
# File 'lib/toy/querying.rb', line 12 def get!(id) get(id) || raise(Toy::NotFound.new(id)) end |
#get_multiple(*ids) ⇒ Object Also known as: get_multi
16 17 18 19 20 21 22 |
# File 'lib/toy/querying.rb', line 16 def get_multiple(*ids) result = adapter.read_multiple(*ids.flatten) result.each do |id, attrs| result[id] = attrs.nil? ? nil : load(id, attrs) end result end |
#get_or_create(id) ⇒ Object
30 31 32 |
# File 'lib/toy/querying.rb', line 30 def get_or_create(id) get(id) || create(:id => id) end |
#get_or_new(id) ⇒ Object
26 27 28 |
# File 'lib/toy/querying.rb', line 26 def get_or_new(id) get(id) || new(:id => id) end |
#key?(id) ⇒ Boolean Also known as: has_key?
34 35 36 |
# File 'lib/toy/querying.rb', line 34 def key?(id) adapter.key?(id) end |
#load(id, attrs) ⇒ Object
39 40 41 42 43 |
# File 'lib/toy/querying.rb', line 39 def load(id, attrs) attrs ||= {} instance = constant_from_attrs(attrs).allocate instance.initialize_from_database(attrs.update('id' => id)) end |