12. class Page
include DataMapper::Resource
property :id, Serial
property :name, String
repository(:legacy) do
property :name, String, :field => 'title'
end
end
Page.all(:repository => :legacy)
19. class Zoo
# all the keys and property setup here
def self.open
all(:open => true)
end
def self.big
all(:animal_count.gte => 1000)
end
end
big_open_zoos = Zoo.big.open
21. big_open_zoos = Zoo.all(:open =>
true).all(:animal_count.gte => 1000)
# => This line of code generate zero sql
big_open_zoos.each do |zoo|
puts zoo.name
end
# => This generates one sql.
25. Person.all(quot;addresses.street.likequot; => '%marina%')
SELECT quot;peoplequot;.quot;idquot;, quot;peoplequot;.quot;namequot;
FROM quot;peoplequot; INNER JOIN quot;addressesquot; ON
(quot;peoplequot;.quot;idquot; = quot;addressesquot;.quot;person_idquot;)
WHERE (quot;addressesquot;.quot;streetquot; LIKE '%marina%')
ORDER BY quot;peoplequot;.quot;idquot;