Class: ONIX::ProductPart
- Defined in:
- lib/onix/product_part.rb
Overview
product part use full Product to provide file protection and file size
Instance Attribute Summary collapse
-
#part_of ⇒ Object
this ProductPart is part of Product.
-
#product ⇒ Product
full Product if referenced in ONIXMessage.
Attributes included from Attributes
High level collapse
-
#file_format ⇒ String
digital file format string (Epub,Pdf,AmazonKindle).
-
#file_mimetype ⇒ String
digital file format mimetype.
-
#filesize ⇒ Integer
digital file filesize in bytes.
-
#protection_type ⇒ String
Protection type string (None, Watermarking, DRM, AdobeDRM).
-
#protections ⇒ Array<String>
List of protections type string (None, Watermarking, DRM, AdobeDRM).
-
#raw_file_description ⇒ String
raw part file description string without HTML.
-
#reflowable? ⇒ Boolean
is digital file reflowable ?.
Shortcuts collapse
-
#content_types ⇒ Array<ProductContentType>
shortcut for #product_content_types.
-
#file_description ⇒ Array<String>
shortcut for #product_form_descriptions.
-
#form ⇒ ProductForm
shortcut for #product_form.
-
#form_details ⇒ Array<ProductFormDetail>
shortcut for #product_form_details.
-
#identifiers ⇒ Array<ProductIdentifier>
shortcut for #product_identifiers.
Low level collapse
- #country_of_manufacture ⇒ CountryOfManufacture
- #measures ⇒ Array<Measure>
- #number_of_copies ⇒ Integer
- #number_of_items_of_this_form ⇒ Integer
- #primary_part ⇒ Boolean
- #product_content_types ⇒ Array<ProductContentType>
- #product_form ⇒ ProductForm
- #product_form_descriptions ⇒ Array<String>
- #product_form_details ⇒ Array<ProductFormDetail>
- #product_form_features ⇒ Array<ProductFormFeature>
- #product_identifiers ⇒ Array<ProductIdentifier>
Instance Method Summary collapse
Methods included from IdentifiersMethods::ProprietaryId
Methods included from IdentifiersMethods::Ean
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 Attribute Details
#part_of ⇒ Object
this ProductPart is part of Product
37 38 39 |
# File 'lib/onix/product_part.rb', line 37 def part_of @part_of end |
#product ⇒ Product
full Product if referenced in ONIXMessage
34 35 36 |
# File 'lib/onix/product_part.rb', line 34 def product @product end |
Instance Method Details
#content_types ⇒ Array<ProductContentType>
shortcut for #product_content_types
17 |
# File 'lib/onix/product_part.rb', line 17 elements "ProductContentType", :subset, :shortcut => :content_types, :cardinality => 0..n |
#country_of_manufacture ⇒ CountryOfManufacture
21 |
# File 'lib/onix/product_part.rb', line 21 element "CountryOfManufacture", :subset, :cardinality => 0..1 |
#file_description ⇒ Array<String>
shortcut for #product_form_descriptions
16 |
# File 'lib/onix/product_part.rb', line 16 elements "ProductFormDescription", :text, :shortcut => :file_description, :cardinality => 0..n |
#file_format ⇒ String
digital file format string (Epub,Pdf,AmazonKindle)
43 44 45 |
# File 'lib/onix/product_part.rb', line 43 def file_format file_formats.first.human if file_formats.first end |
#file_formats ⇒ Object
23 24 25 |
# File 'lib/onix/product_part.rb', line 23 def file_formats @product_form_details.select { |fd| fd.code =~ /^E1.*/ } end |
#file_mimetype ⇒ String
digital file format mimetype
49 50 51 52 53 |
# File 'lib/onix/product_part.rb', line 49 def file_mimetype if file_formats.first file_formats.first.mimetype end end |
#filesize ⇒ Integer
digital file filesize in bytes
96 97 98 99 100 |
# File 'lib/onix/product_part.rb', line 96 def filesize if product product.filesize end end |
#form ⇒ ProductForm
shortcut for #product_form
9 |
# File 'lib/onix/product_part.rb', line 9 element "ProductForm", :subset, :shortcut => :form, :cardinality => 1 |
#form_details ⇒ Array<ProductFormDetail>
shortcut for #product_form_details
10 |
# File 'lib/onix/product_part.rb', line 10 elements "ProductFormDetail", :subset, :shortcut => :form_details, :cardinality => 0..n |
#identifiers ⇒ Array<ProductIdentifier>
shortcut for #product_identifiers
8 |
# File 'lib/onix/product_part.rb', line 8 elements "ProductIdentifier", :subset, :shortcut => :identifiers, :cardinality => 0..n |
#measures ⇒ Array<Measure>
18 |
# File 'lib/onix/product_part.rb', line 18 elements "Measure", :subset, :cardinality => 0..n |
#number_of_copies ⇒ Integer
20 |
# File 'lib/onix/product_part.rb', line 20 element "NumberOfCopies", :integer, :cardinality => 0..1 |
#number_of_items_of_this_form ⇒ Integer
19 |
# File 'lib/onix/product_part.rb', line 19 element "NumberOfItemsOfThisForm", :integer, :cardinality => 0..1 |
#primary_part ⇒ Boolean
7 |
# File 'lib/onix/product_part.rb', line 7 element "PrimaryPart", :bool, :cardinality => 0..1 |
#product_content_types ⇒ Array<ProductContentType>
17 |
# File 'lib/onix/product_part.rb', line 17 elements "ProductContentType", :subset, :shortcut => :content_types, :cardinality => 0..n |
#product_form ⇒ ProductForm
9 |
# File 'lib/onix/product_part.rb', line 9 element "ProductForm", :subset, :shortcut => :form, :cardinality => 1 |
#product_form_description ⇒ ProductFormDescription
28 29 30 |
# File 'lib/onix/product_part.rb', line 28 def product_form_description product_form_descriptions.first end |
#product_form_descriptions ⇒ Array<String>
16 |
# File 'lib/onix/product_part.rb', line 16 elements "ProductFormDescription", :text, :shortcut => :file_description, :cardinality => 0..n |
#product_form_details ⇒ Array<ProductFormDetail>
10 |
# File 'lib/onix/product_part.rb', line 10 elements "ProductFormDetail", :subset, :shortcut => :form_details, :cardinality => 0..n |
#product_form_features ⇒ Array<ProductFormFeature>
11 |
# File 'lib/onix/product_part.rb', line 11 elements "ProductFormFeature", :subset, :cardinality => 0..n |
#product_identifiers ⇒ Array<ProductIdentifier>
8 |
# File 'lib/onix/product_part.rb', line 8 elements "ProductIdentifier", :subset, :shortcut => :identifiers, :cardinality => 0..n |
#protection_type ⇒ String
Protection type string (None, Watermarking, DRM, AdobeDRM)
72 73 74 75 76 77 78 79 80 |
# File 'lib/onix/product_part.rb', line 72 def protection_type if product product.protection_type else if part_of part_of.protection_type end end end |
#protections ⇒ Array<String>
List of protections type string (None, Watermarking, DRM, AdobeDRM)
84 85 86 87 88 89 90 91 92 |
# File 'lib/onix/product_part.rb', line 84 def protections if product product.protections else if part_of part_of.protections end end end |
#raw_file_description ⇒ String
raw part file description string without HTML
64 65 66 67 68 |
# File 'lib/onix/product_part.rb', line 64 def raw_file_description if product_form_description Helper.strip_html(product_form_description).gsub(/\s+/, " ").strip end end |
#reflowable? ⇒ Boolean
is digital file reflowable ?
57 58 59 60 |
# File 'lib/onix/product_part.rb', line 57 def reflowable? return true if @product_form_details.select { |fd| fd.code == "E200" }.length > 0 return false if @product_form_details.select { |fd| fd.code == "E201" }.length > 0 end |