class ONIX::ONIX21::Product
Attributes
default_currency_code[RW]
default code from ONIXMessage
default_language_of_text[RW]
default LanguageCode
from ONIXMessage
Public Instance Methods
availability_date()
click to toggle source
# File lib/onix/onix21.rb, line 427 def availability_date nil end
available?()
click to toggle source
# File lib/onix/onix21.rb, line 459 def available? @supply_details.select { |sd| sd.available? }.length > 0 end
available_for_country?(country)
click to toggle source
# File lib/onix/onix21.rb, line 463 def available_for_country?(country) self.supplies_for_country(country).select { |s| s[:available] }.length > 0 and self.available? end
bisac_categories_codes()
click to toggle source
# File lib/onix/onix21.rb, line 327 def bisac_categories_codes cats = [] if @basic_main_subject cats << @basic_main_subject end cats += (@main_subjects + @subjects).select { |s| s.scheme_identifier.human == "BisacSubjectHeading" }.map { |s| s.code } cats end
bundle?()
click to toggle source
doesn't apply
# File lib/onix/onix21.rb, line 451 def bundle? false end
clil_categories_codes()
click to toggle source
# File lib/onix/onix21.rb, line 336 def clil_categories_codes (@main_subjects + @subjects).select { |s| s.scheme_identifier.human == "Clil" }.map { |s| s.code } end
countries()
click to toggle source
# File lib/onix/onix21.rb, line 410 def countries territory = Territory.new(CountryCode.list) @sales_rights.each do |sr| if sr.not_for_sale? territory = territory - sr.territory else territory = territory + sr.territory end end @not_for_sales.each do |sr| territory = territory - sr.territory end territory.countries end
description()
click to toggle source
# File lib/onix/onix21.rb, line 389 def description desc_contents = @other_texts.select { |tc| tc.type.human == "MainDescription" } + @other_texts.select { |tc| tc.type.human == "LongDescription" } + @other_texts.select { |tc| tc.type.human == "ShortDescriptionannotation" } if desc_contents.length > 0 desc_contents.first.text else nil end end
digital?()
click to toggle source
# File lib/onix/onix21.rb, line 455 def digital? @product_form == "DG" end
distributor_name()
click to toggle source
# File lib/onix/onix21.rb, line 477 def distributor_name nil end
edition_number()
click to toggle source
# File lib/onix/onix21.rb, line 473 def edition_number @edition_number end
embargo_date()
click to toggle source
# File lib/onix/onix21.rb, line 431 def embargo_date nil end
epub_sample_url()
click to toggle source
# File lib/onix/onix21.rb, line 517 def epub_sample_url nil end
file_description()
click to toggle source
# File lib/onix/onix21.rb, line 499 def file_description @epub_type_description end
file_format()
click to toggle source
# File lib/onix/onix21.rb, line 495 def file_format @epub_type.human end
filesize()
click to toggle source
doesn't apply
# File lib/onix/onix21.rb, line 508 def filesize nil end
frontcover_url()
click to toggle source
# File lib/onix/onix21.rb, line 481 def frontcover_url fc = @media_files.select { |mf| mf.media_file_type_code.human == "ImageFrontCover" && mf.media_file_link_type_code.human == "Url" } if fc.length > 0 fc.first.link else nil end end
imprint_name()
click to toggle source
# File lib/onix/onix21.rb, line 378 def imprint_name if @imprints.first @imprints.first.name end end
keywords()
click to toggle source
# File lib/onix/onix21.rb, line 340 def keywords kws = (@main_subjects + @subjects).select { |s| s.scheme_identifier.human == "Keywords" }.map { |kw| kw.heading_text }.compact kws.map { |kw| kw.split(/;|,|\n/) }.flatten.map { |kw| kw.strip } end
language_code_of_text()
click to toggle source
# File lib/onix/onix21.rb, line 360 def language_code_of_text if self.language_of_text self.language_of_text.code end end
language_name_of_text()
click to toggle source
# File lib/onix/onix21.rb, line 366 def language_name_of_text if self.language_of_text self.language_of_text.human end end
language_of_text()
click to toggle source
product LanguageCode
of text
# File lib/onix/onix21.rb, line 351 def language_of_text lang = nil l = @languages.select { |l| l.role.human == "LanguageOfText" }.first if l lang = l.code end lang || @default_language_of_text end
method_missing(method)
click to toggle source
@!endgroup
# File lib/onix/onix21.rb, line 536 def method_missing(method) raise "WARN #{method} not found" end
onix_outlets_values()
click to toggle source
doesn't apply
# File lib/onix/onix21.rb, line 346 def onix_outlets_values [] end
pages()
click to toggle source
# File lib/onix/onix21.rb, line 467 def pages if @number_of_pages @number_of_pages.to_i end end
paper_linking()
click to toggle source
DEPRECATED see print_product
instead
# File lib/onix/onix21.rb, line 526 def paper_linking self.print_product end
parts()
click to toggle source
doesn't apply
# File lib/onix/onix21.rb, line 446 def parts [] end
preorder_embargo_date()
click to toggle source
# File lib/onix/onix21.rb, line 435 def preorder_embargo_date nil end
print_product()
click to toggle source
# File lib/onix/onix21.rb, line 521 def print_product @related_products.select { |rp| rp.code == "13" }.first end
product_supplies()
click to toggle source
# File lib/onix/onix21.rb, line 406 def product_supplies [self] end
product_title()
click to toggle source
# File lib/onix/onix21.rb, line 323 def product_title @titles.select { |td| td.type.human =~ /DistinctiveTitle/ }.first end
protection_type()
click to toggle source
doesn't apply
# File lib/onix/onix21.rb, line 513 def protection_type nil end
public_announcement_date()
click to toggle source
# File lib/onix/onix21.rb, line 439 def public_announcement_date nil end
publisher_collection_title()
click to toggle source
TODO
# File lib/onix/onix21.rb, line 491 def publisher_collection_title nil end
publisher_gln()
click to toggle source
# File lib/onix/onix21.rb, line 530 def publisher_gln nil end
publisher_name()
click to toggle source
# File lib/onix/onix21.rb, line 372 def publisher_name if @publishers.first @publishers.first.name end end
raw_description()
click to toggle source
# File lib/onix/onix21.rb, line 398 def raw_description if self.description Helper.strip_html(self.description).gsub(/\s+/, " ").strip else nil end end
raw_file_description()
click to toggle source
# File lib/onix/onix21.rb, line 503 def raw_file_description file_description end
sold_separately?()
click to toggle source
doesn't apply
# File lib/onix/onix21.rb, line 385 def sold_separately? true end
subtitle()
click to toggle source
product subtitle string
# File lib/onix/onix21.rb, line 319 def subtitle product_title.subtitle end
title()
click to toggle source
@!group High level
# File lib/onix/onix21.rb, line 314 def title product_title.title end