Class: ONIX::PublishingDetail

Inherits:
SubsetDSL show all
Defined in:
lib/onix/publishing_detail.rb

Instance Attribute Summary

Attributes included from Attributes

#attributes

High level collapse

Shortcuts collapse

Low level collapse

Methods inherited from SubsetDSL

element, elements, #get_class, get_class, inherited, #initialize, n, #parse, ref_to_short, register_elements, register_scopes, #register_subset_array, registered_elements, #registered_elements, registered_scopes, scope, short_to_ref

Methods inherited from Subset

parse, #parse, #tag_match, #unsupported

Methods included from Attributes

attribute_class, #parse_attributes, #serialized_attributes

Constructor Details

This class inherits a constructor from ONIX::SubsetDSL

Instance Method Details

#cityString

shortcut for #city_of_publication

Returns:

  • (String)


10
# File 'lib/onix/publishing_detail.rb', line 10

element "CityOfPublication", :text, :shortcut => :city, :cardinality => 0..n

#city_of_publicationString

Returns:

  • (String)


10
# File 'lib/onix/publishing_detail.rb', line 10

element "CityOfPublication", :text, :shortcut => :city, :cardinality => 0..n

Returns:



17
# File 'lib/onix/publishing_detail.rb', line 17

elements "CopyrightStatement", :subset, :cardinality => 0..n

#countryString

Returns:

  • (String)


11
# File 'lib/onix/publishing_detail.rb', line 11

element "CountryOfPublication", :text, :shortcut => :country, :cardinality => 0..1

#country_of_publicationString

Returns:

  • (String)


11
# File 'lib/onix/publishing_detail.rb', line 11

element "CountryOfPublication", :text, :shortcut => :country, :cardinality => 0..1

#embargo_dateDate

date of embargo

Returns:

  • (Date)


57
58
59
60
61
62
# File 'lib/onix/publishing_detail.rb', line 57

def embargo_date
  pub = @publishing_dates.embargo.first
  if pub
    pub.date
  end
end

#imprintImprint

Returns:



36
37
38
39
40
41
42
43
44
# File 'lib/onix/publishing_detail.rb', line 36

def imprint
  if @imprints.length > 0
    if @imprints.length == 1
      @imprints.first
    else
      raise ExpectsOneButHasSeveral, @imprints.map(&:name)
    end
  end
end

#imprintsArray<Imprint>

Returns:



8
# File 'lib/onix/publishing_detail.rb', line 8

elements "Imprint", :subset, :cardinality => 0..n

#latest_reprint_numberInteger

Returns:

  • (Integer)


16
# File 'lib/onix/publishing_detail.rb', line 16

element "LatestReprintNumber", :integer, :cardinality => 0..1

#preorder_embargo_dateDate

Returns:

  • (Date)


65
66
67
68
69
70
# File 'lib/onix/publishing_detail.rb', line 65

def preorder_embargo_date
  pub = @publishing_dates.preorder_embargo.first
  if pub
    pub.date
  end
end

#product_contactsArray<ProductContact>

Returns:



12
# File 'lib/onix/publishing_detail.rb', line 12

elements "ProductContact", :subset, :cardinality => 0..n

#public_announcement_dateDate

Returns:

  • (Date)


73
74
75
76
77
78
# File 'lib/onix/publishing_detail.rb', line 73

def public_announcement_date
  pub = @publishing_dates.public_announcement.first
  if pub
    pub.date
  end
end

#publication_dateDate

date of publication

Returns:

  • (Date)


48
49
50
51
52
53
# File 'lib/onix/publishing_detail.rb', line 48

def publication_date
  pub = @publishing_dates.publication.first
  if pub
    pub.date
  end
end

#publisherPublisher

Returns:



25
26
27
28
29
30
31
32
33
# File 'lib/onix/publishing_detail.rb', line 25

def publisher
  main_publishers = @publishers.select { |p| p.role.human == "Publisher" }
  return nil if main_publishers.empty?
  if main_publishers.length == 1
    main_publishers.first
  else
    raise ExpectsOneButHasSeveral, main_publishers.map(&:name)
  end
end

#publishersArray<Publisher>

Returns:



9
# File 'lib/onix/publishing_detail.rb', line 9

elements "Publisher", :subset, :cardinality => 0..n

#publishing_datesArray<PublishingDate>

Returns:



15
# File 'lib/onix/publishing_detail.rb', line 15

elements "PublishingDate", :subset, :cardinality => 0..n

#publishing_statusPublishingStatus

Returns:



13
# File 'lib/onix/publishing_detail.rb', line 13

element "PublishingStatus", :subset, :shortcut => :status, :cardinality => 0..1

#publishing_status_notesArray<String>

Returns:

  • (Array<String>)


14
# File 'lib/onix/publishing_detail.rb', line 14

elements "PublishingStatusNote", :text, :cardinality => 0..n

#row_sales_rights_typeROWSalesRightsType

Returns:

  • (ROWSalesRightsType)


19
# File 'lib/onix/publishing_detail.rb', line 19

element "ROWSalesRightsType", :subset, :klass => "SalesRightsType", :cardinality => 0..1

#sales_restrictionSalesRestriction

Returns:



20
# File 'lib/onix/publishing_detail.rb', line 20

element "SalesRestriction", :subset, :cardinality => 0..n

#sales_rightssArray<SalesRights>

Returns:



18
# File 'lib/onix/publishing_detail.rb', line 18

elements "SalesRights", :subset, :pluralize => false, :cardinality => 0..n

#statusPublishingStatus

shortcut for #publishing_status

Returns:



13
# File 'lib/onix/publishing_detail.rb', line 13

element "PublishingStatus", :subset, :shortcut => :status, :cardinality => 0..1