小编nos*_*dog的帖子

如何使(Ruby)DataMapper自定义类型工作?

我有一个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)

ruby datamapper

2
推荐指数
1
解决办法
820
查看次数

标签 统计

datamapper ×1

ruby ×1