milkfarm-onix 0.8.12 → 0.8.13
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.
- data/CHANGELOG +3 -0
- data/lib/onix.rb +1 -0
- data/lib/onix/complexity.rb +15 -0
- data/lib/onix/product.rb +2 -0
- data/lib/onix/version.rb +1 -1
- data/spec/complexity_spec.rb +47 -0
- metadata +7 -4
data/CHANGELOG
CHANGED
data/lib/onix.rb
CHANGED
@@ -0,0 +1,15 @@
|
|
1
|
+
# coding: utf-8
|
2
|
+
|
3
|
+
module ONIX
|
4
|
+
class Complexity
|
5
|
+
include ROXML
|
6
|
+
extend ONIX::ListWriter
|
7
|
+
include ONIX::Inflector
|
8
|
+
|
9
|
+
xml_name "Complexity"
|
10
|
+
|
11
|
+
xml_accessor :complexity_scheme_identifier, :from => "ComplexitySchemeIdentifier", :as => Fixnum, :to_xml => ONIX::Formatters.two_digit
|
12
|
+
xml_accessor :complexity_code, :from => "ComplexityCode"
|
13
|
+
list_writer :complexity_scheme_identifier, :list => 32
|
14
|
+
end
|
15
|
+
end
|
data/lib/onix/product.rb
CHANGED
@@ -28,6 +28,7 @@ module ONIX
|
|
28
28
|
xml_accessor :subjects, :from => "Subject", :as => [ONIX::Subject]
|
29
29
|
xml_accessor :audience_code, :from => "AudienceCode", :to_xml => ONIX::Formatters.two_digit
|
30
30
|
xml_accessor :audience_ranges, :from => "AudienceRange", :as => [ONIX::AudienceRange]
|
31
|
+
xml_accessor :complexities, :from => "Complexity", :as => [ONIX::Complexity]
|
31
32
|
xml_accessor :text, :from => "OtherText", :as => [ONIX::OtherText]
|
32
33
|
xml_accessor :media_files, :from => "MediaFile", :as => [ONIX::MediaFile]
|
33
34
|
xml_accessor :imprints, :from => "Imprint", :as => [ONIX::Imprint]
|
@@ -69,6 +70,7 @@ module ONIX
|
|
69
70
|
self.websites = []
|
70
71
|
self.subjects = []
|
71
72
|
self.audience_ranges = []
|
73
|
+
self.complexities = []
|
72
74
|
self.text = []
|
73
75
|
self.languages = []
|
74
76
|
self.media_files = []
|
data/lib/onix/version.rb
CHANGED
@@ -0,0 +1,47 @@
|
|
1
|
+
# coding: utf-8
|
2
|
+
|
3
|
+
require File.dirname(__FILE__) + '/spec_helper.rb'
|
4
|
+
|
5
|
+
describe ONIX::Complexity do
|
6
|
+
|
7
|
+
before(:each) do
|
8
|
+
data_path = File.join(File.dirname(__FILE__), "..", "data")
|
9
|
+
file1 = File.join(data_path, "complexity.xml")
|
10
|
+
@doc = Nokogiri::XML::Document.parse(File.read(file1))
|
11
|
+
@root = @doc.root
|
12
|
+
end
|
13
|
+
|
14
|
+
it "should correctly convert to a string" do
|
15
|
+
t = ONIX::Complexity.from_xml(@root.to_s)
|
16
|
+
t.to_xml.to_s[0,12].should eql("<Complexity>")
|
17
|
+
end
|
18
|
+
|
19
|
+
it "should provide read access to first level attributes" do
|
20
|
+
t = ONIX::Complexity.from_xml(@root.to_s)
|
21
|
+
t.complexity_scheme_identifier.should eql(2)
|
22
|
+
t.complexity_code.should eql("640")
|
23
|
+
end
|
24
|
+
|
25
|
+
it "should provide write access to first level attributes" do
|
26
|
+
t = ONIX::Complexity.new
|
27
|
+
|
28
|
+
t.complexity_scheme_identifier = 1
|
29
|
+
t.to_xml.to_s.include?("<ComplexitySchemeIdentifier>01</ComplexitySchemeIdentifier>").should be_true
|
30
|
+
|
31
|
+
t.complexity_code = "480"
|
32
|
+
t.to_xml.to_s.include?("<ComplexityCode>480</ComplexityCode>").should be_true
|
33
|
+
end
|
34
|
+
|
35
|
+
it "should raise error writing complexity_scheme_identifier value not in list" do
|
36
|
+
t = ONIX::Complexity.new
|
37
|
+
lambda {t.complexity_scheme_identifier = 999}.should raise_error
|
38
|
+
lambda {ONIX::Complexity.new(:complexity_scheme_identifier => 999)}.should raise_error
|
39
|
+
end
|
40
|
+
|
41
|
+
it "should properly initialize attributes when calling new" do
|
42
|
+
t = ONIX::Complexity.new(:complexity_scheme_identifier => 1, :complexity_code => "value")
|
43
|
+
t.complexity_scheme_identifier.should eql(1)
|
44
|
+
t.complexity_code.should eql("value")
|
45
|
+
end
|
46
|
+
|
47
|
+
end
|
metadata
CHANGED
@@ -1,13 +1,13 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: milkfarm-onix
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
hash:
|
4
|
+
hash: 37
|
5
5
|
prerelease:
|
6
6
|
segments:
|
7
7
|
- 0
|
8
8
|
- 8
|
9
|
-
-
|
10
|
-
version: 0.8.
|
9
|
+
- 13
|
10
|
+
version: 0.8.13
|
11
11
|
platform: ruby
|
12
12
|
authors:
|
13
13
|
- James Healy
|
@@ -16,7 +16,7 @@ autorequire:
|
|
16
16
|
bindir: bin
|
17
17
|
cert_chain: []
|
18
18
|
|
19
|
-
date:
|
19
|
+
date: 2012-01-19 00:00:00 Z
|
20
20
|
dependencies:
|
21
21
|
- !ruby/object:Gem::Dependency
|
22
22
|
name: roxml
|
@@ -123,6 +123,7 @@ files:
|
|
123
123
|
- lib/onix/apa_product.rb
|
124
124
|
- lib/onix/audience_range.rb
|
125
125
|
- lib/onix/code_list_extractor.rb
|
126
|
+
- lib/onix/complexity.rb
|
126
127
|
- lib/onix/contributor.rb
|
127
128
|
- lib/onix/discount_coded.rb
|
128
129
|
- lib/onix/discount_codeds.rb
|
@@ -341,6 +342,7 @@ files:
|
|
341
342
|
- CHANGELOG
|
342
343
|
- spec/apa_product_spec.rb
|
343
344
|
- spec/audience_range_spec.rb
|
345
|
+
- spec/complexity_spec.rb
|
344
346
|
- spec/contributor_spec.rb
|
345
347
|
- spec/discount_coded_spec.rb
|
346
348
|
- spec/discount_codeds_spec.rb
|
@@ -416,6 +418,7 @@ summary: A convenient mapping between Ruby objects and the ONIX XML specificatio
|
|
416
418
|
test_files:
|
417
419
|
- spec/apa_product_spec.rb
|
418
420
|
- spec/audience_range_spec.rb
|
421
|
+
- spec/complexity_spec.rb
|
419
422
|
- spec/contributor_spec.rb
|
420
423
|
- spec/discount_coded_spec.rb
|
421
424
|
- spec/discount_codeds_spec.rb
|