35. Employments Employment
id: int id<Integer>
person_id: int
person<Person>
start: date
end: date start<Date>
salary_amt: dec
end<Date>
salary_cur: char
salary<Money>
43. Connection Connection Connection Connection Connection
Connection Pool
create_command “select * from foos where id = ?”
Command
execute_reader Reader next values next ...
execute_reader(12) =>
select * from foos where id = 12
75. custom types
class Post
include DataMapper::Resource
property :title, String
property :author, FullName
property :details, Csv
end
76. class FullName < DM::Type
primitive String
size 100
def self.load(str)
str.split(“, ”).reverse
end
def self.dump(ary)
ary.reverse.join(“, ”)
end
end
77. class Csv < DM::Type
primitive String
size 65355
def self.load(str)
FasterCSV.parse(value)
end
def self.dump(ary)
FasterCSV.generate do |csv|
ary.each {|line| csv << line}
end
end
end