elibri_onix 0.5.17 → 0.5.18
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/lib/elibri_onix/onix_3_0/product.rb +5 -0
- data/lib/elibri_onix/onix_3_0/sales_restriction.rb +10 -6
- data/lib/elibri_onix/version.rb +1 -1
- data/test/elibri_exclusive_distributor_test.rb +11 -0
- data/test/elibri_formats_and_protection_test.rb +2 -2
- data/test/fixtures/onix_epub_details_example.xml +1 -1
- data/test/fixtures/onix_exclusive_distributor_example.xml +62 -0
- metadata +5 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: ca0645c584580d719c89e9b25ff1908512fe60640860f8db37d1a9f38e27f46f
|
4
|
+
data.tar.gz: ee00d482ce6d81af64b2d0298dad3246defe9a95e254b3f98b6c07b3641b1545
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 5d9f3bc6101130b9dba2636d17513d46333e178cb565a3bd241bfd54452ee0fad96f1e64a1cf1e079ad0bdfcddb07a1cc878804991663498f9c5bfc2f7be263d
|
7
|
+
data.tar.gz: 62a3deb1650b9fbee4e97a471db03737a1d0c992b6cc14318c82742d088624419d13cdc06d154a80034782ea6c156dbdf805c3e0886cfb31651d8a885648cb58
|
@@ -454,7 +454,12 @@ module Elibri
|
|
454
454
|
else
|
455
455
|
@sale_restricted_to_poland = false
|
456
456
|
end
|
457
|
+
end
|
457
458
|
|
459
|
+
def exclusive_distributor_onix_code
|
460
|
+
if @sales_restrictions.size > 0
|
461
|
+
@sales_restrictions[0].outlet_code
|
462
|
+
end
|
458
463
|
end
|
459
464
|
|
460
465
|
def sales_restrictions?
|
@@ -7,25 +7,29 @@ module Elibri
|
|
7
7
|
|
8
8
|
class SalesRestriction
|
9
9
|
|
10
|
-
#from ONIX documentation:
|
10
|
+
#from ONIX documentation:
|
11
11
|
#A group of data elements which together identify a non-territorial sales restriction which a publisher applies to a product.
|
12
12
|
#Optional and repeatable.
|
13
13
|
|
14
14
|
include HashId
|
15
|
-
|
15
|
+
|
16
16
|
ATTRIBUTES = [
|
17
17
|
:type, :outlet_name, :end_date
|
18
18
|
]
|
19
|
-
|
19
|
+
|
20
20
|
RELATIONS = []
|
21
|
-
|
22
|
-
attr_accessor :type, :outlet_name, :end_date, :to_xml
|
23
|
-
|
21
|
+
|
22
|
+
attr_accessor :type, :outlet_name, :outlet_code, :end_date, :to_xml
|
23
|
+
|
24
24
|
def initialize(data)
|
25
25
|
@to_xml = data.to_s
|
26
26
|
@type = data.at_css('SalesRestrictionType').try(:text).try(:to_i)
|
27
27
|
if data.at_css('SalesOutlet')
|
28
28
|
@outlet_name = data.at_css('SalesOutlet').at_css('SalesOutletName').try(:text)
|
29
|
+
outlet_id_struct = data.at_css('SalesOutlet').at_css('SalesOutletIdentifier')
|
30
|
+
if outlet_id_struct && outlet_id_struct.at_css("SalesOutletIDType").try(:text) == "03"
|
31
|
+
@outlet_code = outlet_id_struct.at_css("IDValue").try(:text)
|
32
|
+
end
|
29
33
|
end
|
30
34
|
@end_date = Date.parse(data.at_css('EndDate').try(:text)) if data.at_css('EndDate')
|
31
35
|
end
|
data/lib/elibri_onix/version.rb
CHANGED
@@ -0,0 +1,11 @@
|
|
1
|
+
require 'helper'
|
2
|
+
|
3
|
+
describe Elibri::ONIX::Release_3_0::ONIXMessage do
|
4
|
+
|
5
|
+
it "should be able to parse information about exclusive distrubution restriction" do
|
6
|
+
product = load_fixture("onix_exclusive_distributor_example.xml")
|
7
|
+
assert product.sales_restrictions?
|
8
|
+
assert_equal "EMP", product.exclusive_distributor_onix_code
|
9
|
+
end
|
10
|
+
|
11
|
+
end
|
@@ -7,7 +7,7 @@ describe Elibri::ONIX::Release_3_0::ONIXMessage do
|
|
7
7
|
|
8
8
|
product = load_fixture("onix_epub_details_example.xml")
|
9
9
|
assert_equal ["EPUB", "MOBI"], product.digital_formats
|
10
|
-
assert_equal "
|
11
|
-
assert_equal "
|
10
|
+
assert_equal "watermark", product.technical_protection
|
11
|
+
assert_equal "02", product.technical_protection_onix_code
|
12
12
|
end
|
13
13
|
end
|
@@ -21,7 +21,7 @@
|
|
21
21
|
<ProductForm>EA</ProductForm>
|
22
22
|
<ProductFormDetail>E101</ProductFormDetail>
|
23
23
|
<ProductFormDetail>E127</ProductFormDetail>
|
24
|
-
<EpubTechnicalProtection>
|
24
|
+
<EpubTechnicalProtection>02</EpubTechnicalProtection>
|
25
25
|
<TitleDetail>
|
26
26
|
<TitleType>01</TitleType>
|
27
27
|
<TitleElement>
|
@@ -0,0 +1,62 @@
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8"?>
|
2
|
+
<ONIXMessage release="3.0" xmlns="http://ns.editeur.org/onix/3.0/reference">
|
3
|
+
<Header>
|
4
|
+
<Sender>
|
5
|
+
<SenderName>Elibri.com.pl</SenderName>
|
6
|
+
<ContactName>Tomasz Meka</ContactName>
|
7
|
+
<EmailAddress>kontakt@elibri.com.pl</EmailAddress>
|
8
|
+
</Sender>
|
9
|
+
<SentDateTime>20111111</SentDateTime>
|
10
|
+
</Header>
|
11
|
+
<Product>
|
12
|
+
<RecordReference>fdb8fa072be774d97a97</RecordReference>
|
13
|
+
<NotificationType>03</NotificationType>
|
14
|
+
<ProductIdentifier>
|
15
|
+
<ProductIDType>15</ProductIDType>
|
16
|
+
<IDValue>9788324799992</IDValue>
|
17
|
+
</ProductIdentifier>
|
18
|
+
<DescriptiveDetail>
|
19
|
+
<ProductComposition>00</ProductComposition>
|
20
|
+
<ProductForm>EA</ProductForm>
|
21
|
+
<TitleDetail>
|
22
|
+
<TitleType>01</TitleType>
|
23
|
+
<TitleElement>
|
24
|
+
<TitleElementLevel>01</TitleElementLevel>
|
25
|
+
<TitleText>Nielegalni</TitleText>
|
26
|
+
</TitleElement>
|
27
|
+
</TitleDetail>
|
28
|
+
</DescriptiveDetail>
|
29
|
+
<PublishingDetail>
|
30
|
+
<Publisher>
|
31
|
+
<PublishingRole>01</PublishingRole>
|
32
|
+
<PublisherIdentifier>
|
33
|
+
<PublisherIDType>01</PublisherIDType>
|
34
|
+
<IDTypeName>ElibriPublisherCode</IDTypeName>
|
35
|
+
<IDValue>11</IDValue>
|
36
|
+
</PublisherIdentifier>
|
37
|
+
<PublisherName>GREG</PublisherName>
|
38
|
+
</Publisher>
|
39
|
+
<CityOfPublication>Warszawa</CityOfPublication>
|
40
|
+
<PublishingStatus>04</PublishingStatus>
|
41
|
+
<PublishingDate>
|
42
|
+
<PublishingDateRole>01</PublishingDateRole>
|
43
|
+
<Date dateformat="00">20120712</Date>
|
44
|
+
</PublishingDate>
|
45
|
+
<SalesRights>
|
46
|
+
<SalesRightsType>01</SalesRightsType>
|
47
|
+
<Territory>
|
48
|
+
<RegionsIncluded>WORLD</RegionsIncluded>
|
49
|
+
</Territory>
|
50
|
+
</SalesRights>
|
51
|
+
<SalesRestriction>
|
52
|
+
<SalesRestrictionType>04</SalesRestrictionType>
|
53
|
+
<SalesOutlet>
|
54
|
+
<SalesOutletIdentifier>
|
55
|
+
<SalesOutletIDType>03</SalesOutletIDType>
|
56
|
+
<IDValue>EMP</IDValue>
|
57
|
+
</SalesOutletIdentifier>
|
58
|
+
</SalesOutlet>
|
59
|
+
</SalesRestriction>
|
60
|
+
</PublishingDetail>
|
61
|
+
</Product>
|
62
|
+
</ONIXMessage>
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: elibri_onix
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.5.
|
4
|
+
version: 0.5.18
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Marcin Urbanski
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date:
|
12
|
+
date: 2024-04-15 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: activesupport
|
@@ -208,6 +208,7 @@ files:
|
|
208
208
|
- test/elibri_contributors_test.rb
|
209
209
|
- test/elibri_ebook_files_test.rb
|
210
210
|
- test/elibri_edition_test.rb
|
211
|
+
- test/elibri_exclusive_distributor_test.rb
|
211
212
|
- test/elibri_extensions_test.rb
|
212
213
|
- test/elibri_extent_test.rb
|
213
214
|
- test/elibri_formats_and_protection_test.rb
|
@@ -248,6 +249,7 @@ files:
|
|
248
249
|
- test/fixtures/onix_edition_example.xml
|
249
250
|
- test/fixtures/onix_elibri_extensions_example.xml
|
250
251
|
- test/fixtures/onix_epub_details_example.xml
|
252
|
+
- test/fixtures/onix_exclusive_distributor_example.xml
|
251
253
|
- test/fixtures/onix_languages_example.xml
|
252
254
|
- test/fixtures/onix_measurement_example.xml
|
253
255
|
- test/fixtures/onix_no_contributors_example.xml
|
@@ -290,7 +292,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
290
292
|
- !ruby/object:Gem::Version
|
291
293
|
version: '0'
|
292
294
|
requirements: []
|
293
|
-
rubygems_version: 3.
|
295
|
+
rubygems_version: 3.1.6
|
294
296
|
signing_key:
|
295
297
|
specification_version: 4
|
296
298
|
summary: EDItEUR ONIX format subset implementation used in Elibri publication system
|