elibri_onix 0.5.13 → 0.5.17
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/file_info.rb +38 -11
- data/lib/elibri_onix/onix_3_0/product.rb +41 -24
- data/lib/elibri_onix/onix_3_0/sender.rb +7 -15
- data/lib/elibri_onix/version.rb +1 -1
- data/test/elibri_ebook_files_test.rb +1 -1
- data/test/elibri_extensions_test.rb +0 -1
- data/test/elibri_onix_release_3_0_onix_message_test.rb +17 -19
- data/test/elibri_production_country_test.rb +12 -0
- data/test/fixtures/all_possible_tags.xml +1 -2
- data/test/fixtures/onix_announced_product_example.xml +1 -2
- data/test/fixtures/onix_audiobook_example.xml +2 -3
- data/test/fixtures/onix_board_game_example.xml +2 -2
- data/test/fixtures/onix_cn_production_country_example.xml +49 -0
- data/test/fixtures/onix_ebook_with_files_example.xml +111 -80
- data/test/fixtures/onix_preorder_product_example.xml +2 -4
- data/test/fixtures/onix_published_product_example.xml +1 -2
- data/test/fixtures/onix_puzzle_example.xml +2 -2
- data/test/fixtures/onix_sale_restrictions_example.xml +1 -2
- 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: d06b0bd4bdbb02d2ff2383d0bbda53df5053c5cb72cb05239751be6333a35d12
|
4
|
+
data.tar.gz: 6e8e96e0555ff9b9121159342dcdbf38f75fc6d62d468ab16ddbfabe10b9ecff
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: cbfebade21b11fc42a93b821617eca9a435b14a3dc1a032597c4296a588b2813ef025ac1e5f39738083052ed93041be5378c4acda4490cde209cc8f02f5e6b97
|
7
|
+
data.tar.gz: ec612758dbcaa6d29f24c782978de4a91a33fb899081a0e766bae7c3ab4d3e49426a68d4609361386773281bebce2d2d5535fb3678a3cf2877d12402e93cae3e
|
@@ -5,32 +5,59 @@ module Elibri
|
|
5
5
|
module Release_3_0
|
6
6
|
|
7
7
|
class FileInfo
|
8
|
-
|
8
|
+
|
9
9
|
#Informacja o fragmencie publikacji (e-book)
|
10
|
-
|
10
|
+
|
11
11
|
ATTRIBUTES = [
|
12
12
|
:file_type, :file_size, :md5, :updated_at
|
13
13
|
]
|
14
|
-
|
14
|
+
|
15
15
|
RELATIONS = [
|
16
16
|
:inspect_include_fields
|
17
17
|
]
|
18
|
-
|
18
|
+
|
19
19
|
attr_accessor :file_type, :file_size, :md5, :updated_at, :eid, :to_xml
|
20
|
-
|
20
|
+
|
21
21
|
def initialize(data)
|
22
22
|
@to_xml = data.to_s
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
23
|
+
|
24
|
+
data.css("ResourceFileDate").each do |date|
|
25
|
+
if date.css("ResourceFileDateRole").first.inner_text == Elibri::ONIX::Dict::Release_3_0::ContentDateRole::LAST_UPDATED
|
26
|
+
@updated_at = Time.parse(date.css("Date").first.inner_text)
|
27
|
+
end
|
28
|
+
end
|
29
|
+
|
30
|
+
data.css("ResourceFileFeature").each do |feat|
|
31
|
+
ftype = feat.css("ResourceFileFeatureType").first.inner_text
|
32
|
+
fvalue = feat.css("ResourceFileFeatureValue").first.inner_text
|
33
|
+
|
34
|
+
if ftype == Elibri::ONIX::Dict::Release_3_0::ResourceFileFeatureType::EXACT_FILE_SIZE
|
35
|
+
@file_size = fvalue.to_i
|
36
|
+
elsif ftype == Elibri::ONIX::Dict::Release_3_0::ResourceFileFeatureType::MD5
|
37
|
+
@md5 = fvalue
|
38
|
+
end
|
39
|
+
end
|
40
|
+
|
41
|
+
fname = data.css("ResourceFileLink").first&.inner_text
|
42
|
+
if fname
|
43
|
+
if File.extname(fname) == ".zip"
|
44
|
+
@file_type = "mp3_in_zip"
|
45
|
+
else
|
46
|
+
@file_type = File.extname(fname)[1..-1]
|
47
|
+
end
|
48
|
+
end
|
49
|
+
|
50
|
+
data.css("ResourceIdentifier").each do |ident|
|
51
|
+
if ident.css("ResourceIDType").first&.inner_text == Elibri::ONIX::Dict::Release_3_0::ResourceIDType::PROPRIETARY
|
52
|
+
@eid = ident.css("IDValue").first&.inner_text&.to_i
|
53
|
+
end
|
54
|
+
end
|
28
55
|
end
|
29
56
|
|
30
57
|
def inspect_include_fields
|
31
58
|
[:file_type]
|
32
59
|
end
|
33
|
-
|
60
|
+
|
34
61
|
end
|
35
62
|
|
36
63
|
end
|
@@ -11,11 +11,11 @@ module Elibri
|
|
11
11
|
#:nodoc:
|
12
12
|
ATTRIBUTES =
|
13
13
|
[
|
14
|
-
:height, :width, :thickness, :weight, :ean, :isbn13, :number_of_pages, :duration,
|
15
|
-
:file_size, :publisher_name, :publisher_id, :imprint_name, :current_state, :reading_age_from, :reading_age_to,
|
14
|
+
:height, :width, :thickness, :weight, :ean, :isbn13, :number_of_pages, :duration,
|
15
|
+
:file_size, :publisher_name, :publisher_id, :imprint_name, :current_state, :reading_age_from, :reading_age_to,
|
16
16
|
:table_of_contents, :description, :reviews, :excerpts, :series, :title, :subtitle, :collection_title,
|
17
17
|
:collection_part, :full_title, :original_title, :trade_title, :parsed_publishing_date, :record_reference,
|
18
|
-
:deletion_text, :cover_type, :cover_price, :vat, :pkwiu, :additional_info, :product_composition,
|
18
|
+
:deletion_text, :cover_type, :cover_price, :vat, :pkwiu, :additional_info, :product_composition,
|
19
19
|
:publisher, :product_form, :no_contributor, :edition_statement, :edition_type_onix_code, :number_of_illustrations, :publishing_status,
|
20
20
|
:publishing_date, :premiere, :front_cover, :series_names, :city_of_publication,
|
21
21
|
:preview_exists, :short_description, :sale_restricted_to_poland,
|
@@ -151,7 +151,7 @@ module Elibri
|
|
151
151
|
#AdditionalInfo
|
152
152
|
attr_reader :additional_info
|
153
153
|
|
154
|
-
#kod ONIX typu produktu, np. 'BA' - lista dostępna pod adresem
|
154
|
+
#kod ONIX typu produktu, np. 'BA' - lista dostępna pod adresem
|
155
155
|
#https://github.com/elibri/elibri_onix_dict/blob/master/lib/elibri_onix_dict/onix_3_0/serialized/ProductFormCode.yml
|
156
156
|
attr_reader :product_form
|
157
157
|
|
@@ -192,12 +192,12 @@ module Elibri
|
|
192
192
|
#dodatkowa informacja handlowa
|
193
193
|
attr_reader :additional_trade_information
|
194
194
|
|
195
|
-
#ilość elementów (puzzle, gry planszowe)
|
195
|
+
#ilość elementów (puzzle, gry planszowe)
|
196
196
|
attr_reader :number_of_pieces
|
197
197
|
|
198
198
|
#min. ilość graczy - gry planszowe
|
199
199
|
attr_reader :players_number_from
|
200
|
-
|
200
|
+
|
201
201
|
#max. ilość graczy - gry planszowe
|
202
202
|
attr_reader :players_number_to
|
203
203
|
|
@@ -207,6 +207,13 @@ module Elibri
|
|
207
207
|
#max. czas gry - gry planszowe
|
208
208
|
attr_reader :playing_time_to
|
209
209
|
|
210
|
+
#cn code
|
211
|
+
attr_reader :cn_code
|
212
|
+
|
213
|
+
#kraj produkcji
|
214
|
+
attr_reader :country_of_manufacture
|
215
|
+
|
216
|
+
|
210
217
|
#:nodoc:
|
211
218
|
attr_reader :text_contents
|
212
219
|
attr_reader :file_size
|
@@ -265,7 +272,7 @@ module Elibri
|
|
265
272
|
@deletion_text = data.at_css('DeletionText').try(:text)
|
266
273
|
|
267
274
|
if data.namespaces.values.any? { |uri| uri =~ /elibri/ }
|
268
|
-
@cover_type = data.at_xpath('elibri:CoverType').try(:text)
|
275
|
+
@cover_type = data.at_xpath('elibri:CoverType').try(:text)
|
269
276
|
@pkwiu = data.at_xpath('elibri:PKWiU').try(:text)
|
270
277
|
@hyphenated_isbn = data.at_xpath('elibri:HyphenatedISBN').try(:text)
|
271
278
|
@pdw_exclusiveness = data.at_xpath('elibri:PDWExclusiveness').try(:text)
|
@@ -288,8 +295,9 @@ module Elibri
|
|
288
295
|
@cover_price = BigDecimal(data.at_xpath('elibri:CoverPrice').try(:text)) if data.at_xpath('elibri:CoverPrice')
|
289
296
|
@vat = data.at_xpath('elibri:Vat').try(:text).try(:to_i)
|
290
297
|
else
|
291
|
-
|
292
|
-
|
298
|
+
#00 - Supplier role - Unspecified
|
299
|
+
price_sd = @supply_details.find { |sd| sd.supplier && ["00", Elibri::ONIX::Dict::Release_3_0::SupplierRole::PUB_TO_RET].include?(sd.supplier.role) }
|
300
|
+
if price_sd && price_sd.price && price_sd.price && price_sd.price.type == Elibri::ONIX::Dict::Release_3_0::PriceTypeCode::RRP_WITH_TAX
|
293
301
|
@vat = price_sd.price.tax_rate_percent.to_i
|
294
302
|
@cover_price = price_sd.price.amount
|
295
303
|
@additional_trade_information = price_sd.additional_trade_information
|
@@ -318,11 +326,7 @@ module Elibri
|
|
318
326
|
end
|
319
327
|
|
320
328
|
end
|
321
|
-
|
322
|
-
@file_infos = data.at_xpath("elibri:masters").xpath("elibri:master").map { |node| FileInfo.new(node) }
|
323
|
-
rescue
|
324
|
-
@file_infos = []
|
325
|
-
end
|
329
|
+
@file_infos = data.css("BodyResource").map { |node| FileInfo.new(node) }
|
326
330
|
after_parse
|
327
331
|
end
|
328
332
|
|
@@ -333,14 +337,14 @@ module Elibri
|
|
333
337
|
elsif date = data.at_xpath("elibri:SaleRestrictedTo").try(:text)
|
334
338
|
@unlimited_licence = false
|
335
339
|
@licence_limited_to_before_type_cast = date
|
336
|
-
@licence_limited_to =
|
340
|
+
@licence_limited_to = _parse_date(date)
|
337
341
|
end
|
338
342
|
else
|
339
343
|
daten = data.css('PublishingDate').find { |d| d.at_css("PublishingDateRole") && d.at_css("PublishingDateRole").text == Elibri::ONIX::Dict::Release_3_0::PublishingDateRole::OUT_OF_PRINT_DATE }
|
340
344
|
if daten
|
341
345
|
date = daten.at_css('Date').text
|
342
346
|
@licence_limited_to_before_type_cast = date
|
343
|
-
@licence_limited_to =
|
347
|
+
@licence_limited_to = _parse_date(date)
|
344
348
|
@unlimited_licence = false
|
345
349
|
else
|
346
350
|
@unlimited_licence = true
|
@@ -367,6 +371,8 @@ module Elibri
|
|
367
371
|
end
|
368
372
|
|
369
373
|
def descriptive_details_setup(data)
|
374
|
+
@country_of_manufacture = data.at_css("CountryOfManufacture").try(:text)
|
375
|
+
|
370
376
|
@product_composition = data.at_css('ProductComposition').try(:text)
|
371
377
|
@product_form = data.at_css('ProductForm').try(:text)
|
372
378
|
if @product_form
|
@@ -387,9 +393,14 @@ module Elibri
|
|
387
393
|
end
|
388
394
|
|
389
395
|
end
|
390
|
-
|
391
|
-
|
392
|
-
|
396
|
+
data.css('ProductClassification').each do |cl|
|
397
|
+
cl_type = cl.at_css('ProductClassificationType').text
|
398
|
+
cl_value = cl.at_css('ProductClassificationCode').text
|
399
|
+
if cl_type == Elibri::ONIX::Dict::Release_3_0::ProductClassificationType::PKWIU
|
400
|
+
@pkwiu = cl_value
|
401
|
+
elsif cl_type == Elibri::ONIX::Dict::Release_3_0::ProductClassificationType::CN
|
402
|
+
@cn_code = cl_value
|
403
|
+
end
|
393
404
|
end
|
394
405
|
@measures = data.css('Measure').map { |measure_data| Measure.new(measure_data) }
|
395
406
|
@title_details = data.children.find_all { |node| node.name == 'TitleDetail' }.map { |title_data| TitleDetail.new(title_data) }
|
@@ -401,7 +412,7 @@ module Elibri
|
|
401
412
|
|
402
413
|
@publisher_subjects = data.css('Subject').find_all { |sd|
|
403
414
|
%w{24}.include?(sd.at_css('SubjectSchemeIdentifier').try(:text)) }.map { |sd| PublisherSubject.new(sd) }
|
404
|
-
@thema_subjects = data.css('Subject').find_all { |sd|
|
415
|
+
@thema_subjects = data.css('Subject').find_all { |sd|
|
405
416
|
%w{93 94 95 96 97 98 99}.include?(sd.at_css('SubjectSchemeIdentifier').try(:text)) }.map { |sd| ThemaSubject.new(sd) }
|
406
417
|
@audience_ranges = data.css('AudienceRange').map { |audience_data| AudienceRange.new(audience_data) }
|
407
418
|
|
@@ -436,7 +447,7 @@ module Elibri
|
|
436
447
|
preorder_embargo_date_as_object = publication_dates.find { |date| date.role == Elibri::ONIX::Dict::Release_3_0::PublishingDateRole::PREORDER_EMBARGO_DATE }
|
437
448
|
@preorder_embargo_date = Date.new(*preorder_embargo_date_as_object.parsed) if preorder_embargo_date_as_object
|
438
449
|
|
439
|
-
@sales_restrictions = data.css('SalesRestriction').map { |restriction_data| SalesRestriction.new(restriction_data) }
|
450
|
+
@sales_restrictions = data.css('SalesRestriction').map { |restriction_data| SalesRestriction.new(restriction_data) }
|
440
451
|
#ograniczenia terytorialne
|
441
452
|
if data.at_css("CountriesIncluded").try(:text) == "PL"
|
442
453
|
@sale_restricted_to_poland = true
|
@@ -462,7 +473,7 @@ module Elibri
|
|
462
473
|
|
463
474
|
#flaga - true, jeśli produkt nie ma żadnego autora
|
464
475
|
def no_contributor?
|
465
|
-
@no_contributor
|
476
|
+
@no_contributor
|
466
477
|
end
|
467
478
|
|
468
479
|
#flaga, czy książka to praca zbiorowa?
|
@@ -479,7 +490,7 @@ module Elibri
|
|
479
490
|
unnamed_persons? ? ["praca zbiorowa"] : @contributors.find_all { |c| c.role_name == "author" }.map(&:person_name)
|
480
491
|
end
|
481
492
|
|
482
|
-
[:ghostwriter, :scenarist, :originator, :illustrator, :photographer, :author_of_preface, :drawer, :cover_designer,
|
493
|
+
[:ghostwriter, :scenarist, :originator, :illustrator, :photographer, :author_of_preface, :drawer, :cover_designer,
|
483
494
|
:inked_or_colored_by, :editor, :revisor, :translator, :editor_in_chief, :read_by].each do |role|
|
484
495
|
define_method "#{role}s" do
|
485
496
|
@contributors.find_all { |c| c.role_name == role.to_s }.map(&:person_name)
|
@@ -514,7 +525,7 @@ module Elibri
|
|
514
525
|
end
|
515
526
|
|
516
527
|
#:nodoc:
|
517
|
-
def proprietary_identifiers
|
528
|
+
def proprietary_identifiers
|
518
529
|
@identifiers.find_all { |i| i.identifier_type == "proprietary" }.inject({}) { |res, ident| res[ident.type_name] = ident.value; res }
|
519
530
|
end
|
520
531
|
|
@@ -598,6 +609,12 @@ module Elibri
|
|
598
609
|
end
|
599
610
|
end
|
600
611
|
end
|
612
|
+
|
613
|
+
def _parse_date(string)
|
614
|
+
Date.new(string[0...4].to_i, string[4...6].to_i, string[6...8].to_i)
|
615
|
+
rescue ArgumentError
|
616
|
+
raise "Invalid date '#{string}' when parsing date for #{@record_reference}"
|
617
|
+
end
|
601
618
|
end
|
602
619
|
|
603
620
|
end
|
@@ -2,43 +2,35 @@
|
|
2
2
|
module Elibri
|
3
3
|
module ONIX
|
4
4
|
module Release_3_0
|
5
|
-
|
5
|
+
|
6
6
|
#Sender of the message
|
7
7
|
class Sender
|
8
8
|
include Inspector
|
9
|
-
|
9
|
+
|
10
10
|
#name of company, which sent the message
|
11
11
|
attr_accessor :sender_name
|
12
12
|
|
13
|
-
#contact person
|
14
|
-
attr_accessor :contact_name
|
15
|
-
|
16
|
-
#contact email
|
17
|
-
attr_accessor :email_address
|
18
|
-
|
19
13
|
#xml representation of sender
|
20
14
|
attr_accessor :to_xml
|
21
|
-
|
15
|
+
|
22
16
|
#:nodoc:
|
23
17
|
ATTRIBUTES = [
|
24
18
|
:sender_name, :contact_name, :email_address
|
25
19
|
]
|
26
|
-
|
20
|
+
|
27
21
|
#:nodoc:
|
28
22
|
RELATIONS = []
|
29
23
|
|
30
24
|
#:nodoc:
|
31
25
|
def inspect_include_fields
|
32
|
-
[:sender_name
|
26
|
+
[:sender_name]
|
33
27
|
end
|
34
|
-
|
28
|
+
|
35
29
|
def initialize(data)
|
36
30
|
@to_xml = data.to_s
|
37
31
|
@sender_name = data.at_css('SenderName').text
|
38
|
-
@contact_name = data.at_css('ContactName').text
|
39
|
-
@email_address = data.at_css('EmailAddress').text
|
40
32
|
end
|
41
|
-
|
33
|
+
|
42
34
|
end
|
43
35
|
|
44
36
|
end
|
data/lib/elibri_onix/version.rb
CHANGED
@@ -12,7 +12,7 @@ describe Elibri::ONIX::Release_3_0::ONIXMessage do
|
|
12
12
|
assert_equal "4b145ff46636b06f49225abdab70927f", e.md5
|
13
13
|
assert_equal "epub_excerpt", e.file_type
|
14
14
|
assert_equal Time.parse("2012-12-30 15:18 +00:00"), e.updated_at
|
15
|
-
assert_equal "https://www.elibri.com.pl/excerpt/767", e.link
|
15
|
+
assert_equal "https://www.elibri.com.pl/excerpt/767/4b145ff46636b06f49225abdab70927f/fragment.epub", e.link
|
16
16
|
assert_equal 767, e.eid
|
17
17
|
|
18
18
|
assert_equal 2, product.file_infos.size
|
@@ -6,38 +6,36 @@ describe Elibri::ONIX::Release_3_0::ONIXMessage do
|
|
6
6
|
|
7
7
|
it "should be able to parse all attributes supported in Elibri" do
|
8
8
|
xml_string = File.read File.join(File.dirname(__FILE__), "..", "test", "fixtures", "all_possible_tags.xml")
|
9
|
-
|
9
|
+
|
10
10
|
onix = Elibri::ONIX::Release_3_0::ONIXMessage.new(xml_string)
|
11
11
|
assert_equal '3.0', onix.release
|
12
12
|
assert_equal 'Elibri.com.pl', onix.header.sender.sender_name
|
13
|
-
assert_equal 'Tomasz Meka', onix.header.sender.contact_name
|
14
|
-
assert_equal 'kontakt@elibri.com.pl', onix.header.sender.email_address
|
15
13
|
assert_equal Date.new(2011, 10, 5), onix.header.sent_date_time
|
16
14
|
|
17
|
-
assert_equal 1, onix.products.size
|
15
|
+
assert_equal 1, onix.products.size
|
18
16
|
|
19
17
|
product = onix.products.first
|
20
18
|
|
21
|
-
assert_equal 'miękka', product.cover_type
|
19
|
+
assert_equal 'miękka', product.cover_type
|
22
20
|
assert_equal 12.99, product.cover_price
|
23
21
|
assert_equal 5, product.vat
|
24
22
|
assert_equal '58.11.1', product.pkwiu
|
25
23
|
|
26
24
|
assert_equal 'fdb8fa072be774d97a97', product.record_reference
|
27
25
|
assert_equal '03', product.notification_type
|
28
|
-
assert_equal "Record had many errors", product.deletion_text
|
26
|
+
assert_equal "Record had many errors", product.deletion_text
|
29
27
|
|
30
28
|
assert_equal '9788324799992', product.isbn13
|
31
29
|
assert_equal '9788324788882', product.ean
|
32
30
|
|
33
31
|
assert_equal({"Gildia.pl" => "GILD-123", "PWN" => "pl.pwn.ksiegarnia.produkt.id.76734"}, product.proprietary_identifiers)
|
34
32
|
|
35
|
-
assert_equal "00", product.product_composition
|
33
|
+
assert_equal "00", product.product_composition
|
36
34
|
assert_equal 'BA', product.product_form
|
37
35
|
|
38
|
-
assert_equal 4, product.measures.size
|
36
|
+
assert_equal 4, product.measures.size
|
39
37
|
|
40
|
-
assert_equal 195, product.height
|
38
|
+
assert_equal 195, product.height
|
41
39
|
assert_equal 125, product.width
|
42
40
|
assert_equal 20, product.thickness
|
43
41
|
assert_equal 90, product.weight
|
@@ -49,10 +47,10 @@ describe Elibri::ONIX::Release_3_0::ONIXMessage do
|
|
49
47
|
assert_equal 'Trade title', product.trade_title
|
50
48
|
assert_equal 'Collection title (Vol. 1). Title. Subtitle (part 5)', product.full_title
|
51
49
|
|
52
|
-
assert_equal 1, product.contributors.size
|
50
|
+
assert_equal 1, product.contributors.size
|
53
51
|
product.contributors.first.tap do |sienkiewicz|
|
54
|
-
assert_equal 'B06', sienkiewicz.role
|
55
|
-
assert_equal 'pol', sienkiewicz.from_language
|
52
|
+
assert_equal 'B06', sienkiewicz.role
|
53
|
+
assert_equal 'pol', sienkiewicz.from_language
|
56
54
|
assert_equal "prof. Henryk von Sienkiewicz Ibrahim", sienkiewicz.person_name
|
57
55
|
assert_equal "prof.", sienkiewicz.titles_before_names
|
58
56
|
assert_equal "Henryk", sienkiewicz.names_before_key
|
@@ -71,7 +69,7 @@ describe Elibri::ONIX::Release_3_0::ONIXMessage do
|
|
71
69
|
assert_equal 250, product.number_of_pages
|
72
70
|
assert_equal 32, product.number_of_illustrations
|
73
71
|
|
74
|
-
assert_equal 7, product.reading_age_from
|
72
|
+
assert_equal 7, product.reading_age_from
|
75
73
|
assert_equal 25, product.reading_age_to
|
76
74
|
|
77
75
|
assert_equal 1, product.text_contents.size
|
@@ -91,7 +89,7 @@ describe Elibri::ONIX::Release_3_0::ONIXMessage do
|
|
91
89
|
|
92
90
|
assert_equal 'National Geographic', product.imprint_name
|
93
91
|
|
94
|
-
assert_equal 'GREG', product.publisher.name
|
92
|
+
assert_equal 'GREG', product.publisher.name
|
95
93
|
assert_equal "01", product.publisher.role
|
96
94
|
|
97
95
|
assert_equal "04", product.publishing_status
|
@@ -109,24 +107,24 @@ describe Elibri::ONIX::Release_3_0::ONIXMessage do
|
|
109
107
|
assert_equal 2, product.related_products.size
|
110
108
|
|
111
109
|
product.related_products.first.tap do |first_related|
|
112
|
-
#assert_equal 24, first_related.relation_code
|
110
|
+
#assert_equal 24, first_related.relation_code
|
113
111
|
#assert_equal '9788324705818', first_related.isbn13
|
114
112
|
#assert_equal({"Gildia.pl" => "Title of facsimile"}, first_related.proprietary_identifiers)
|
115
113
|
end
|
116
114
|
|
117
115
|
product.related_products[1].tap do |second_related|
|
118
|
-
#assert_equal 23, second_related.relation_code
|
116
|
+
#assert_equal 23, second_related.relation_code
|
119
117
|
#assert_equal '9788324799992', second_related.isbn13
|
120
118
|
#assert_equal({"PWN" => "Title of similar book"}, second_related.proprietary_identifiers)
|
121
119
|
end
|
122
120
|
|
123
|
-
assert_equal 2, product.supply_details.size
|
121
|
+
assert_equal 2, product.supply_details.size
|
124
122
|
|
125
123
|
product.supply_details.first.tap do |supply_detail|
|
126
124
|
supply_detail.supplier.tap do |supplier|
|
127
125
|
assert_equal "03", supplier.role
|
128
126
|
assert_equal '5213359408', supplier.nip
|
129
|
-
assert_equal 'Gildia.pl', supplier.name
|
127
|
+
assert_equal 'Gildia.pl', supplier.name
|
130
128
|
assert_equal "22 631 40 83", supplier.telephone_number
|
131
129
|
assert_equal "bok@gildia.pl", supplier.email_address
|
132
130
|
assert_equal "http://gildia.pl", supplier.website
|
@@ -140,7 +138,7 @@ describe Elibri::ONIX::Release_3_0::ONIXMessage do
|
|
140
138
|
assert_equal "02", price.type
|
141
139
|
assert_equal 20, price.minimum_order_quantity
|
142
140
|
assert_equal 12.99, price.amount
|
143
|
-
assert_equal 7, price.vat
|
141
|
+
assert_equal 7, price.vat
|
144
142
|
assert_equal 'PLN', price.currency_code
|
145
143
|
assert_equal "02", price.printed_on_product
|
146
144
|
assert price.printed_on_product?
|
@@ -0,0 +1,12 @@
|
|
1
|
+
require 'helper'
|
2
|
+
|
3
|
+
describe Elibri::ONIX::Release_3_0::ONIXMessage do
|
4
|
+
|
5
|
+
it "should be able to parse production country and cn info" do
|
6
|
+
product = load_fixture("onix_cn_production_country_example.xml")
|
7
|
+
|
8
|
+
assert_equal "4901", product.cn_code
|
9
|
+
assert_equal "DE", product.country_of_manufacture
|
10
|
+
end
|
11
|
+
|
12
|
+
end
|
@@ -56,8 +56,7 @@
|
|
56
56
|
<PublishingStatus>02</PublishingStatus>
|
57
57
|
<PublishingDate>
|
58
58
|
<PublishingDateRole>01</PublishingDateRole>
|
59
|
-
<
|
60
|
-
<Date>2011</Date>
|
59
|
+
<Date dateformat="05">2011</Date>
|
61
60
|
</PublishingDate>
|
62
61
|
<SalesRights>
|
63
62
|
<SalesRightsType>01</SalesRightsType>
|
@@ -58,7 +58,7 @@
|
|
58
58
|
<KeyNames>Keyes</KeyNames>
|
59
59
|
<BiographicalNote><p>
|
60
60
|
Daniel Keyes (1927-2014) – amerykański pisarz. Jego opowiadanie <em>Kwiaty dla Algernona</em> otrzymało nagrodę Hugo w 1960 roku. Rozwinięte do formy powieści pod tym samym tytułem doczekało się z kolei nagrody Nebula w roku 1966, a dwa lata później zostało zekranizowane jako <em>Charly</em>. Keyes opublikował także m.in. obsypaną nagrodami książkę non-fiction <em>Człowiek o 24 twarzach.</em></p>
|
61
|
-
|
61
|
+
|
62
62
|
</BiographicalNote>
|
63
63
|
</Contributor>
|
64
64
|
<Contributor sourcename="contributorid:221077" datestamp="20190614T0946">
|
@@ -194,12 +194,11 @@
|
|
194
194
|
<PublishingStatus>04</PublishingStatus>
|
195
195
|
<PublishingDate>
|
196
196
|
<!--PublishingDateRole: PUBLICATION_DATE--><PublishingDateRole>01</PublishingDateRole>
|
197
|
-
<!--DateFormat: YYYYMMDD
|
197
|
+
<!--DateFormat: YYYYMMDD-->
|
198
198
|
<Date dateformat="00">20190724</Date>
|
199
199
|
</PublishingDate>
|
200
200
|
<PublishingDate>
|
201
201
|
<PublishingDateRole>13</PublishingDateRole>
|
202
|
-
<DateFormat>00</DateFormat>
|
203
202
|
<Date dateformat="00">20250307</Date>
|
204
203
|
</PublishingDate>
|
205
204
|
<SalesRights>
|
@@ -116,12 +116,12 @@
|
|
116
116
|
<!--PublishingStatusCode: ACTIVE--><PublishingStatus>04</PublishingStatus>
|
117
117
|
<PublishingDate>
|
118
118
|
<!--PublishingDateRole: PUBLICATION_DATE--><PublishingDateRole>01</PublishingDateRole>
|
119
|
-
<!--DateFormat: YYYYMMDD
|
119
|
+
<!--DateFormat: YYYYMMDD-->
|
120
120
|
<Date dateformat="00">20180919</Date>
|
121
121
|
</PublishingDate>
|
122
122
|
<PublishingDate>
|
123
123
|
<!--PublishingDateRole: PREORDER_EMBARGO_DATE--><PublishingDateRole>27</PublishingDateRole>
|
124
|
-
<!--DateFormat: YYYYMMDD
|
124
|
+
<!--DateFormat: YYYYMMDD-->
|
125
125
|
<Date dateformat="00">20180905</Date>
|
126
126
|
</PublishingDate>
|
127
127
|
<SalesRights>
|
@@ -0,0 +1,49 @@
|
|
1
|
+
<?xml version="1.0"?>
|
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
|
+
</Sender>
|
7
|
+
<SentDateTime>20210713</SentDateTime>
|
8
|
+
</Header>
|
9
|
+
<Product>
|
10
|
+
<RecordReference>xxx</RecordReference>
|
11
|
+
<NotificationType>03</NotificationType>
|
12
|
+
<RecordSourceName>elibri</RecordSourceName>
|
13
|
+
<ProductIdentifier>
|
14
|
+
<ProductIDType>15</ProductIDType>
|
15
|
+
<IDValue>9788364057434</IDValue>
|
16
|
+
</ProductIdentifier>
|
17
|
+
<DescriptiveDetail>
|
18
|
+
<ProductComposition>00</ProductComposition>
|
19
|
+
<ProductForm>BA</ProductForm>
|
20
|
+
<CountryOfManufacture>DE</CountryOfManufacture>
|
21
|
+
<ProductClassification>
|
22
|
+
<ProductClassificationType>01</ProductClassificationType>
|
23
|
+
<ProductClassificationCode>4901</ProductClassificationCode>
|
24
|
+
</ProductClassification>
|
25
|
+
<TitleDetail>
|
26
|
+
<TitleType>01</TitleType>
|
27
|
+
<TitleElement>
|
28
|
+
<TitleElementLevel>01</TitleElementLevel>
|
29
|
+
<TitleText language="pol">Horror show</TitleText>
|
30
|
+
</TitleElement>
|
31
|
+
</TitleDetail>
|
32
|
+
<Contributor>
|
33
|
+
<ContributorRole>A01</ContributorRole>
|
34
|
+
<UnnamedPersons>04</UnnamedPersons>
|
35
|
+
</Contributor>
|
36
|
+
</DescriptiveDetail>
|
37
|
+
<PublishingDetail>
|
38
|
+
<Publisher>
|
39
|
+
<PublishingRole>01</PublishingRole>
|
40
|
+
<PublisherName>Helion</PublisherName>
|
41
|
+
</Publisher>
|
42
|
+
<PublishingStatus>07</PublishingStatus>
|
43
|
+
<PublishingDate>
|
44
|
+
<PublishingDateRole>01</PublishingDateRole>
|
45
|
+
<Date dateformat="05">2014</Date>
|
46
|
+
</PublishingDate>
|
47
|
+
</PublishingDetail>
|
48
|
+
</Product>
|
49
|
+
</ONIXMessage>
|
@@ -1,20 +1,18 @@
|
|
1
1
|
<?xml version="1.0" encoding="UTF-8"?>
|
2
|
-
<ONIXMessage release="3.0" xmlns="http://ns.editeur.org/onix/3.0/reference"
|
3
|
-
<elibri:Dialect>3.0.1</elibri:Dialect>
|
2
|
+
<ONIXMessage release="3.0" xmlns="http://ns.editeur.org/onix/3.0/reference">
|
4
3
|
<Header>
|
5
4
|
<Sender>
|
6
5
|
<SenderName>Elibri.com.pl</SenderName>
|
7
|
-
<ContactName>Tomasz Meka</ContactName>
|
8
|
-
<EmailAddress>kontakt@elibri.com.pl</EmailAddress>
|
9
6
|
</Sender>
|
10
|
-
<SentDateTime>
|
7
|
+
<SentDateTime>20210716</SentDateTime>
|
11
8
|
</Header>
|
12
9
|
<Product>
|
13
|
-
<RecordReference>
|
10
|
+
<RecordReference>xxx</RecordReference>
|
14
11
|
<NotificationType>03</NotificationType>
|
12
|
+
<RecordSourceName>elibri</RecordSourceName>
|
15
13
|
<ProductIdentifier>
|
16
14
|
<ProductIDType>15</ProductIDType>
|
17
|
-
<IDValue>
|
15
|
+
<IDValue>9788364057434</IDValue>
|
18
16
|
</ProductIdentifier>
|
19
17
|
<DescriptiveDetail>
|
20
18
|
<ProductComposition>00</ProductComposition>
|
@@ -23,86 +21,119 @@
|
|
23
21
|
<TitleType>01</TitleType>
|
24
22
|
<TitleElement>
|
25
23
|
<TitleElementLevel>01</TitleElementLevel>
|
26
|
-
<TitleText>
|
24
|
+
<TitleText language="pol">Horror show</TitleText>
|
27
25
|
</TitleElement>
|
28
26
|
</TitleDetail>
|
27
|
+
<Contributor>
|
28
|
+
<ContributorRole>A01</ContributorRole>
|
29
|
+
<UnnamedPersons>04</UnnamedPersons>
|
30
|
+
</Contributor>
|
29
31
|
</DescriptiveDetail>
|
32
|
+
<CollateralDetail>
|
33
|
+
<SupportingResource>
|
34
|
+
<ResourceContentType>15</ResourceContentType>
|
35
|
+
<ContentAudience>00</ContentAudience>
|
36
|
+
<ResourceMode>04</ResourceMode>
|
37
|
+
<ResourceVersion>
|
38
|
+
<ResourceForm>02</ResourceForm>
|
39
|
+
<ResourceVersionFeature>
|
40
|
+
<ResourceVersionFeatureType>01</ResourceVersionFeatureType>
|
41
|
+
<FeatureValue>E101</FeatureValue>
|
42
|
+
</ResourceVersionFeature>
|
43
|
+
<ResourceVersionFeature>
|
44
|
+
<ResourceVersionFeatureType>06</ResourceVersionFeatureType>
|
45
|
+
<FeatureValue>4b145ff46636b06f49225abdab70927f</FeatureValue>
|
46
|
+
</ResourceVersionFeature>
|
47
|
+
<ResourceVersionFeature>
|
48
|
+
<ResourceVersionFeatureType>07</ResourceVersionFeatureType>
|
49
|
+
<FeatureValue>2100230</FeatureValue>
|
50
|
+
</ResourceVersionFeature>
|
51
|
+
<ResourceLink>https://www.elibri.com.pl/excerpt/767/4b145ff46636b06f49225abdab70927f/fragment.epub</ResourceLink>
|
52
|
+
<ContentDate>
|
53
|
+
<ContentDateRole>17</ContentDateRole>
|
54
|
+
<Date dateformat="13">20121230T1518Z</Date>
|
55
|
+
</ContentDate>
|
56
|
+
</ResourceVersion>
|
57
|
+
<ResourceVersion>
|
58
|
+
<ResourceForm>02</ResourceForm>
|
59
|
+
<ResourceVersionFeature>
|
60
|
+
<ResourceVersionFeatureType>01</ResourceVersionFeatureType>
|
61
|
+
<FeatureValue>E127</FeatureValue>
|
62
|
+
</ResourceVersionFeature>
|
63
|
+
<ResourceVersionFeature>
|
64
|
+
<ResourceVersionFeatureType>06</ResourceVersionFeatureType>
|
65
|
+
<FeatureValue>3b452923564374efebc5bfe1059f5fd2</FeatureValue>
|
66
|
+
</ResourceVersionFeature>
|
67
|
+
<ResourceVersionFeature>
|
68
|
+
<ResourceVersionFeatureType>07</ResourceVersionFeatureType>
|
69
|
+
<FeatureValue>2100244</FeatureValue>
|
70
|
+
</ResourceVersionFeature>
|
71
|
+
<ResourceLink>https://www.elibri.com.pl/excerpt/768/3b452923564374efebc5bfe1059f5fd2/fragment.mobi</ResourceLink>
|
72
|
+
<ContentDate>
|
73
|
+
<ContentDateRole>17</ContentDateRole>
|
74
|
+
<Date dateformat="13">20121230T1518Z</Date>
|
75
|
+
</ContentDate>
|
76
|
+
</ResourceVersion>
|
77
|
+
</SupportingResource>
|
78
|
+
</CollateralDetail>
|
30
79
|
<PublishingDetail>
|
31
80
|
<Publisher>
|
32
81
|
<PublishingRole>01</PublishingRole>
|
33
|
-
<
|
34
|
-
<PublisherIDType>01</PublisherIDType>
|
35
|
-
<IDTypeName>ElibriPublisherCode</IDTypeName>
|
36
|
-
<IDValue>11</IDValue>
|
37
|
-
</PublisherIdentifier>
|
38
|
-
<PublisherName>GREG</PublisherName>
|
82
|
+
<PublisherName>Helion</PublisherName>
|
39
83
|
</Publisher>
|
40
|
-
<
|
41
|
-
<
|
42
|
-
|
43
|
-
<
|
44
|
-
|
45
|
-
<RegionsIncluded>WORLD</RegionsIncluded>
|
46
|
-
</Territory>
|
47
|
-
</SalesRights>
|
84
|
+
<PublishingStatus>07</PublishingStatus>
|
85
|
+
<PublishingDate>
|
86
|
+
<PublishingDateRole>01</PublishingDateRole>
|
87
|
+
<Date dateformat="05">2014</Date>
|
88
|
+
</PublishingDate>
|
48
89
|
</PublishingDetail>
|
49
|
-
<
|
50
|
-
|
51
|
-
|
52
|
-
|
53
|
-
|
54
|
-
|
55
|
-
|
56
|
-
|
57
|
-
|
58
|
-
|
59
|
-
|
60
|
-
|
61
|
-
|
62
|
-
|
63
|
-
|
64
|
-
|
65
|
-
|
66
|
-
|
67
|
-
|
68
|
-
|
69
|
-
|
70
|
-
|
71
|
-
|
72
|
-
|
73
|
-
<
|
74
|
-
|
75
|
-
|
76
|
-
|
77
|
-
|
78
|
-
|
79
|
-
|
80
|
-
|
81
|
-
|
82
|
-
|
83
|
-
|
84
|
-
|
85
|
-
|
86
|
-
|
87
|
-
|
88
|
-
|
89
|
-
|
90
|
-
|
91
|
-
|
92
|
-
|
93
|
-
|
94
|
-
</
|
95
|
-
</
|
96
|
-
</
|
97
|
-
<elibri:preview_exists>false</elibri:preview_exists>
|
98
|
-
<elibri:SaleNotRestricted/>
|
99
|
-
<elibri:excerpts>
|
100
|
-
<elibri:excerpt md5="4b145ff46636b06f49225abdab70927f" file_size="2100230" file_type="epub_excerpt" updated_at="2012-12-30T15:18:00+00:00" id="777">https://www.elibri.com.pl/excerpt/767</elibri:excerpt>
|
101
|
-
<elibri:excerpt md5="6f534ab6ab573845bb7ab221192aa86a" file_size="2101254" file_type="mobi_excerpt" updated_at="2012-12-30T15:16:00+00:00" id="778">https://www.elibri.com.pl/excerpt/768</elibri:excerpt>
|
102
|
-
</elibri:excerpts>
|
103
|
-
<elibri:masters>
|
104
|
-
<elibri:master id="775" md5="e9353ce40eaa677f8c5d666c2f8bbb3f" file_size="4197382" file_type="epub" updated_at="2012-12-30T15:18:00+00:00"/>
|
105
|
-
<elibri:master id="776" md5="d2c75a26973a1888f241125717b166cf" file_size="5246982" file_type="mobi" updated_at="2012-12-30T15:16:00+00:00"/>
|
106
|
-
</elibri:masters>
|
90
|
+
<ProductionDetail>
|
91
|
+
<ProductionManifest>
|
92
|
+
<BodyManifest>
|
93
|
+
<BodyResource>
|
94
|
+
<SequenceNumber>1</SequenceNumber>
|
95
|
+
<ResourceIdentifier>
|
96
|
+
<ResourceIDType>01</ResourceIDType>
|
97
|
+
<IDTypeName>elibri internal numerical ID</IDTypeName>
|
98
|
+
<IDValue>765</IDValue>
|
99
|
+
</ResourceIdentifier>
|
100
|
+
<ResourceFileFeature>
|
101
|
+
<ResourceFileFeatureType>07</ResourceFileFeatureType>
|
102
|
+
<ResourceFileFeatureValue>4197382</ResourceFileFeatureValue>
|
103
|
+
</ResourceFileFeature>
|
104
|
+
<ResourceFileFeature>
|
105
|
+
<ResourceFileFeatureType>06</ResourceFileFeatureType>
|
106
|
+
<ResourceFileFeatureValue>e9353ce40eaa677f8c5d666c2f8bbb3f</ResourceFileFeatureValue>
|
107
|
+
</ResourceFileFeature>
|
108
|
+
<ResourceFileLink>pan-tadeusz.epub</ResourceFileLink>
|
109
|
+
<ResourceFileDate>
|
110
|
+
<ResourceFileDateRole>17</ResourceFileDateRole>
|
111
|
+
<Date dateformat="13">20121230T1518Z</Date>
|
112
|
+
</ResourceFileDate>
|
113
|
+
</BodyResource>
|
114
|
+
<BodyResource>
|
115
|
+
<SequenceNumber>2</SequenceNumber>
|
116
|
+
<ResourceIdentifier>
|
117
|
+
<ResourceIDType>01</ResourceIDType>
|
118
|
+
<IDTypeName>elibri internal numerical ID</IDTypeName>
|
119
|
+
<IDValue>2</IDValue>
|
120
|
+
</ResourceIdentifier>
|
121
|
+
<ResourceFileFeature>
|
122
|
+
<ResourceFileFeatureType>07</ResourceFileFeatureType>
|
123
|
+
<ResourceFileFeatureValue>9177122</ResourceFileFeatureValue>
|
124
|
+
</ResourceFileFeature>
|
125
|
+
<ResourceFileFeature>
|
126
|
+
<ResourceFileFeatureType>06</ResourceFileFeatureType>
|
127
|
+
<ResourceFileFeatureValue>44452923564374efebc5bfe1059f5fb8</ResourceFileFeatureValue>
|
128
|
+
</ResourceFileFeature>
|
129
|
+
<ResourceFileLink>pan-tadeusz.mobi</ResourceFileLink>
|
130
|
+
<ResourceFileDate>
|
131
|
+
<ResourceFileDateRole>17</ResourceFileDateRole>
|
132
|
+
<Date dateformat="13">20121230T1518Z</Date>
|
133
|
+
</ResourceFileDate>
|
134
|
+
</BodyResource>
|
135
|
+
</BodyManifest>
|
136
|
+
</ProductionManifest>
|
137
|
+
</ProductionDetail>
|
107
138
|
</Product>
|
108
139
|
</ONIXMessage>
|
@@ -41,13 +41,11 @@
|
|
41
41
|
<PublishingStatus>02</PublishingStatus>
|
42
42
|
<PublishingDate>
|
43
43
|
<PublishingDateRole>01</PublishingDateRole>
|
44
|
-
<
|
45
|
-
<Date>20110210</Date>
|
44
|
+
<Date dateformat="00">20110210</Date>
|
46
45
|
</PublishingDate>
|
47
46
|
<PublishingDate>
|
48
47
|
<PublishingDateRole>27</PublishingDateRole>
|
49
|
-
<
|
50
|
-
<Date>20110201</Date>
|
48
|
+
<Date dateformat="00">20110201</Date>
|
51
49
|
</PublishingDate>
|
52
50
|
<SalesRights>
|
53
51
|
<SalesRightsType>01</SalesRightsType>
|
@@ -41,8 +41,7 @@
|
|
41
41
|
<PublishingStatus>04</PublishingStatus>
|
42
42
|
<PublishingDate>
|
43
43
|
<PublishingDateRole>01</PublishingDateRole>
|
44
|
-
<
|
45
|
-
<Date>201102</Date>
|
44
|
+
<Date dateformat="01">201102</Date>
|
46
45
|
</PublishingDate>
|
47
46
|
<SalesRights>
|
48
47
|
<SalesRightsType>01</SalesRightsType>
|
@@ -102,12 +102,12 @@
|
|
102
102
|
<!--PublishingStatusCode: ACTIVE--><PublishingStatus>04</PublishingStatus>
|
103
103
|
<PublishingDate>
|
104
104
|
<!--PublishingDateRole: PUBLICATION_DATE--><PublishingDateRole>01</PublishingDateRole>
|
105
|
-
<!--DateFormat: YYYYMMDD
|
105
|
+
<!--DateFormat: YYYYMMDD-->
|
106
106
|
<Date dateformat="00">20190227</Date>
|
107
107
|
</PublishingDate>
|
108
108
|
<PublishingDate>
|
109
109
|
<!--PublishingDateRole: PREORDER_EMBARGO_DATE--><PublishingDateRole>27</PublishingDateRole>
|
110
|
-
<!--DateFormat: YYYYMMDD
|
110
|
+
<!--DateFormat: YYYYMMDD-->
|
111
111
|
<Date dateformat="00">20190213</Date>
|
112
112
|
</PublishingDate>
|
113
113
|
<SalesRights>
|
@@ -41,8 +41,7 @@
|
|
41
41
|
<PublishingStatus>04</PublishingStatus>
|
42
42
|
<PublishingDate>
|
43
43
|
<PublishingDateRole>01</PublishingDateRole>
|
44
|
-
<
|
45
|
-
<Date>20120712</Date>
|
44
|
+
<Date dateformat="00">20120712</Date>
|
46
45
|
</PublishingDate>
|
47
46
|
<SalesRights>
|
48
47
|
<SalesRightsType>01</SalesRightsType>
|
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.17
|
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: 2022-05-23 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: activesupport
|
@@ -220,6 +220,7 @@ files:
|
|
220
220
|
- test/elibri_onix_test.rb
|
221
221
|
- test/elibri_product_form_features_test.rb
|
222
222
|
- test/elibri_product_form_test.rb
|
223
|
+
- test/elibri_production_country_test.rb
|
223
224
|
- test/elibri_publisher_info_test.rb
|
224
225
|
- test/elibri_publishing_status_test.rb
|
225
226
|
- test/elibri_record_identifiers_test.rb
|
@@ -239,6 +240,7 @@ files:
|
|
239
240
|
- test/fixtures/onix_audiobook_example.xml
|
240
241
|
- test/fixtures/onix_audiobook_extent_example.xml
|
241
242
|
- test/fixtures/onix_board_game_example.xml
|
243
|
+
- test/fixtures/onix_cn_production_country_example.xml
|
242
244
|
- test/fixtures/onix_collective_work_example.xml
|
243
245
|
- test/fixtures/onix_contributors_example.xml
|
244
246
|
- test/fixtures/onix_ebook_extent_example.xml
|
@@ -288,7 +290,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
288
290
|
- !ruby/object:Gem::Version
|
289
291
|
version: '0'
|
290
292
|
requirements: []
|
291
|
-
rubygems_version: 3.1
|
293
|
+
rubygems_version: 3.0.1
|
292
294
|
signing_key:
|
293
295
|
specification_version: 4
|
294
296
|
summary: EDItEUR ONIX format subset implementation used in Elibri publication system
|