Sha256: 5190bd0e6428619a88c6eaf40f3fc13fbbd0b261eb2f1d273c02bd9357c6d226

Contents?: true

Size: 684 Bytes

Versions: 2

Compression:

Stored size: 684 Bytes

Contents

require 'anima'

class Scholar
  include Anima.new(:id, :name, :pinyin, :latinized, :works)
end

class Work
  include Anima.new(:id, :chinese_name, :english_name)
end

class LiteratureBaseMapper < Yaks::Mapper
  link :profile, 'http://literature.example.com/profiles/{mapper_name}'
  link :self, 'http://literature.example.com/{mapper_name}/{id}'
end

class ScholarMapper < LiteratureBaseMapper
  attributes :id, :name, :pinyin, :latinized
  has_many :works
  link :self, "http://literature.example.com/authors/{downcased_pinyin}"

  def downcased_pinyin
    object.pinyin.downcase
  end
end

class WorkMapper < LiteratureBaseMapper
  attributes :id, :chinese_name, :english_name
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
yaks-0.4.0 spec/acceptance/models.rb
yaks-0.4.0.rc1 spec/acceptance/models.rb