Sha256: b07038f198aa1ca688644859bd367f74388e953742f72f1830ee294353436d15
Contents?: true
Size: 1.15 KB
Versions: 6
Compression:
Stored size: 1.15 KB
Contents
require 'anima' class Scholar include Anima.new(:id, :name, :pinyin, :latinized, :works) end class Work include Anima.new(:id, :chinese_name, :english_name, :quotes, :era) end class Quote include Anima.new(:id, :chinese, :english, :sources) end class Era include Anima.new(:id, :name) end class LiteratureBaseMapper < Yaks::Mapper link :profile, 'http://literature.example.com/profiles/{mapper_name}', expand: true link :self, 'http://literature.example.com/{mapper_name}/{id}' end class ScholarMapper < LiteratureBaseMapper attributes :id, :name, :pinyin, :latinized has_many :works link 'http://literature.example.com/rels/quotes', 'http://literature.example.com/quotes/?author={downcased_pinyin}&q={query}', expand: [:downcased_pinyin], title: 'Search for quotes' 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 has_many :quotes has_one :era end class QuoteMapper < Yaks::Mapper attributes :id, :chinese end class EraMapper < Yaks::Mapper attributes :id, :name end
Version data entries
6 entries across 6 versions & 2 rubygems