class Zotero::Entities::Entry
Attributes
creators[R]
kind[R]
Public Class Methods
new(data)
click to toggle source
# File lib/zotero/entities/entry.rb, line 30 def initialize(data) @key = data['key'] @kind = data['data']['itemType'].underscore @creators = generate_creators data['data']['creators'] ENTRY_ATTS.each do |att| instance_variable_set "@#{att}", data['data'][att.camelize(:lower)] end end
Public Instance Methods
creator_sort_string()
click to toggle source
# File lib/zotero/entities/entry.rb, line 52 def creator_sort_string @creator_sort_string ||= generate_creator_sort_string end
editors()
click to toggle source
# File lib/zotero/entities/entry.rb, line 44 def editors creators.select &:editor? end
to_h()
click to toggle source
# File lib/zotero/entities/entry.rb, line 56 def to_h ((ENTRY_ATTS + [:kind]).collect {|att| [att, send(att.to_sym)] } + [[:creators, creators.collect(&:to_h)]]).to_h.symbolize_keys end
translators()
click to toggle source
# File lib/zotero/entities/entry.rb, line 48 def translators creators.select &:translator? end
Private Instance Methods
generate_creator_sort_string()
click to toggle source
# File lib/zotero/entities/entry.rb, line 72 def generate_creator_sort_string creators.collect {|creator| "#{creator.last_name} #{creator.first_name}" }.join(' ') end
generate_creators(data)
click to toggle source
# File lib/zotero/entities/entry.rb, line 64 def generate_creators(data) return [] unless data data.collect do |creator_data| ::Zotero::Entities::Creator.new creator_data end end