om 1.8.0 → 1.8.1
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 +7 -0
- data/.rspec +1 -0
- data/.rubocop.yml +1 -0
- data/.rubocop_todo.yml +382 -0
- data/.travis.yml +10 -0
- data/Rakefile +1 -1
- data/container_spec.rb +14 -14
- data/gemfiles/gemfile.rails3 +11 -0
- data/gemfiles/gemfile.rails4 +10 -0
- data/lib/om.rb +9 -12
- data/lib/om/samples/mods_article.rb +9 -9
- data/lib/om/tree_node.rb +6 -6
- data/lib/om/version.rb +1 -1
- data/lib/om/xml.rb +18 -20
- data/lib/om/xml/container.rb +12 -12
- data/lib/om/xml/document.rb +3 -7
- data/lib/om/xml/dynamic_node.rb +45 -50
- data/lib/om/xml/named_term_proxy.rb +13 -13
- data/lib/om/xml/node_generator.rb +3 -3
- data/lib/om/xml/template_registry.rb +18 -26
- data/lib/om/xml/term.rb +30 -46
- data/lib/om/xml/term_value_operators.rb +52 -56
- data/lib/om/xml/term_xpath_generator.rb +51 -57
- data/lib/om/xml/terminology.rb +8 -10
- data/lib/om/xml/validation.rb +19 -19
- data/lib/om/xml/vocabulary.rb +4 -4
- data/lib/tasks/om.rake +4 -6
- data/om.gemspec +1 -2
- data/spec/integration/differentiated_elements_spec.rb +2 -2
- data/spec/integration/element_value_spec.rb +13 -13
- data/spec/integration/proxies_and_ref_spec.rb +15 -15
- data/spec/integration/querying_documents_spec.rb +24 -18
- data/spec/integration/rights_metadata_integration_example_spec.rb +18 -18
- data/spec/integration/selective_querying_spec.rb +1 -1
- data/spec/integration/serialization_spec.rb +13 -13
- data/spec/integration/set_reentrant_terminology_spec.rb +7 -7
- data/spec/integration/xpathy_stuff_spec.rb +16 -16
- data/spec/spec_helper.rb +2 -3
- data/spec/unit/container_spec.rb +28 -29
- data/spec/unit/document_spec.rb +49 -50
- data/spec/unit/dynamic_node_spec.rb +55 -47
- data/spec/unit/named_term_proxy_spec.rb +16 -16
- data/spec/unit/node_generator_spec.rb +7 -7
- data/spec/unit/nokogiri_sanity_spec.rb +30 -30
- data/spec/unit/om_spec.rb +5 -5
- data/spec/unit/template_registry_spec.rb +69 -69
- data/spec/unit/term_builder_spec.rb +77 -77
- data/spec/unit/term_spec.rb +78 -72
- data/spec/unit/term_value_operators_spec.rb +186 -191
- data/spec/unit/term_xpath_generator_spec.rb +37 -43
- data/spec/unit/terminology_builder_spec.rb +85 -85
- data/spec/unit/terminology_spec.rb +98 -98
- data/spec/unit/validation_spec.rb +22 -22
- data/spec/unit/xml_serialization_spec.rb +21 -22
- data/spec/unit/xml_spec.rb +7 -7
- metadata +143 -147
@@ -1,7 +1,7 @@
|
|
1
1
|
require 'spec_helper'
|
2
2
|
|
3
3
|
describe "OM::XML::Validation" do
|
4
|
-
|
4
|
+
|
5
5
|
before(:all) do
|
6
6
|
class ValidationTest
|
7
7
|
include OM::XML::Container
|
@@ -9,38 +9,38 @@ describe "OM::XML::Validation" do
|
|
9
9
|
self.schema_url = "http://www.loc.gov/standards/mods/v3/mods-3-2.xsd"
|
10
10
|
end
|
11
11
|
end
|
12
|
-
|
12
|
+
|
13
13
|
before(:each) do
|
14
14
|
@sample = ValidationTest.from_xml("<foo><bar>1</bar></foo>")
|
15
15
|
end
|
16
|
-
|
17
|
-
## Validation Support
|
16
|
+
|
17
|
+
## Validation Support
|
18
18
|
# Some of these tests fail when you don't have an internet connection because the mods schema includes other xsd schemas by URL reference.
|
19
19
|
|
20
20
|
describe '#schema_url' do
|
21
21
|
it "should allow you to set the schema url" do
|
22
|
-
ValidationTest.schema_url.
|
22
|
+
expect(ValidationTest.schema_url).to eq("http://www.loc.gov/standards/mods/v3/mods-3-2.xsd")
|
23
23
|
end
|
24
24
|
end
|
25
|
-
|
25
|
+
|
26
26
|
describe "#schema" do
|
27
27
|
it "should return an instance of Nokogiri::XML::Schema loaded from the schema url -- fails if no internet connection" do
|
28
|
-
|
29
|
-
ValidationTest.schema.
|
28
|
+
skip "no internet connection"
|
29
|
+
expect(ValidationTest.schema).to be_kind_of Nokogiri::XML::Schema
|
30
30
|
end
|
31
31
|
end
|
32
32
|
|
33
33
|
describe "#validate" do
|
34
34
|
it "should validate the provided document against the schema provided in class definition -- fails if no internet connection" do
|
35
|
-
|
36
|
-
ValidationTest.schema.
|
35
|
+
skip "no internet connection"
|
36
|
+
expect(ValidationTest.schema).to receive(:validate).with(@sample).and_return([])
|
37
37
|
ValidationTest.validate(@sample)
|
38
38
|
end
|
39
39
|
end
|
40
40
|
|
41
41
|
describe ".validate" do
|
42
42
|
it "should rely on class validate method" do
|
43
|
-
ValidationTest.
|
43
|
+
expect(ValidationTest).to receive(:validate).with(@sample)
|
44
44
|
@sample.validate
|
45
45
|
end
|
46
46
|
end
|
@@ -49,32 +49,32 @@ describe "OM::XML::Validation" do
|
|
49
49
|
before(:all) do
|
50
50
|
ValidationTest.schema_file = nil
|
51
51
|
end
|
52
|
-
|
52
|
+
|
53
53
|
after(:all) do
|
54
54
|
ValidationTest.schema_file = fixture("mods-3-2.xsd")
|
55
55
|
end
|
56
|
-
|
56
|
+
|
57
57
|
it "should lazy load the schema file from the @schema_url" do
|
58
|
-
ValidationTest.instance_variable_get(:@schema_file).
|
59
|
-
ValidationTest.
|
58
|
+
expect(ValidationTest.instance_variable_get(:@schema_file)).to be_nil
|
59
|
+
expect(ValidationTest).to receive(:file_from_url).with(ValidationTest.schema_url).and_return("fake file").once
|
60
60
|
ValidationTest.schema_file
|
61
|
-
ValidationTest.instance_variable_get(:@schema_file).
|
62
|
-
ValidationTest.schema_file.
|
61
|
+
expect(ValidationTest.instance_variable_get(:@schema_file)).to eq("fake file")
|
62
|
+
expect(ValidationTest.schema_file).to eq("fake file")
|
63
63
|
end
|
64
64
|
end
|
65
65
|
|
66
66
|
describe "#file_from_url" do
|
67
67
|
it "should retrieve a file from the provided url over HTTP" do
|
68
|
-
ValidationTest.
|
68
|
+
expect(ValidationTest).to receive(:open).with("http://google.com")
|
69
69
|
ValidationTest.send(:file_from_url, "http://google.com")
|
70
70
|
end
|
71
71
|
it "should raise an error if the url is invalid" do
|
72
|
-
|
73
|
-
|
72
|
+
expect {ValidationTest.send(:file_from_url, "")}.to raise_error(RuntimeError, "Could not retrieve file from . Error: No such file or directory - ")
|
73
|
+
expect {ValidationTest.send(:file_from_url, "foo")}.to raise_error(RuntimeError, "Could not retrieve file from foo. Error: No such file or directory - foo")
|
74
74
|
end
|
75
75
|
it "should raise an error if file retrieval fails" do
|
76
|
-
|
77
|
-
|
76
|
+
skip "no internet connection"
|
77
|
+
expect {ValidationTest.send(:file_from_url, "http://fedora-commons.org/nonexistent_file")}.to raise_error(RuntimeError, "Could not retrieve file from http://fedora-commons.org/nonexistent_file. Error: 404 Not Found")
|
78
78
|
end
|
79
79
|
end
|
80
80
|
end
|
@@ -7,14 +7,13 @@ describe "OM::XML::Terminology.to_xml" do
|
|
7
7
|
it "should put terminology details into the xml" do
|
8
8
|
expected_xml = "<namespaces>\n <namespace>\n <name>oxns</name>\n <identifier>http://www.loc.gov/mods/v3</identifier>\n </namespace>\n <namespace>\n <name>xmlns:foo</name>\n <identifier>http://my.custom.namespace</identifier>\n </namespace>\n <namespace>\n <name>xmlns</name>\n <identifier>http://www.loc.gov/mods/v3</identifier>\n </namespace>\n</namespaces>"
|
9
9
|
xml = @terminology.to_xml
|
10
|
-
xml.xpath("/terminology/schema").to_xml.
|
11
|
-
xml.xpath("/terminology/namespaces").to_xml.
|
10
|
+
expect(xml.xpath("/terminology/schema").to_xml).to eq("<schema>http://www.loc.gov/standards/mods/v3/mods-3-2.xsd</schema>")
|
11
|
+
expect(xml.xpath("/terminology/namespaces").to_xml).to be_equivalent_to expected_xml
|
12
12
|
end
|
13
13
|
it "should call .to_xml on all of the terms" do
|
14
|
-
options = {}
|
15
14
|
doc = Nokogiri::XML::Document.new
|
16
|
-
@terminology.terms.values.each {|term| term.
|
17
|
-
@terminology.to_xml(
|
15
|
+
@terminology.terms.values.each {|term| expect(term).to receive(:to_xml) }
|
16
|
+
@terminology.to_xml({}, doc)
|
18
17
|
end
|
19
18
|
end
|
20
19
|
|
@@ -27,33 +26,33 @@ describe "OM::XML::Term.to_xml" do
|
|
27
26
|
end
|
28
27
|
it "should return an xml representation of the Term" do
|
29
28
|
xml = @person_first_name.to_xml
|
30
|
-
xml.xpath("/term").first.attributes["name"].value.
|
31
|
-
xml.xpath("/term/attributes/type").first.text.
|
32
|
-
xml.xpath("/term/path").first.text.
|
33
|
-
xml.xpath("/term/namespace_prefix").first.text.
|
34
|
-
xml.xpath("/term/children/*").
|
35
|
-
xml.xpath("/term/xpath/relative").first.text.
|
36
|
-
xml.xpath("/term/xpath/absolute").first.text.
|
37
|
-
xml.xpath("/term/xpath/constrained").first.text.
|
38
|
-
xml.xpath("/term/index_as").first.text.
|
39
|
-
xml.xpath("/term/required").first.text.
|
40
|
-
xml.xpath("/term/data_type").first.text.
|
29
|
+
expect(xml.xpath("/term").first.attributes["name"].value).to eq("first_name")
|
30
|
+
expect(xml.xpath("/term/attributes/type").first.text).to eq("given")
|
31
|
+
expect(xml.xpath("/term/path").first.text).to eq("namePart")
|
32
|
+
expect(xml.xpath("/term/namespace_prefix").first.text).to eq("oxns")
|
33
|
+
expect(xml.xpath("/term/children/*")).to be_empty
|
34
|
+
expect(xml.xpath("/term/xpath/relative").first.text).to eq("oxns:namePart[@type=\"given\"]")
|
35
|
+
expect(xml.xpath("/term/xpath/absolute").first.text).to eq("//oxns:name[@type=\"personal\"]/oxns:namePart[@type=\"given\"]")
|
36
|
+
expect(xml.xpath("/term/xpath/constrained").first.text).to eq("//oxns:name[@type=\\\"personal\\\"]/oxns:namePart[@type=\\\"given\\\" and contains(., \\\"\#{constraint_value}\\\")]")
|
37
|
+
expect(xml.xpath("/term/index_as").first.text).to eq("")
|
38
|
+
expect(xml.xpath("/term/required").first.text).to eq("false")
|
39
|
+
expect(xml.xpath("/term/data_type").first.text).to eq("string")
|
41
40
|
end
|
42
41
|
it "should capture root term info" do
|
43
42
|
xml = @terminology.root_terms.first.to_xml
|
44
|
-
xml.xpath("/term/is_root_term").text.
|
45
|
-
@person_first_name.to_xml.xpath("/term/is_root_term").
|
43
|
+
expect(xml.xpath("/term/is_root_term").text).to eq("true")
|
44
|
+
expect(@person_first_name.to_xml.xpath("/term/is_root_term")).to be_empty
|
46
45
|
end
|
47
46
|
it "should allow you to pass in a document to add the term to" do
|
48
47
|
doc = Nokogiri::XML::Document.new
|
49
|
-
@person_first_name.to_xml({}, doc).
|
48
|
+
expect(@person_first_name.to_xml({}, doc)).to eq(doc)
|
50
49
|
end
|
51
50
|
it "should include children" do
|
52
51
|
children = @person.to_xml.xpath("//term[@name=\"person\"]/children/*")
|
53
|
-
children.length.
|
54
|
-
children.each {|child| child.name.
|
52
|
+
expect(children.length).to eq(12)
|
53
|
+
children.each {|child| expect(child.name).to eq("term")}
|
55
54
|
end
|
56
55
|
it "should skip children if :children=>false" do
|
57
|
-
@person.to_xml(:children=>false).xpath("children").
|
56
|
+
expect(@person.to_xml(:children=>false).xpath("children")).to be_empty
|
58
57
|
end
|
59
58
|
end
|
data/spec/unit/xml_spec.rb
CHANGED
@@ -1,22 +1,22 @@
|
|
1
1
|
require 'spec_helper'
|
2
2
|
|
3
3
|
describe "OM::XML::Container" do
|
4
|
-
|
4
|
+
|
5
5
|
before(:all) do
|
6
6
|
class XMLTest
|
7
7
|
include OM::XML
|
8
8
|
end
|
9
9
|
end
|
10
|
-
|
10
|
+
|
11
11
|
it "should automatically include the other modules" do
|
12
|
-
XMLTest.included_modules.
|
13
|
-
XMLTest.included_modules.
|
12
|
+
expect(XMLTest.included_modules).to include(OM::XML::Container)
|
13
|
+
expect(XMLTest.included_modules).to include(OM::XML::Validation)
|
14
14
|
end
|
15
|
-
|
15
|
+
|
16
16
|
describe "#sanitize_pointer" do
|
17
17
|
it "should convert any nested arrays into hashes" do
|
18
|
-
XMLTest.sanitize_pointer( [[:person,1],:role] ).
|
18
|
+
expect(XMLTest.sanitize_pointer( [[:person,1],:role] )).to eq([{:person=>1},:role])
|
19
19
|
end
|
20
20
|
end
|
21
|
-
|
21
|
+
|
22
22
|
end
|
metadata
CHANGED
@@ -1,175 +1,174 @@
|
|
1
|
-
--- !ruby/object:Gem::Specification
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
2
|
name: om
|
3
|
-
version: !ruby/object:Gem::Version
|
4
|
-
|
5
|
-
segments:
|
6
|
-
- 1
|
7
|
-
- 8
|
8
|
-
- 0
|
9
|
-
version: 1.8.0
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 1.8.1
|
10
5
|
platform: ruby
|
11
|
-
authors:
|
6
|
+
authors:
|
12
7
|
- Matt Zumwalt
|
13
8
|
- Justin Coyne
|
14
9
|
autorequire:
|
15
10
|
bindir: bin
|
16
11
|
cert_chain: []
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
dependencies:
|
21
|
-
- !ruby/object:Gem::Dependency
|
12
|
+
date: 2015-10-17 00:00:00.000000000 Z
|
13
|
+
dependencies:
|
14
|
+
- !ruby/object:Gem::Dependency
|
22
15
|
name: activesupport
|
23
|
-
|
24
|
-
|
25
|
-
requirements:
|
16
|
+
requirement: !ruby/object:Gem::Requirement
|
17
|
+
requirements:
|
26
18
|
- - ">="
|
27
|
-
- !ruby/object:Gem::Version
|
28
|
-
|
29
|
-
- 0
|
30
|
-
version: "0"
|
19
|
+
- !ruby/object:Gem::Version
|
20
|
+
version: '0'
|
31
21
|
type: :runtime
|
32
|
-
version_requirements: *id001
|
33
|
-
- !ruby/object:Gem::Dependency
|
34
|
-
name: activemodel
|
35
22
|
prerelease: false
|
36
|
-
|
37
|
-
requirements:
|
23
|
+
version_requirements: !ruby/object:Gem::Requirement
|
24
|
+
requirements:
|
25
|
+
- - ">="
|
26
|
+
- !ruby/object:Gem::Version
|
27
|
+
version: '0'
|
28
|
+
- !ruby/object:Gem::Dependency
|
29
|
+
name: activemodel
|
30
|
+
requirement: !ruby/object:Gem::Requirement
|
31
|
+
requirements:
|
38
32
|
- - ">="
|
39
|
-
- !ruby/object:Gem::Version
|
40
|
-
|
41
|
-
- 0
|
42
|
-
version: "0"
|
33
|
+
- !ruby/object:Gem::Version
|
34
|
+
version: '0'
|
43
35
|
type: :runtime
|
44
|
-
version_requirements: *id002
|
45
|
-
- !ruby/object:Gem::Dependency
|
46
|
-
name: nokogiri
|
47
36
|
prerelease: false
|
48
|
-
|
49
|
-
requirements:
|
37
|
+
version_requirements: !ruby/object:Gem::Requirement
|
38
|
+
requirements:
|
39
|
+
- - ">="
|
40
|
+
- !ruby/object:Gem::Version
|
41
|
+
version: '0'
|
42
|
+
- !ruby/object:Gem::Dependency
|
43
|
+
name: nokogiri
|
44
|
+
requirement: !ruby/object:Gem::Requirement
|
45
|
+
requirements:
|
50
46
|
- - ">="
|
51
|
-
- !ruby/object:Gem::Version
|
52
|
-
segments:
|
53
|
-
- 1
|
54
|
-
- 4
|
55
|
-
- 2
|
47
|
+
- !ruby/object:Gem::Version
|
56
48
|
version: 1.4.2
|
57
49
|
type: :runtime
|
58
|
-
version_requirements: *id003
|
59
|
-
- !ruby/object:Gem::Dependency
|
60
|
-
name: mediashelf-loggable
|
61
50
|
prerelease: false
|
62
|
-
|
63
|
-
requirements:
|
51
|
+
version_requirements: !ruby/object:Gem::Requirement
|
52
|
+
requirements:
|
53
|
+
- - ">="
|
54
|
+
- !ruby/object:Gem::Version
|
55
|
+
version: 1.4.2
|
56
|
+
- !ruby/object:Gem::Dependency
|
57
|
+
name: mediashelf-loggable
|
58
|
+
requirement: !ruby/object:Gem::Requirement
|
59
|
+
requirements:
|
64
60
|
- - ">="
|
65
|
-
- !ruby/object:Gem::Version
|
66
|
-
|
67
|
-
- 0
|
68
|
-
version: "0"
|
61
|
+
- !ruby/object:Gem::Version
|
62
|
+
version: '0'
|
69
63
|
type: :runtime
|
70
|
-
version_requirements: *id004
|
71
|
-
- !ruby/object:Gem::Dependency
|
72
|
-
name: deprecation
|
73
64
|
prerelease: false
|
74
|
-
|
75
|
-
requirements:
|
65
|
+
version_requirements: !ruby/object:Gem::Requirement
|
66
|
+
requirements:
|
67
|
+
- - ">="
|
68
|
+
- !ruby/object:Gem::Version
|
69
|
+
version: '0'
|
70
|
+
- !ruby/object:Gem::Dependency
|
71
|
+
name: deprecation
|
72
|
+
requirement: !ruby/object:Gem::Requirement
|
73
|
+
requirements:
|
76
74
|
- - ">="
|
77
|
-
- !ruby/object:Gem::Version
|
78
|
-
|
79
|
-
- 0
|
80
|
-
version: "0"
|
75
|
+
- !ruby/object:Gem::Version
|
76
|
+
version: '0'
|
81
77
|
type: :runtime
|
82
|
-
version_requirements: *id005
|
83
|
-
- !ruby/object:Gem::Dependency
|
84
|
-
name: rspec
|
85
78
|
prerelease: false
|
86
|
-
|
87
|
-
requirements:
|
88
|
-
- -
|
89
|
-
- !ruby/object:Gem::Version
|
90
|
-
|
91
|
-
|
92
|
-
|
93
|
-
|
79
|
+
version_requirements: !ruby/object:Gem::Requirement
|
80
|
+
requirements:
|
81
|
+
- - ">="
|
82
|
+
- !ruby/object:Gem::Version
|
83
|
+
version: '0'
|
84
|
+
- !ruby/object:Gem::Dependency
|
85
|
+
name: rspec
|
86
|
+
requirement: !ruby/object:Gem::Requirement
|
87
|
+
requirements:
|
88
|
+
- - "~>"
|
89
|
+
- !ruby/object:Gem::Version
|
90
|
+
version: '2.99'
|
94
91
|
type: :development
|
95
|
-
version_requirements: *id006
|
96
|
-
- !ruby/object:Gem::Dependency
|
97
|
-
name: rake
|
98
92
|
prerelease: false
|
99
|
-
|
100
|
-
requirements:
|
93
|
+
version_requirements: !ruby/object:Gem::Requirement
|
94
|
+
requirements:
|
95
|
+
- - "~>"
|
96
|
+
- !ruby/object:Gem::Version
|
97
|
+
version: '2.99'
|
98
|
+
- !ruby/object:Gem::Dependency
|
99
|
+
name: rake
|
100
|
+
requirement: !ruby/object:Gem::Requirement
|
101
|
+
requirements:
|
101
102
|
- - ">="
|
102
|
-
- !ruby/object:Gem::Version
|
103
|
-
|
104
|
-
- 0
|
105
|
-
version: "0"
|
103
|
+
- !ruby/object:Gem::Version
|
104
|
+
version: '0'
|
106
105
|
type: :development
|
107
|
-
version_requirements: *id007
|
108
|
-
- !ruby/object:Gem::Dependency
|
109
|
-
name: rdoc
|
110
106
|
prerelease: false
|
111
|
-
|
112
|
-
requirements:
|
107
|
+
version_requirements: !ruby/object:Gem::Requirement
|
108
|
+
requirements:
|
109
|
+
- - ">="
|
110
|
+
- !ruby/object:Gem::Version
|
111
|
+
version: '0'
|
112
|
+
- !ruby/object:Gem::Dependency
|
113
|
+
name: rdoc
|
114
|
+
requirement: !ruby/object:Gem::Requirement
|
115
|
+
requirements:
|
113
116
|
- - ">="
|
114
|
-
- !ruby/object:Gem::Version
|
115
|
-
|
116
|
-
- 0
|
117
|
-
version: "0"
|
117
|
+
- !ruby/object:Gem::Version
|
118
|
+
version: '0'
|
118
119
|
type: :development
|
119
|
-
version_requirements: *id008
|
120
|
-
- !ruby/object:Gem::Dependency
|
121
|
-
name: awesome_print
|
122
120
|
prerelease: false
|
123
|
-
|
124
|
-
requirements:
|
121
|
+
version_requirements: !ruby/object:Gem::Requirement
|
122
|
+
requirements:
|
125
123
|
- - ">="
|
126
|
-
- !ruby/object:Gem::Version
|
127
|
-
|
128
|
-
|
129
|
-
|
124
|
+
- !ruby/object:Gem::Version
|
125
|
+
version: '0'
|
126
|
+
- !ruby/object:Gem::Dependency
|
127
|
+
name: awesome_print
|
128
|
+
requirement: !ruby/object:Gem::Requirement
|
129
|
+
requirements:
|
130
|
+
- - ">="
|
131
|
+
- !ruby/object:Gem::Version
|
132
|
+
version: '0'
|
130
133
|
type: :development
|
131
|
-
version_requirements: *id009
|
132
|
-
- !ruby/object:Gem::Dependency
|
133
|
-
name: mocha
|
134
134
|
prerelease: false
|
135
|
-
|
136
|
-
requirements:
|
135
|
+
version_requirements: !ruby/object:Gem::Requirement
|
136
|
+
requirements:
|
137
137
|
- - ">="
|
138
|
-
- !ruby/object:Gem::Version
|
139
|
-
|
140
|
-
|
141
|
-
- 9
|
142
|
-
- 8
|
143
|
-
version: 0.9.8
|
144
|
-
type: :development
|
145
|
-
version_requirements: *id010
|
146
|
-
- !ruby/object:Gem::Dependency
|
138
|
+
- !ruby/object:Gem::Version
|
139
|
+
version: '0'
|
140
|
+
- !ruby/object:Gem::Dependency
|
147
141
|
name: equivalent-xml
|
148
|
-
|
149
|
-
|
150
|
-
requirements:
|
142
|
+
requirement: !ruby/object:Gem::Requirement
|
143
|
+
requirements:
|
151
144
|
- - ">="
|
152
|
-
- !ruby/object:Gem::Version
|
153
|
-
segments:
|
154
|
-
- 0
|
155
|
-
- 2
|
156
|
-
- 4
|
145
|
+
- !ruby/object:Gem::Version
|
157
146
|
version: 0.2.4
|
158
147
|
type: :development
|
159
|
-
|
160
|
-
|
148
|
+
prerelease: false
|
149
|
+
version_requirements: !ruby/object:Gem::Requirement
|
150
|
+
requirements:
|
151
|
+
- - ">="
|
152
|
+
- !ruby/object:Gem::Version
|
153
|
+
version: 0.2.4
|
154
|
+
description: 'OM (Opinionated Metadata): A library to help you tame sprawling XML
|
155
|
+
schemas like MODS. Wraps Nokogiri documents in objects with miscellaneous helper
|
156
|
+
methods for doing things like retrieve generated xpath queries or look up properties
|
157
|
+
based on a simplified DSL'
|
161
158
|
email: matt.zumwalt@yourmediashelf.com justin.coyne@mediashelf.com
|
162
159
|
executables: []
|
163
|
-
|
164
160
|
extensions: []
|
165
|
-
|
166
|
-
extra_rdoc_files:
|
161
|
+
extra_rdoc_files:
|
167
162
|
- LICENSE
|
168
163
|
- README.rdoc
|
169
164
|
- README.textile
|
170
|
-
files:
|
171
|
-
- .document
|
172
|
-
- .gitignore
|
165
|
+
files:
|
166
|
+
- ".document"
|
167
|
+
- ".gitignore"
|
168
|
+
- ".rspec"
|
169
|
+
- ".rubocop.yml"
|
170
|
+
- ".rubocop_todo.yml"
|
171
|
+
- ".travis.yml"
|
173
172
|
- COMMON_OM_PATTERNS.textile
|
174
173
|
- GETTING_FANCY.textile
|
175
174
|
- GETTING_STARTED.textile
|
@@ -183,6 +182,8 @@ files:
|
|
183
182
|
- UPDATING_DOCUMENTS.textile
|
184
183
|
- container_spec.rb
|
185
184
|
- devel/notes.txt
|
185
|
+
- gemfiles/gemfile.rails3
|
186
|
+
- gemfiles/gemfile.rails4
|
186
187
|
- lib/om.rb
|
187
188
|
- lib/om/samples.rb
|
188
189
|
- lib/om/samples/mods_article.rb
|
@@ -237,37 +238,31 @@ files:
|
|
237
238
|
- spec/unit/validation_spec.rb
|
238
239
|
- spec/unit/xml_serialization_spec.rb
|
239
240
|
- spec/unit/xml_spec.rb
|
240
|
-
has_rdoc: true
|
241
241
|
homepage: http://github.com/projecthydra/om
|
242
242
|
licenses: []
|
243
|
-
|
243
|
+
metadata: {}
|
244
244
|
post_install_message:
|
245
245
|
rdoc_options: []
|
246
|
-
|
247
|
-
require_paths:
|
246
|
+
require_paths:
|
248
247
|
- lib
|
249
|
-
required_ruby_version: !ruby/object:Gem::Requirement
|
250
|
-
requirements:
|
248
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
249
|
+
requirements:
|
251
250
|
- - ">="
|
252
|
-
- !ruby/object:Gem::Version
|
253
|
-
|
254
|
-
|
255
|
-
|
256
|
-
required_rubygems_version: !ruby/object:Gem::Requirement
|
257
|
-
requirements:
|
251
|
+
- !ruby/object:Gem::Version
|
252
|
+
version: '0'
|
253
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
254
|
+
requirements:
|
258
255
|
- - ">="
|
259
|
-
- !ruby/object:Gem::Version
|
260
|
-
|
261
|
-
- 0
|
262
|
-
version: "0"
|
256
|
+
- !ruby/object:Gem::Version
|
257
|
+
version: '0'
|
263
258
|
requirements: []
|
264
|
-
|
265
259
|
rubyforge_project:
|
266
|
-
rubygems_version:
|
260
|
+
rubygems_version: 2.4.8
|
267
261
|
signing_key:
|
268
|
-
specification_version:
|
269
|
-
summary:
|
270
|
-
|
262
|
+
specification_version: 4
|
263
|
+
summary: 'OM (Opinionated Metadata): A library to help you tame sprawling XML schemas
|
264
|
+
like MODS.'
|
265
|
+
test_files:
|
271
266
|
- spec/fixtures/CBF_MODS/ARS0025_016.xml
|
272
267
|
- spec/fixtures/RUBRIC_mods_article_template.xml
|
273
268
|
- spec/fixtures/mods-3-2.xsd
|
@@ -302,3 +297,4 @@ test_files:
|
|
302
297
|
- spec/unit/validation_spec.rb
|
303
298
|
- spec/unit/xml_serialization_spec.rb
|
304
299
|
- spec/unit/xml_spec.rb
|
300
|
+
has_rdoc:
|