elibri_onix 0.5.12 → 0.5.13
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/elibri_onix/onix_3_0/product.rb +6 -1
- data/lib/elibri_onix/onix_3_0/publisher_subject.rb +32 -0
- data/lib/elibri_onix/releases.rb +1 -1
- data/lib/elibri_onix/version.rb +1 -1
- data/test/elibri_subjects_test.rb +6 -0
- data/test/fixtures/onix_subjects_example.xml +0 -15
- metadata +4 -4
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: d1470af5c74c8fda6805cccdc0d929fd6f967f5c596b1f66e01b533a3f148231
|
4
|
+
data.tar.gz: 2294442912e9f973455bf5b92dc8b38c6c604acdc032bc37b3f9b604fd1e603a
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: a0988a96fe595cb3db38bab08f3553a5e194211f2aeae1b11d1e700910891673c91d5bd76642db4f2fed2fa61d55d9a884abf2c83d49cb03aafb9ff4c35be7fb
|
7
|
+
data.tar.gz: e711486fc1a2e2c4b8b201ced29b8cd456f17846cd6fec45db23b49a12965cd893744bfffa79456c1e084bc6678d6129b34f0472aa4cfd52b216a4ff43a24e90
|
@@ -29,7 +29,7 @@ module Elibri
|
|
29
29
|
[
|
30
30
|
:contributors, #IMPORTANT
|
31
31
|
:related_products, :languages, :measures, :supply_details, :measures, :title_details,
|
32
|
-
:collections, :extents, :thema_subjects, :audience_ranges,
|
32
|
+
:collections, :extents, :thema_subjects, :publisher_subjects, :audience_ranges,
|
33
33
|
:text_contents, #IMPORTANT
|
34
34
|
:supporting_resources, #for example: cover
|
35
35
|
:sales_restrictions, :authors,
|
@@ -224,6 +224,7 @@ module Elibri
|
|
224
224
|
attr_reader :collections
|
225
225
|
attr_reader :extents
|
226
226
|
attr_reader :thema_subjects
|
227
|
+
attr_reader :publisher_subjects
|
227
228
|
attr_reader :audience_ranges
|
228
229
|
attr_reader :supply_details
|
229
230
|
attr_reader :identifiers
|
@@ -251,6 +252,7 @@ module Elibri
|
|
251
252
|
@languages = []
|
252
253
|
@extents = []
|
253
254
|
@thema_subjects = []
|
255
|
+
@publisher_subjects = []
|
254
256
|
@audience_ranges = []
|
255
257
|
##publishing_details
|
256
258
|
@sales_restrictions = []
|
@@ -396,6 +398,9 @@ module Elibri
|
|
396
398
|
@no_contributor = !!data.at_css('NoContributor')
|
397
399
|
@languages = data.css('Language').map { |language_data| Language.new(language_data) }
|
398
400
|
@extents = data.css('Extent').map { |extent_data| Extent.new(extent_data) }
|
401
|
+
|
402
|
+
@publisher_subjects = data.css('Subject').find_all { |sd|
|
403
|
+
%w{24}.include?(sd.at_css('SubjectSchemeIdentifier').try(:text)) }.map { |sd| PublisherSubject.new(sd) }
|
399
404
|
@thema_subjects = data.css('Subject').find_all { |sd|
|
400
405
|
%w{93 94 95 96 97 98 99}.include?(sd.at_css('SubjectSchemeIdentifier').try(:text)) }.map { |sd| ThemaSubject.new(sd) }
|
401
406
|
@audience_ranges = data.css('AudienceRange').map { |audience_data| AudienceRange.new(audience_data) }
|
@@ -0,0 +1,32 @@
|
|
1
|
+
|
2
|
+
module Elibri
|
3
|
+
module ONIX
|
4
|
+
module Release_3_0
|
5
|
+
|
6
|
+
class PublisherSubject
|
7
|
+
|
8
|
+
include HashId
|
9
|
+
|
10
|
+
ATTRIBUTES = [
|
11
|
+
:code, :heading_text
|
12
|
+
]
|
13
|
+
|
14
|
+
RELATIONS = [
|
15
|
+
:inspect_include_fields
|
16
|
+
]
|
17
|
+
|
18
|
+
attr_accessor :code, :heading_text, :to_xml
|
19
|
+
|
20
|
+
def initialize(data)
|
21
|
+
@to_xml = data.to_s
|
22
|
+
@code = data.at_css('SubjectCode').try(:text)
|
23
|
+
@heading_text = data.at_css('SubjectHeadingText').try(:text)
|
24
|
+
end
|
25
|
+
|
26
|
+
def inspect_include_fields
|
27
|
+
[:code]
|
28
|
+
end
|
29
|
+
end
|
30
|
+
end
|
31
|
+
end
|
32
|
+
end
|
data/lib/elibri_onix/releases.rb
CHANGED
@@ -4,7 +4,7 @@
|
|
4
4
|
sender header product_identifier measure title_element title_detail collection contributor
|
5
5
|
language extent audience_range text_content supporting_resource imprint publisher publishing_date
|
6
6
|
sales_restriction related_product supplier_identifier stock_quantity_coded price supplier supply_detail
|
7
|
-
product onix_message excerpt_info file_info thema_subject
|
7
|
+
product onix_message excerpt_info file_info thema_subject publisher_subject
|
8
8
|
}.each do |file_name|
|
9
9
|
require File.join(File.dirname(__FILE__), "onix_3_0", file_name)
|
10
10
|
end
|
data/lib/elibri_onix/version.rb
CHANGED
@@ -25,6 +25,12 @@ describe Elibri::ONIX::Release_3_0::ONIXMessage do
|
|
25
25
|
assert_equal "Kwalifikatory chronologiczne / od ok. 1500 do dzisiaj / XX wiek (ok. 1900–1999) " +
|
26
26
|
"/ 1. poł. XX wieku (ok. 1900–1950) / Dwudziestolecie międzywojenne (ok. 1919–1939) / ok. 1920–1929", s3.heading_text
|
27
27
|
|
28
|
+
assert_equal 1, product.publisher_subjects.count
|
29
|
+
|
30
|
+
p1 = product.publisher_subjects[0]
|
31
|
+
|
32
|
+
assert_equal "191", p1.code
|
33
|
+
assert_equal "Beletrystyka: Horror", p1.heading_text
|
28
34
|
end
|
29
35
|
|
30
36
|
end
|
@@ -25,21 +25,6 @@
|
|
25
25
|
<TitleText>Nielegalni</TitleText>
|
26
26
|
</TitleElement>
|
27
27
|
</TitleDetail>
|
28
|
-
<Subject>
|
29
|
-
<MainSubject/>
|
30
|
-
<SubjectSchemeIdentifier>24</SubjectSchemeIdentifier>
|
31
|
-
<SubjectSchemeName>elibri.com.pl</SubjectSchemeName>
|
32
|
-
<SubjectSchemeVersion>1.0</SubjectSchemeVersion>
|
33
|
-
<SubjectCode>1110</SubjectCode>
|
34
|
-
<SubjectHeadingText>Historia / II Wojna Światowa / Ruch oporu</SubjectHeadingText>
|
35
|
-
</Subject>
|
36
|
-
<Subject>
|
37
|
-
<SubjectSchemeIdentifier>24</SubjectSchemeIdentifier>
|
38
|
-
<SubjectSchemeName>elibri.com.pl</SubjectSchemeName>
|
39
|
-
<SubjectSchemeVersion>1.0</SubjectSchemeVersion>
|
40
|
-
<SubjectCode>491</SubjectCode>
|
41
|
-
<SubjectHeadingText>Szkoła i nauczanie / Lektury szkolne z opracowaniami</SubjectHeadingText>
|
42
|
-
</Subject>
|
43
28
|
<Subject>
|
44
29
|
<SubjectSchemeIdentifier>93</SubjectSchemeIdentifier>
|
45
30
|
<SubjectSchemeVersion>1.3</SubjectSchemeVersion>
|
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.13
|
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: 2020-
|
12
|
+
date: 2020-08-10 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: activesupport
|
@@ -187,6 +187,7 @@ files:
|
|
187
187
|
- lib/elibri_onix/onix_3_0/product.rb
|
188
188
|
- lib/elibri_onix/onix_3_0/product_identifier.rb
|
189
189
|
- lib/elibri_onix/onix_3_0/publisher.rb
|
190
|
+
- lib/elibri_onix/onix_3_0/publisher_subject.rb
|
190
191
|
- lib/elibri_onix/onix_3_0/publishing_date.rb
|
191
192
|
- lib/elibri_onix/onix_3_0/related_product.rb
|
192
193
|
- lib/elibri_onix/onix_3_0/sales_restriction.rb
|
@@ -287,8 +288,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
287
288
|
- !ruby/object:Gem::Version
|
288
289
|
version: '0'
|
289
290
|
requirements: []
|
290
|
-
|
291
|
-
rubygems_version: 2.7.9
|
291
|
+
rubygems_version: 3.1.2
|
292
292
|
signing_key:
|
293
293
|
specification_version: 4
|
294
294
|
summary: EDItEUR ONIX format subset implementation used in Elibri publication system
|