我有一个SchoolDay代表上学日的课程:它可以告诉你日期,学期,学期,周和日.它可以生成像"Sem1 13A Fri"这样的字符串.要将这些对象存储在数据库中,我希望将它们序列化为字符串.
这是我的DataMapper自定义类型代码.我有点从dm-types中的代码中剔除了想法,因为(令人失望的是)没有用于创建自定义类型的真实文档.对不起,很久了.
module DataMapper
class Property
class SchoolDay < DataMapper::Property::String
#load_as ::SchoolRecord::DomainObjects::SchoolDay
# Commented out: the 'load_as' method is not found
def load(value)
# Take a string from the database and load it. We need a calendar!
val = case value
when ::String then calendar.schoolday(value)
when ::SR::DO::SchoolDay then value
else
# fail
end
end
def dump(value)
# Store a SchoolDay value into the database as a string.
case value
when SR::DO::SchoolDay
sd = value
"Sem#{sd.semester} #{sd.weekstr} …Run Code Online (Sandbox Code Playgroud)