im_onix 1.1.1 → 1.3.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/Gemfile +1 -6
- data/README.md +1 -1
- data/bin/html_codelist_to_yml.rb +10 -6
- data/bin/onix_bench.rb +25 -4
- data/bin/onix_pp.rb +26 -26
- data/bin/onix_serialize.rb +12 -16
- data/data/codelists/codelist-1.yml +4 -5
- data/data/codelists/codelist-10.yml +13 -11
- data/data/codelists/codelist-100.yml +1 -0
- data/data/codelists/codelist-102.yml +3 -2
- data/data/codelists/codelist-11.yml +2 -2
- data/data/codelists/codelist-12.yml +8 -3
- data/data/codelists/codelist-121.yml +46 -17
- data/data/codelists/codelist-13.yml +3 -0
- data/data/codelists/codelist-139.yml +83 -9
- data/data/codelists/codelist-141.yml +4 -4
- data/data/codelists/codelist-142.yml +2 -2
- data/data/codelists/codelist-143.yml +11 -0
- data/data/codelists/codelist-144.yml +2 -2
- data/data/codelists/codelist-145.yml +4 -1
- data/data/codelists/codelist-147.yml +18 -2
- data/data/codelists/codelist-149.yml +1 -0
- data/data/codelists/codelist-15.yml +2 -1
- data/data/codelists/codelist-150.yml +46 -26
- data/data/codelists/codelist-151.yml +4 -1
- data/data/codelists/codelist-153.yml +19 -4
- data/data/codelists/codelist-154.yml +4 -2
- data/data/codelists/codelist-155.yml +3 -1
- data/data/codelists/codelist-156.yml +1 -0
- data/data/codelists/codelist-158.yml +18 -0
- data/data/codelists/codelist-159.yml +1 -1
- data/data/codelists/codelist-16.yml +3 -0
- data/data/codelists/codelist-160.yml +2 -0
- data/data/codelists/codelist-162.yml +2 -0
- data/data/codelists/codelist-163.yml +8 -3
- data/data/codelists/codelist-165.yml +3 -0
- data/data/codelists/codelist-166.yml +7 -2
- data/data/codelists/codelist-167.yml +6 -0
- data/data/codelists/codelist-168.yml +1 -0
- data/data/codelists/codelist-169.yml +2 -2
- data/data/codelists/codelist-17.yml +20 -2
- data/data/codelists/codelist-170.yml +5 -1
- data/data/codelists/codelist-171.yml +1 -0
- data/data/codelists/codelist-173.yml +1 -1
- data/data/codelists/codelist-175.yml +113 -35
- data/data/codelists/codelist-176.yml +2 -2
- data/data/codelists/codelist-177.yml +1 -0
- data/data/codelists/codelist-178.yml +6 -0
- data/data/codelists/codelist-179.yml +1 -0
- data/data/codelists/codelist-18.yml +3 -1
- data/data/codelists/codelist-184.yml +1 -0
- data/data/codelists/codelist-19.yml +5 -4
- data/data/codelists/codelist-196.yml +16 -4
- data/data/codelists/codelist-197.yml +2 -0
- data/data/codelists/codelist-198.yml +7 -0
- data/data/codelists/codelist-2.yml +6 -6
- data/data/codelists/codelist-20.yml +10 -1
- data/data/codelists/codelist-203.yml +1 -1
- data/data/codelists/codelist-204.yml +4 -0
- data/data/codelists/codelist-21.yml +24 -19
- data/data/codelists/codelist-215.yml +9 -0
- data/data/codelists/codelist-216.yml +11 -0
- data/data/codelists/codelist-217.yml +9 -0
- data/data/codelists/codelist-218.yml +5 -0
- data/data/codelists/codelist-219.yml +5 -0
- data/data/codelists/codelist-22.yml +5 -4
- data/data/codelists/codelist-220.yml +10 -0
- data/data/codelists/codelist-221.yml +6 -0
- data/data/codelists/codelist-222.yml +4 -0
- data/data/codelists/codelist-223.yml +4 -0
- data/data/codelists/codelist-224.yml +8 -0
- data/data/codelists/codelist-225.yml +4 -0
- data/data/codelists/codelist-226.yml +7 -0
- data/data/codelists/codelist-227.yml +21 -0
- data/data/codelists/codelist-228.yml +3 -0
- data/data/codelists/codelist-229.yml +5 -0
- data/data/codelists/codelist-23.yml +5 -3
- data/data/codelists/codelist-230.yml +8 -0
- data/data/codelists/codelist-238.yml +23 -0
- data/data/codelists/codelist-239.yml +4 -0
- data/data/codelists/codelist-24.yml +3 -0
- data/data/codelists/codelist-240.yml +6 -0
- data/data/codelists/codelist-241.yml +9 -0
- data/data/codelists/codelist-242.yml +24 -0
- data/data/codelists/codelist-243.yml +9 -0
- data/data/codelists/codelist-244.yml +3 -0
- data/data/codelists/codelist-245.yml +5 -0
- data/data/codelists/codelist-246.yml +4 -0
- data/data/codelists/codelist-247.yml +4 -0
- data/data/codelists/codelist-25.yml +4 -2
- data/data/codelists/codelist-26.yml +28 -18
- data/data/codelists/codelist-27.yml +35 -19
- data/data/codelists/codelist-28.yml +2 -1
- data/data/codelists/codelist-29.yml +8 -3
- data/data/codelists/codelist-3.yml +5 -2
- data/data/codelists/codelist-30.yml +6 -2
- data/data/codelists/codelist-32.yml +7 -0
- data/data/codelists/codelist-33.yml +6 -2
- data/data/codelists/codelist-34.yml +0 -11
- data/data/codelists/codelist-38.yml +1 -1
- data/data/codelists/codelist-39.yml +2 -2
- data/data/codelists/codelist-41.yml +4 -3
- data/data/codelists/codelist-42.yml +0 -12
- data/data/codelists/codelist-43.yml +3 -1
- data/data/codelists/codelist-44.yml +16 -3
- data/data/codelists/codelist-45.yml +8 -3
- data/data/codelists/codelist-46.yml +4 -4
- data/data/codelists/codelist-48.yml +20 -2
- data/data/codelists/codelist-49.yml +268 -1
- data/data/codelists/codelist-5.yml +6 -3
- data/data/codelists/codelist-51.yml +11 -5
- data/data/codelists/codelist-55.yml +2 -2
- data/data/codelists/codelist-57.yml +1 -0
- data/data/codelists/codelist-58.yml +14 -12
- data/data/codelists/codelist-59.yml +10 -1
- data/data/codelists/codelist-6.yml +39 -39
- data/data/codelists/codelist-60.yml +1 -1
- data/data/codelists/codelist-62.yml +2 -1
- data/data/codelists/codelist-64.yml +3 -2
- data/data/codelists/codelist-65.yml +1 -0
- data/data/codelists/codelist-68.yml +2 -2
- data/data/codelists/codelist-69.yml +2 -2
- data/data/codelists/codelist-7.yml +21 -17
- data/data/codelists/codelist-71.yml +16 -6
- data/data/codelists/codelist-73.yml +7 -5
- data/data/codelists/codelist-74.yml +59 -31
- data/data/codelists/codelist-75.yml +1 -1
- data/data/codelists/codelist-76.yml +3 -3
- data/data/codelists/codelist-78.yml +52 -26
- data/data/codelists/codelist-79.yml +16 -7
- data/data/codelists/codelist-8.yml +3 -3
- data/data/codelists/codelist-80.yml +6 -5
- data/data/codelists/codelist-81.yml +8 -5
- data/data/codelists/codelist-83.yml +3 -2
- data/data/codelists/codelist-85.yml +1 -1
- data/data/codelists/codelist-9.yml +7 -3
- data/data/codelists/codelist-90.yml +2 -2
- data/data/codelists/codelist-91.yml +11 -11
- data/data/codelists/codelist-92.yml +1 -1
- data/data/codelists/codelist-93.yml +9 -6
- data/data/codelists/codelist-96.yml +45 -40
- data/data/codelists/codelist-98.yml +6 -3
- data/data/codelists/codelist-99.yml +8 -5
- data/data/onix21/codelists/codelist-1.yml +2 -2
- data/data/onix21/codelists/codelist-10.yml +12 -12
- data/data/onix21/codelists/codelist-11.yml +2 -2
- data/data/onix21/codelists/codelist-12.yml +3 -3
- data/data/onix21/codelists/codelist-121.yml +9 -9
- data/data/onix21/codelists/codelist-13.yml +1 -1
- data/data/onix21/codelists/codelist-139.yml +6 -6
- data/data/onix21/codelists/codelist-141.yml +4 -4
- data/data/onix21/codelists/codelist-142.yml +2 -2
- data/data/onix21/codelists/codelist-145.yml +2 -2
- data/data/onix21/codelists/codelist-147.yml +2 -2
- data/data/onix21/codelists/codelist-148.yml +1 -1
- data/data/onix21/codelists/codelist-149.yml +1 -1
- data/data/onix21/codelists/codelist-15.yml +1 -1
- data/data/onix21/codelists/codelist-150.yml +23 -23
- data/data/onix21/codelists/codelist-151.yml +1 -1
- data/data/onix21/codelists/codelist-153.yml +3 -3
- data/data/onix21/codelists/codelist-154.yml +2 -2
- data/data/onix21/codelists/codelist-155.yml +1 -1
- data/data/onix21/codelists/codelist-158.yml +2 -2
- data/data/onix21/codelists/codelist-159.yml +1 -1
- data/data/onix21/codelists/codelist-163.yml +2 -2
- data/data/onix21/codelists/codelist-166.yml +1 -1
- data/data/onix21/codelists/codelist-169.yml +2 -2
- data/data/onix21/codelists/codelist-17.yml +2 -2
- data/data/onix21/codelists/codelist-173.yml +1 -1
- data/data/onix21/codelists/codelist-175.yml +23 -23
- data/data/onix21/codelists/codelist-176.yml +2 -2
- data/data/onix21/codelists/codelist-18.yml +1 -1
- data/data/onix21/codelists/codelist-196.yml +4 -4
- data/data/onix21/codelists/codelist-2.yml +6 -6
- data/data/onix21/codelists/codelist-203.yml +1 -1
- data/data/onix21/codelists/codelist-21.yml +1 -1
- data/data/onix21/codelists/codelist-216.yml +2 -2
- data/data/onix21/codelists/codelist-218.yml +1 -1
- data/data/onix21/codelists/codelist-22.yml +3 -3
- data/data/onix21/codelists/codelist-23.yml +2 -2
- data/data/onix21/codelists/codelist-25.yml +2 -2
- data/data/onix21/codelists/codelist-26.yml +18 -18
- data/data/onix21/codelists/codelist-27.yml +18 -18
- data/data/onix21/codelists/codelist-28.yml +1 -1
- data/data/onix21/codelists/codelist-29.yml +3 -3
- data/data/onix21/codelists/codelist-3.yml +2 -2
- data/data/onix21/codelists/codelist-30.yml +1 -1
- data/data/onix21/codelists/codelist-32.yml +1 -1
- data/data/onix21/codelists/codelist-33.yml +2 -2
- data/data/onix21/codelists/codelist-34.yml +2 -2
- data/data/onix21/codelists/codelist-38.yml +1 -1
- data/data/onix21/codelists/codelist-39.yml +2 -2
- data/data/onix21/codelists/codelist-41.yml +3 -3
- data/data/onix21/codelists/codelist-43.yml +1 -1
- data/data/onix21/codelists/codelist-44.yml +2 -2
- data/data/onix21/codelists/codelist-45.yml +4 -4
- data/data/onix21/codelists/codelist-46.yml +3 -3
- data/data/onix21/codelists/codelist-48.yml +2 -2
- data/data/onix21/codelists/codelist-49.yml +12 -12
- data/data/onix21/codelists/codelist-5.yml +3 -3
- data/data/onix21/codelists/codelist-51.yml +3 -3
- data/data/onix21/codelists/codelist-55.yml +2 -2
- data/data/onix21/codelists/codelist-58.yml +10 -10
- data/data/onix21/codelists/codelist-59.yml +2 -2
- data/data/onix21/codelists/codelist-6.yml +36 -36
- data/data/onix21/codelists/codelist-60.yml +1 -1
- data/data/onix21/codelists/codelist-62.yml +1 -1
- data/data/onix21/codelists/codelist-64.yml +2 -2
- data/data/onix21/codelists/codelist-68.yml +2 -2
- data/data/onix21/codelists/codelist-69.yml +2 -2
- data/data/onix21/codelists/codelist-7.yml +17 -17
- data/data/onix21/codelists/codelist-71.yml +2 -2
- data/data/onix21/codelists/codelist-73.yml +5 -5
- data/data/onix21/codelists/codelist-74.yml +28 -28
- data/data/onix21/codelists/codelist-75.yml +1 -1
- data/data/onix21/codelists/codelist-76.yml +3 -3
- data/data/onix21/codelists/codelist-78.yml +24 -24
- data/data/onix21/codelists/codelist-79.yml +6 -6
- data/data/onix21/codelists/codelist-8.yml +3 -3
- data/data/onix21/codelists/codelist-80.yml +5 -5
- data/data/onix21/codelists/codelist-81.yml +4 -4
- data/data/onix21/codelists/codelist-83.yml +2 -2
- data/data/onix21/codelists/codelist-85.yml +1 -1
- data/data/onix21/codelists/codelist-9.yml +3 -3
- data/data/onix21/codelists/codelist-90.yml +2 -2
- data/data/onix21/codelists/codelist-91.yml +6 -6
- data/data/onix21/codelists/codelist-92.yml +1 -1
- data/data/onix21/codelists/codelist-93.yml +6 -6
- data/data/onix21/codelists/codelist-96.yml +1 -1
- data/data/onix21/codelists/codelist-98.yml +2 -2
- data/data/onix21/codelists/codelist-99.yml +4 -4
- data/doc-src/handlers.rb +32 -2
- data/im_onix.gemspec +3 -1
- data/lib/onix/addressee.rb +5 -3
- data/lib/onix/ancillary_content.rb +7 -0
- data/lib/onix/audience.rb +7 -0
- data/lib/onix/audience_range.rb +10 -0
- data/lib/onix/barcode.rb +6 -0
- data/lib/onix/builder.rb +197 -0
- data/lib/onix/cited_content.rb +15 -0
- data/lib/onix/code.rb +322 -42
- data/lib/onix/collateral_detail.rb +9 -13
- data/lib/onix/collection.rb +14 -4
- data/lib/onix/collection_sequence.rb +3 -3
- data/lib/onix/comparison_product_price.rb +17 -0
- data/lib/onix/complexity.rb +6 -0
- data/lib/onix/content_detail.rb +7 -0
- data/lib/onix/content_item.rb +38 -0
- data/lib/onix/contributor.rb +56 -34
- data/lib/onix/contributor_place.rb +12 -0
- data/lib/onix/copyright_statement.rb +8 -0
- data/lib/onix/date.rb +107 -56
- data/lib/onix/descriptive_detail.rb +98 -49
- data/lib/onix/discount.rb +9 -0
- data/lib/onix/discount_coded.rb +3 -3
- data/lib/onix/entity.rb +22 -37
- data/lib/onix/epub_license.rb +8 -0
- data/lib/onix/epub_license_expression.rb +7 -0
- data/lib/onix/epub_usage_constraint.rb +5 -3
- data/lib/onix/epub_usage_limit.rb +2 -2
- data/lib/onix/error.rb +2 -0
- data/lib/onix/extent.rb +4 -3
- data/lib/onix/header.rb +17 -0
- data/lib/onix/helper.rb +3 -12
- data/lib/onix/identifier.rb +81 -57
- data/lib/onix/language.rb +5 -2
- data/lib/onix/market.rb +2 -1
- data/lib/onix/market_publishing_detail.rb +14 -3
- data/lib/onix/measure.rb +7 -0
- data/lib/onix/onix21.rb +26 -24
- data/lib/onix/onix_message.rb +40 -48
- data/lib/onix/page_run.rb +6 -0
- data/lib/onix/price.rb +44 -11
- data/lib/onix/prize.rb +11 -0
- data/lib/onix/product.rb +45 -17
- data/lib/onix/product_classification.rb +8 -0
- data/lib/onix/product_contact.rb +11 -0
- data/lib/onix/product_part.rb +25 -10
- data/lib/onix/{product_supplies_extractor.rb → product_supplies_methods.rb} +3 -3
- data/lib/onix/product_supply.rb +4 -3
- data/lib/onix/professional_affiliation.rb +6 -0
- data/lib/onix/publisher_representative.rb +11 -0
- data/lib/onix/publishing_detail.rb +22 -9
- data/lib/onix/related_material.rb +6 -2
- data/lib/onix/related_product.rb +14 -6
- data/lib/onix/related_work.rb +5 -3
- data/lib/onix/resource_feature.rb +9 -0
- data/lib/onix/resource_version.rb +85 -0
- data/lib/onix/resource_version_feature.rb +22 -0
- data/lib/onix/returns_conditions.rb +8 -0
- data/lib/onix/review_rating.rb +7 -0
- data/lib/onix/sales_outlet.rb +12 -2
- data/lib/onix/sales_restriction.rb +7 -16
- data/lib/onix/sales_rights.rb +6 -3
- data/lib/onix/sender.rb +5 -5
- data/lib/onix/serializer.rb +131 -87
- data/lib/onix/subject.rb +11 -6
- data/lib/onix/subset.rb +255 -104
- data/lib/onix/supplier_own_coding.rb +7 -0
- data/lib/onix/supply_contact.rb +9 -0
- data/lib/onix/supply_detail.rb +28 -5
- data/lib/onix/supporting_resource.rb +10 -113
- data/lib/onix/tax.rb +11 -5
- data/lib/onix/territory.rb +8 -4
- data/lib/onix/text_content.rb +13 -0
- data/lib/onix/text_item.rb +12 -0
- data/lib/onix/title_detail.rb +4 -3
- data/lib/onix/title_element.rb +16 -13
- data/lib/onix/website.rb +4 -3
- metadata +89 -3
data/lib/onix/tax.rb
CHANGED
@@ -1,14 +1,20 @@
|
|
1
1
|
module ONIX
|
2
2
|
class Tax < SubsetDSL
|
3
|
-
|
4
|
-
|
5
|
-
element "
|
3
|
+
elements "ProductIdentifier", :subset, :cardinality => 0..n
|
4
|
+
elements "PricePartDescription", :text, :cardinality => 0..n
|
5
|
+
element "TaxType", :subset, :cardinality => 0..1
|
6
|
+
element "TaxRateCode", :subset, :shortcut => :rate_code, :cardinality => 0..1
|
7
|
+
element "TaxRatePercent", :float, :shortcut => :rate_percent, :cardinality => 0..1
|
6
8
|
element "TaxableAmount", :float, {
|
7
|
-
:parse_lambda => lambda { |v| (v * 100).round }
|
9
|
+
:parse_lambda => lambda { |v| (v * 100).round },
|
10
|
+
:serialize_lambda => lambda { |v| format("%.2f", v / 100.0) },
|
11
|
+
:cardinality => 0..1
|
8
12
|
}
|
9
13
|
element "TaxAmount", :float, {
|
10
14
|
:shortcut => :amount,
|
11
|
-
:parse_lambda => lambda { |v| (v * 100).round }
|
15
|
+
:parse_lambda => lambda { |v| (v * 100).round },
|
16
|
+
:serialize_lambda => lambda { |v| format("%.2f", v / 100.0) },
|
17
|
+
:cardinality => 0..1
|
12
18
|
}
|
13
19
|
end
|
14
20
|
end
|
data/lib/onix/territory.rb
CHANGED
@@ -1,10 +1,10 @@
|
|
1
1
|
require 'onix/code'
|
2
2
|
module ONIX
|
3
3
|
class Territory < SubsetDSL
|
4
|
-
element "CountriesIncluded", :text
|
5
|
-
element "RegionsIncluded", :text
|
6
|
-
element "CountriesExcluded", :text
|
7
|
-
element "RegionsExcluded", :text
|
4
|
+
element "CountriesIncluded", :text, :cardinality => 0..1
|
5
|
+
element "RegionsIncluded", :text, :cardinality => 0..1
|
6
|
+
element "CountriesExcluded", :text, :cardinality => 0..1
|
7
|
+
element "RegionsExcluded", :text, :cardinality => 0..1
|
8
8
|
|
9
9
|
# @!group High level
|
10
10
|
|
@@ -33,6 +33,7 @@ module ONIX
|
|
33
33
|
self.class.worldwide?(self.countries)
|
34
34
|
end
|
35
35
|
|
36
|
+
# @param [Array<String>] v
|
36
37
|
def countries= v
|
37
38
|
if (v.uniq & CountryCode.list).length == CountryCode.list.length
|
38
39
|
@regions_included = "WORLD"
|
@@ -43,6 +44,8 @@ module ONIX
|
|
43
44
|
|
44
45
|
# !@endgroup
|
45
46
|
|
47
|
+
# @param [String] region
|
48
|
+
# @return [Array<String>]
|
46
49
|
def self.region_to_countries(region)
|
47
50
|
case region
|
48
51
|
when "WORLD"
|
@@ -55,6 +58,7 @@ module ONIX
|
|
55
58
|
end
|
56
59
|
end
|
57
60
|
|
61
|
+
# @return [Boolean]
|
58
62
|
def self.worldwide?(countries)
|
59
63
|
(countries & CountryCode.list).length == CountryCode.list.length
|
60
64
|
end
|
@@ -0,0 +1,13 @@
|
|
1
|
+
module ONIX
|
2
|
+
class TextContent < SubsetDSL
|
3
|
+
element "TextType", :subset, :shortcut => :type, :cardinality => 1
|
4
|
+
element "ContentAudience", :subset, :cardinality => 1..n
|
5
|
+
element "Text", :text, :cardinality => 1..n
|
6
|
+
element "TextAuthor", :text, :cardinality => 0..n
|
7
|
+
element "TextSourceCorporate", :text, :cardinality => 0..1
|
8
|
+
element "SourceTitle", :text, :cardinality => 0..n
|
9
|
+
|
10
|
+
scope :description, lambda { human_code_match(:text_type, "Description") }
|
11
|
+
scope :short_description, lambda { human_code_match(:text_type, "ShortDescriptionannotation") }
|
12
|
+
end
|
13
|
+
end
|
@@ -0,0 +1,12 @@
|
|
1
|
+
require 'onix/code'
|
2
|
+
require 'onix/identifier'
|
3
|
+
require 'onix/page_run'
|
4
|
+
|
5
|
+
module ONIX
|
6
|
+
class TextItem < SubsetDSL
|
7
|
+
element "TextItemType", :subset, :cardinality => 1
|
8
|
+
elements "TextItemIdentifier", :subset, :cardinality => 0..n
|
9
|
+
elements "PageRun", :subset, :cardinality => 0..n
|
10
|
+
element "NumberOfPages", :integer, :cardinality => 0..1
|
11
|
+
end
|
12
|
+
end
|
data/lib/onix/title_detail.rb
CHANGED
@@ -2,14 +2,15 @@ require 'onix/title_element'
|
|
2
2
|
|
3
3
|
module ONIX
|
4
4
|
class TitleDetail < SubsetDSL
|
5
|
-
element "TitleType", :subset, :shortcut => :type
|
6
|
-
elements "TitleElement", :subset
|
7
|
-
element "TitleStatement", :text
|
5
|
+
element "TitleType", :subset, :shortcut => :type, :cardinality => 1
|
6
|
+
elements "TitleElement", :subset, :cardinality => 1..n
|
7
|
+
element "TitleStatement", :text, :cardinality => 0..1
|
8
8
|
|
9
9
|
scope :distinctive_title, lambda { human_code_match(:title_type, /DistinctiveTitle/) }
|
10
10
|
|
11
11
|
# :category: High level
|
12
12
|
# flatten title string
|
13
|
+
# @return [String]
|
13
14
|
def title
|
14
15
|
return title_statement if title_statement
|
15
16
|
|
data/lib/onix/title_element.rb
CHANGED
@@ -1,27 +1,30 @@
|
|
1
1
|
module ONIX
|
2
2
|
class TitleElement < SubsetDSL
|
3
|
-
element "
|
4
|
-
element "
|
5
|
-
element "
|
6
|
-
element "
|
7
|
-
element "
|
8
|
-
element "
|
9
|
-
element "
|
3
|
+
element "SequenceNumber", :integer, :cardinality => 0..1
|
4
|
+
element "TitleElementLevel", :subset, :shortcut => :level, :cardinality => 1
|
5
|
+
element "PartNumber", :text, :cardinality => 0..1
|
6
|
+
element "YearOfAnnual", :text, :cardinality => 0..1
|
7
|
+
element "TitleText", :text, :cardinality => 0..1
|
8
|
+
element "TitlePrefix", :text, :cardinality => 0..1
|
9
|
+
element "NoPrefix", :bool, :cardinality => 0..1
|
10
|
+
element "TitleWithoutPrefix", :text, :cardinality => 0..1
|
11
|
+
element "Subtitle", :text, :cardinality => 0..1
|
10
12
|
|
11
13
|
scope :product_level, lambda { human_code_match(:title_element_level, /Product/) }
|
12
14
|
scope :collection_level, lambda { human_code_match(:title_element_level, /collection/i) }
|
13
15
|
|
14
16
|
# @!group High level
|
15
17
|
# flatten title string
|
18
|
+
# @return [String]
|
16
19
|
def title
|
17
|
-
if
|
18
|
-
|
20
|
+
if title_text
|
21
|
+
title_text
|
19
22
|
else
|
20
|
-
if
|
21
|
-
if
|
22
|
-
"#{
|
23
|
+
if title_without_prefix
|
24
|
+
if title_prefix
|
25
|
+
"#{title_prefix} #{title_without_prefix}"
|
23
26
|
else
|
24
|
-
|
27
|
+
title_without_prefix
|
25
28
|
end
|
26
29
|
end
|
27
30
|
end
|
data/lib/onix/website.rb
CHANGED
@@ -1,8 +1,9 @@
|
|
1
1
|
require 'onix/code'
|
2
|
+
|
2
3
|
module ONIX
|
3
4
|
class Website < SubsetDSL
|
4
|
-
element "WebsiteRole", :subset, :shortcut => :role
|
5
|
-
element "
|
6
|
-
element "
|
5
|
+
element "WebsiteRole", :subset, :shortcut => :role, :cardinality => 0..1
|
6
|
+
element "WebsiteDescription", :text, :shortcut => :description, :cardinality => 0..n
|
7
|
+
element "WebsiteLink", :text, :shortcut => :link, :cardinality => 1..n
|
7
8
|
end
|
8
9
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: im_onix
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.
|
4
|
+
version: 1.3.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Julien Boulnois
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2022-03-10 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -80,6 +80,34 @@ dependencies:
|
|
80
80
|
- - ">="
|
81
81
|
- !ruby/object:Gem::Version
|
82
82
|
version: '0'
|
83
|
+
- !ruby/object:Gem::Dependency
|
84
|
+
name: simplecov
|
85
|
+
requirement: !ruby/object:Gem::Requirement
|
86
|
+
requirements:
|
87
|
+
- - ">="
|
88
|
+
- !ruby/object:Gem::Version
|
89
|
+
version: '0'
|
90
|
+
type: :development
|
91
|
+
prerelease: false
|
92
|
+
version_requirements: !ruby/object:Gem::Requirement
|
93
|
+
requirements:
|
94
|
+
- - ">="
|
95
|
+
- !ruby/object:Gem::Version
|
96
|
+
version: '0'
|
97
|
+
- !ruby/object:Gem::Dependency
|
98
|
+
name: ruby-prof
|
99
|
+
requirement: !ruby/object:Gem::Requirement
|
100
|
+
requirements:
|
101
|
+
- - ">="
|
102
|
+
- !ruby/object:Gem::Version
|
103
|
+
version: '0'
|
104
|
+
type: :development
|
105
|
+
prerelease: false
|
106
|
+
version_requirements: !ruby/object:Gem::Requirement
|
107
|
+
requirements:
|
108
|
+
- - ">="
|
109
|
+
- !ruby/object:Gem::Version
|
110
|
+
version: '0'
|
83
111
|
- !ruby/object:Gem::Dependency
|
84
112
|
name: nokogiri
|
85
113
|
requirement: !ruby/object:Gem::Requirement
|
@@ -180,9 +208,35 @@ files:
|
|
180
208
|
- data/codelists/codelist-203.yml
|
181
209
|
- data/codelists/codelist-204.yml
|
182
210
|
- data/codelists/codelist-21.yml
|
211
|
+
- data/codelists/codelist-215.yml
|
212
|
+
- data/codelists/codelist-216.yml
|
213
|
+
- data/codelists/codelist-217.yml
|
214
|
+
- data/codelists/codelist-218.yml
|
215
|
+
- data/codelists/codelist-219.yml
|
183
216
|
- data/codelists/codelist-22.yml
|
217
|
+
- data/codelists/codelist-220.yml
|
218
|
+
- data/codelists/codelist-221.yml
|
219
|
+
- data/codelists/codelist-222.yml
|
220
|
+
- data/codelists/codelist-223.yml
|
221
|
+
- data/codelists/codelist-224.yml
|
222
|
+
- data/codelists/codelist-225.yml
|
223
|
+
- data/codelists/codelist-226.yml
|
224
|
+
- data/codelists/codelist-227.yml
|
225
|
+
- data/codelists/codelist-228.yml
|
226
|
+
- data/codelists/codelist-229.yml
|
184
227
|
- data/codelists/codelist-23.yml
|
228
|
+
- data/codelists/codelist-230.yml
|
229
|
+
- data/codelists/codelist-238.yml
|
230
|
+
- data/codelists/codelist-239.yml
|
185
231
|
- data/codelists/codelist-24.yml
|
232
|
+
- data/codelists/codelist-240.yml
|
233
|
+
- data/codelists/codelist-241.yml
|
234
|
+
- data/codelists/codelist-242.yml
|
235
|
+
- data/codelists/codelist-243.yml
|
236
|
+
- data/codelists/codelist-244.yml
|
237
|
+
- data/codelists/codelist-245.yml
|
238
|
+
- data/codelists/codelist-246.yml
|
239
|
+
- data/codelists/codelist-247.yml
|
186
240
|
- data/codelists/codelist-25.yml
|
187
241
|
- data/codelists/codelist-26.yml
|
188
242
|
- data/codelists/codelist-27.yml
|
@@ -426,36 +480,64 @@ files:
|
|
426
480
|
- im_onix.gemspec
|
427
481
|
- lib/im_onix.rb
|
428
482
|
- lib/onix/addressee.rb
|
483
|
+
- lib/onix/ancillary_content.rb
|
484
|
+
- lib/onix/audience.rb
|
485
|
+
- lib/onix/audience_range.rb
|
486
|
+
- lib/onix/barcode.rb
|
487
|
+
- lib/onix/builder.rb
|
488
|
+
- lib/onix/cited_content.rb
|
429
489
|
- lib/onix/code.rb
|
430
490
|
- lib/onix/collateral_detail.rb
|
431
491
|
- lib/onix/collection.rb
|
432
492
|
- lib/onix/collection_sequence.rb
|
493
|
+
- lib/onix/comparison_product_price.rb
|
494
|
+
- lib/onix/complexity.rb
|
495
|
+
- lib/onix/content_detail.rb
|
496
|
+
- lib/onix/content_item.rb
|
433
497
|
- lib/onix/contributor.rb
|
498
|
+
- lib/onix/contributor_place.rb
|
499
|
+
- lib/onix/copyright_statement.rb
|
434
500
|
- lib/onix/date.rb
|
435
501
|
- lib/onix/descriptive_detail.rb
|
502
|
+
- lib/onix/discount.rb
|
436
503
|
- lib/onix/discount_coded.rb
|
437
504
|
- lib/onix/entity.rb
|
505
|
+
- lib/onix/epub_license.rb
|
506
|
+
- lib/onix/epub_license_expression.rb
|
438
507
|
- lib/onix/epub_usage_constraint.rb
|
439
508
|
- lib/onix/epub_usage_limit.rb
|
440
509
|
- lib/onix/error.rb
|
441
510
|
- lib/onix/extent.rb
|
511
|
+
- lib/onix/header.rb
|
442
512
|
- lib/onix/helper.rb
|
443
513
|
- lib/onix/identifier.rb
|
444
514
|
- lib/onix/language.rb
|
445
515
|
- lib/onix/market.rb
|
446
516
|
- lib/onix/market_publishing_detail.rb
|
517
|
+
- lib/onix/measure.rb
|
447
518
|
- lib/onix/onix21.rb
|
448
519
|
- lib/onix/onix_message.rb
|
520
|
+
- lib/onix/page_run.rb
|
449
521
|
- lib/onix/price.rb
|
522
|
+
- lib/onix/prize.rb
|
450
523
|
- lib/onix/product.rb
|
524
|
+
- lib/onix/product_classification.rb
|
525
|
+
- lib/onix/product_contact.rb
|
451
526
|
- lib/onix/product_form_feature.rb
|
452
527
|
- lib/onix/product_part.rb
|
453
|
-
- lib/onix/
|
528
|
+
- lib/onix/product_supplies_methods.rb
|
454
529
|
- lib/onix/product_supply.rb
|
530
|
+
- lib/onix/professional_affiliation.rb
|
531
|
+
- lib/onix/publisher_representative.rb
|
455
532
|
- lib/onix/publishing_detail.rb
|
456
533
|
- lib/onix/related_material.rb
|
457
534
|
- lib/onix/related_product.rb
|
458
535
|
- lib/onix/related_work.rb
|
536
|
+
- lib/onix/resource_feature.rb
|
537
|
+
- lib/onix/resource_version.rb
|
538
|
+
- lib/onix/resource_version_feature.rb
|
539
|
+
- lib/onix/returns_conditions.rb
|
540
|
+
- lib/onix/review_rating.rb
|
459
541
|
- lib/onix/sales_outlet.rb
|
460
542
|
- lib/onix/sales_restriction.rb
|
461
543
|
- lib/onix/sales_rights.rb
|
@@ -463,10 +545,14 @@ files:
|
|
463
545
|
- lib/onix/serializer.rb
|
464
546
|
- lib/onix/subject.rb
|
465
547
|
- lib/onix/subset.rb
|
548
|
+
- lib/onix/supplier_own_coding.rb
|
549
|
+
- lib/onix/supply_contact.rb
|
466
550
|
- lib/onix/supply_detail.rb
|
467
551
|
- lib/onix/supporting_resource.rb
|
468
552
|
- lib/onix/tax.rb
|
469
553
|
- lib/onix/territory.rb
|
554
|
+
- lib/onix/text_content.rb
|
555
|
+
- lib/onix/text_item.rb
|
470
556
|
- lib/onix/title_detail.rb
|
471
557
|
- lib/onix/title_element.rb
|
472
558
|
- lib/onix/website.rb
|