om 3.0.3 → 3.0.5
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/CONTRIBUTING.md +113 -0
- data/History.textile +0 -6
- data/README.md +41 -0
- data/gemfiles/gemfile.rails4 +1 -1
- data/lib/om.rb +2 -0
- data/lib/om/version.rb +1 -1
- data/lib/om/xml/document.rb +6 -1
- data/lib/om/xml/dynamic_node.rb +12 -2
- data/lib/om/xml/term.rb +242 -239
- data/lib/om/xml/term_builder.rb +39 -8
- data/lib/om/xml/terminology.rb +4 -1
- data/lib/om/xml/terminology_based_solrizer.rb +1 -1
- data/om.gemspec +1 -2
- data/spec/integration/serialization_spec.rb +37 -19
- data/spec/integration/subclass_terminology_spec.rb +14 -2
- data/spec/unit/container_spec.rb +2 -2
- data/spec/unit/dynamic_node_spec.rb +23 -0
- data/spec/unit/term_builder_spec.rb +41 -19
- data/spec/unit/term_spec.rb +3 -3
- data/spec/unit/term_xpath_generator_spec.rb +1 -1
- data/spec/unit/xml_terminology_based_solrizer_spec.rb +1 -0
- metadata +40 -68
- data/README.textile +0 -36
metadata
CHANGED
@@ -1,8 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: om
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 3.0.
|
5
|
-
prerelease:
|
4
|
+
version: 3.0.5
|
6
5
|
platform: ruby
|
7
6
|
authors:
|
8
7
|
- Matt Zumwalt
|
@@ -10,217 +9,191 @@ authors:
|
|
10
9
|
autorequire:
|
11
10
|
bindir: bin
|
12
11
|
cert_chain: []
|
13
|
-
date:
|
12
|
+
date: 2014-06-05 00:00:00.000000000 Z
|
14
13
|
dependencies:
|
15
14
|
- !ruby/object:Gem::Dependency
|
16
15
|
name: activesupport
|
17
16
|
requirement: !ruby/object:Gem::Requirement
|
18
|
-
none: false
|
19
17
|
requirements:
|
20
|
-
- -
|
18
|
+
- - ">="
|
21
19
|
- !ruby/object:Gem::Version
|
22
20
|
version: '0'
|
23
21
|
type: :runtime
|
24
22
|
prerelease: false
|
25
23
|
version_requirements: !ruby/object:Gem::Requirement
|
26
|
-
none: false
|
27
24
|
requirements:
|
28
|
-
- -
|
25
|
+
- - ">="
|
29
26
|
- !ruby/object:Gem::Version
|
30
27
|
version: '0'
|
31
28
|
- !ruby/object:Gem::Dependency
|
32
29
|
name: activemodel
|
33
30
|
requirement: !ruby/object:Gem::Requirement
|
34
|
-
none: false
|
35
31
|
requirements:
|
36
|
-
- -
|
32
|
+
- - ">="
|
37
33
|
- !ruby/object:Gem::Version
|
38
34
|
version: '0'
|
39
35
|
type: :runtime
|
40
36
|
prerelease: false
|
41
37
|
version_requirements: !ruby/object:Gem::Requirement
|
42
|
-
none: false
|
43
38
|
requirements:
|
44
|
-
- -
|
39
|
+
- - ">="
|
45
40
|
- !ruby/object:Gem::Version
|
46
41
|
version: '0'
|
47
42
|
- !ruby/object:Gem::Dependency
|
48
43
|
name: solrizer
|
49
44
|
requirement: !ruby/object:Gem::Requirement
|
50
|
-
none: false
|
51
45
|
requirements:
|
52
|
-
- - ~>
|
46
|
+
- - "~>"
|
53
47
|
- !ruby/object:Gem::Version
|
54
48
|
version: 3.1.0
|
55
49
|
type: :runtime
|
56
50
|
prerelease: false
|
57
51
|
version_requirements: !ruby/object:Gem::Requirement
|
58
|
-
none: false
|
59
52
|
requirements:
|
60
|
-
- - ~>
|
53
|
+
- - "~>"
|
61
54
|
- !ruby/object:Gem::Version
|
62
55
|
version: 3.1.0
|
63
56
|
- !ruby/object:Gem::Dependency
|
64
57
|
name: nokogiri
|
65
58
|
requirement: !ruby/object:Gem::Requirement
|
66
|
-
none: false
|
67
59
|
requirements:
|
68
|
-
- -
|
60
|
+
- - ">="
|
69
61
|
- !ruby/object:Gem::Version
|
70
62
|
version: 1.4.2
|
71
63
|
type: :runtime
|
72
64
|
prerelease: false
|
73
65
|
version_requirements: !ruby/object:Gem::Requirement
|
74
|
-
none: false
|
75
66
|
requirements:
|
76
|
-
- -
|
67
|
+
- - ">="
|
77
68
|
- !ruby/object:Gem::Version
|
78
69
|
version: 1.4.2
|
79
70
|
- !ruby/object:Gem::Dependency
|
80
71
|
name: mediashelf-loggable
|
81
72
|
requirement: !ruby/object:Gem::Requirement
|
82
|
-
none: false
|
83
73
|
requirements:
|
84
|
-
- -
|
74
|
+
- - ">="
|
85
75
|
- !ruby/object:Gem::Version
|
86
76
|
version: '0'
|
87
77
|
type: :runtime
|
88
78
|
prerelease: false
|
89
79
|
version_requirements: !ruby/object:Gem::Requirement
|
90
|
-
none: false
|
91
80
|
requirements:
|
92
|
-
- -
|
81
|
+
- - ">="
|
93
82
|
- !ruby/object:Gem::Version
|
94
83
|
version: '0'
|
95
84
|
- !ruby/object:Gem::Dependency
|
96
85
|
name: deprecation
|
97
86
|
requirement: !ruby/object:Gem::Requirement
|
98
|
-
none: false
|
99
87
|
requirements:
|
100
|
-
- -
|
88
|
+
- - ">="
|
101
89
|
- !ruby/object:Gem::Version
|
102
90
|
version: '0'
|
103
91
|
type: :runtime
|
104
92
|
prerelease: false
|
105
93
|
version_requirements: !ruby/object:Gem::Requirement
|
106
|
-
none: false
|
107
94
|
requirements:
|
108
|
-
- -
|
95
|
+
- - ">="
|
109
96
|
- !ruby/object:Gem::Version
|
110
97
|
version: '0'
|
111
98
|
- !ruby/object:Gem::Dependency
|
112
99
|
name: rspec
|
113
100
|
requirement: !ruby/object:Gem::Requirement
|
114
|
-
none: false
|
115
101
|
requirements:
|
116
|
-
- - ~>
|
102
|
+
- - "~>"
|
117
103
|
- !ruby/object:Gem::Version
|
118
104
|
version: '2.0'
|
119
105
|
type: :development
|
120
106
|
prerelease: false
|
121
107
|
version_requirements: !ruby/object:Gem::Requirement
|
122
|
-
none: false
|
123
108
|
requirements:
|
124
|
-
- - ~>
|
109
|
+
- - "~>"
|
125
110
|
- !ruby/object:Gem::Version
|
126
111
|
version: '2.0'
|
127
112
|
- !ruby/object:Gem::Dependency
|
128
113
|
name: rake
|
129
114
|
requirement: !ruby/object:Gem::Requirement
|
130
|
-
none: false
|
131
115
|
requirements:
|
132
|
-
- -
|
116
|
+
- - ">="
|
133
117
|
- !ruby/object:Gem::Version
|
134
118
|
version: '0'
|
135
119
|
type: :development
|
136
120
|
prerelease: false
|
137
121
|
version_requirements: !ruby/object:Gem::Requirement
|
138
|
-
none: false
|
139
122
|
requirements:
|
140
|
-
- -
|
123
|
+
- - ">="
|
141
124
|
- !ruby/object:Gem::Version
|
142
125
|
version: '0'
|
143
126
|
- !ruby/object:Gem::Dependency
|
144
127
|
name: yard
|
145
128
|
requirement: !ruby/object:Gem::Requirement
|
146
|
-
none: false
|
147
129
|
requirements:
|
148
|
-
- -
|
130
|
+
- - ">="
|
149
131
|
- !ruby/object:Gem::Version
|
150
132
|
version: '0'
|
151
133
|
type: :development
|
152
134
|
prerelease: false
|
153
135
|
version_requirements: !ruby/object:Gem::Requirement
|
154
|
-
none: false
|
155
136
|
requirements:
|
156
|
-
- -
|
137
|
+
- - ">="
|
157
138
|
- !ruby/object:Gem::Version
|
158
139
|
version: '0'
|
159
140
|
- !ruby/object:Gem::Dependency
|
160
141
|
name: rdoc
|
161
142
|
requirement: !ruby/object:Gem::Requirement
|
162
|
-
none: false
|
163
143
|
requirements:
|
164
|
-
- -
|
144
|
+
- - ">="
|
165
145
|
- !ruby/object:Gem::Version
|
166
146
|
version: '0'
|
167
147
|
type: :development
|
168
148
|
prerelease: false
|
169
149
|
version_requirements: !ruby/object:Gem::Requirement
|
170
|
-
none: false
|
171
150
|
requirements:
|
172
|
-
- -
|
151
|
+
- - ">="
|
173
152
|
- !ruby/object:Gem::Version
|
174
153
|
version: '0'
|
175
154
|
- !ruby/object:Gem::Dependency
|
176
155
|
name: RedCloth
|
177
156
|
requirement: !ruby/object:Gem::Requirement
|
178
|
-
none: false
|
179
157
|
requirements:
|
180
|
-
- -
|
158
|
+
- - ">="
|
181
159
|
- !ruby/object:Gem::Version
|
182
160
|
version: '0'
|
183
161
|
type: :development
|
184
162
|
prerelease: false
|
185
163
|
version_requirements: !ruby/object:Gem::Requirement
|
186
|
-
none: false
|
187
164
|
requirements:
|
188
|
-
- -
|
165
|
+
- - ">="
|
189
166
|
- !ruby/object:Gem::Version
|
190
167
|
version: '0'
|
191
168
|
- !ruby/object:Gem::Dependency
|
192
169
|
name: awesome_print
|
193
170
|
requirement: !ruby/object:Gem::Requirement
|
194
|
-
none: false
|
195
171
|
requirements:
|
196
|
-
- -
|
172
|
+
- - ">="
|
197
173
|
- !ruby/object:Gem::Version
|
198
174
|
version: '0'
|
199
175
|
type: :development
|
200
176
|
prerelease: false
|
201
177
|
version_requirements: !ruby/object:Gem::Requirement
|
202
|
-
none: false
|
203
178
|
requirements:
|
204
|
-
- -
|
179
|
+
- - ">="
|
205
180
|
- !ruby/object:Gem::Version
|
206
181
|
version: '0'
|
207
182
|
- !ruby/object:Gem::Dependency
|
208
183
|
name: equivalent-xml
|
209
184
|
requirement: !ruby/object:Gem::Requirement
|
210
|
-
none: false
|
211
185
|
requirements:
|
212
|
-
- -
|
186
|
+
- - ">="
|
213
187
|
- !ruby/object:Gem::Version
|
214
188
|
version: 0.2.4
|
215
189
|
type: :development
|
216
190
|
prerelease: false
|
217
191
|
version_requirements: !ruby/object:Gem::Requirement
|
218
|
-
none: false
|
219
192
|
requirements:
|
220
|
-
- -
|
193
|
+
- - ">="
|
221
194
|
- !ruby/object:Gem::Version
|
222
195
|
version: 0.2.4
|
223
|
-
description:
|
196
|
+
description: 'OM (Opinionated Metadata): A library to help you tame sprawling XML
|
224
197
|
schemas like MODS. Wraps Nokogiri documents in objects with miscellaneous helper
|
225
198
|
methods for doing things like retrieve generated xpath queries or look up properties
|
226
199
|
based on a simplified DSL'
|
@@ -229,19 +202,19 @@ executables: []
|
|
229
202
|
extensions: []
|
230
203
|
extra_rdoc_files:
|
231
204
|
- LICENSE
|
232
|
-
- README.textile
|
233
205
|
files:
|
234
|
-
- .document
|
235
|
-
- .gitignore
|
236
|
-
- .travis.yml
|
206
|
+
- ".document"
|
207
|
+
- ".gitignore"
|
208
|
+
- ".travis.yml"
|
237
209
|
- COMMON_OM_PATTERNS.textile
|
210
|
+
- CONTRIBUTING.md
|
238
211
|
- GETTING_FANCY.textile
|
239
212
|
- GETTING_STARTED.textile
|
240
213
|
- Gemfile
|
241
214
|
- History.textile
|
242
215
|
- LICENSE
|
243
216
|
- QUERYING_DOCUMENTS.textile
|
244
|
-
- README.
|
217
|
+
- README.md
|
245
218
|
- Rakefile
|
246
219
|
- UPDATING_DOCUMENTS.textile
|
247
220
|
- container_spec.rb
|
@@ -309,28 +282,27 @@ files:
|
|
309
282
|
- spec/unit/xml_terminology_based_solrizer_spec.rb
|
310
283
|
homepage: http://github.com/projecthydra/om
|
311
284
|
licenses: []
|
285
|
+
metadata: {}
|
312
286
|
post_install_message:
|
313
287
|
rdoc_options: []
|
314
288
|
require_paths:
|
315
289
|
- lib
|
316
290
|
required_ruby_version: !ruby/object:Gem::Requirement
|
317
|
-
none: false
|
318
291
|
requirements:
|
319
|
-
- -
|
292
|
+
- - ">="
|
320
293
|
- !ruby/object:Gem::Version
|
321
294
|
version: 1.9.3
|
322
295
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
323
|
-
none: false
|
324
296
|
requirements:
|
325
|
-
- -
|
297
|
+
- - ">="
|
326
298
|
- !ruby/object:Gem::Version
|
327
299
|
version: '0'
|
328
300
|
requirements: []
|
329
301
|
rubyforge_project:
|
330
|
-
rubygems_version:
|
302
|
+
rubygems_version: 2.2.2
|
331
303
|
signing_key:
|
332
|
-
specification_version:
|
333
|
-
summary:
|
304
|
+
specification_version: 4
|
305
|
+
summary: 'OM (Opinionated Metadata): A library to help you tame sprawling XML schemas
|
334
306
|
like MODS.'
|
335
307
|
test_files:
|
336
308
|
- spec/fixtures/CBF_MODS/ARS0025_016.xml
|
data/README.textile
DELETED
@@ -1,36 +0,0 @@
|
|
1
|
-
!https://travis-ci.org/projecthydra/om.png!:https://travis-ci.org/projecthydra/om
|
2
|
-
|
3
|
-
h1. om (Optinionated Metadata)
|
4
|
-
|
5
|
-
A library to help you tame sprawling XML schemas like MODS.
|
6
|
-
|
7
|
-
OM allows you to define a “terminology” to ease translation between XML and ruby objects – you can query the xml for Nodes or node values without ever writing a line of XPath.
|
8
|
-
|
9
|
-
OM “terms” are ruby symbols you define (in the terminology) that map specific XML content into ruby object attributes.
|
10
|
-
|
11
|
-
h2. Tutorials & Reference
|
12
|
-
|
13
|
-
* "Tame Your XML with OM":https://github.com/projecthydra/om/wiki/Tame-your-XML-with-OM
|
14
|
-
* "Common OM Patterns":https://github.com/projecthydra/om/blob/master/COMMON_OM_PATTERNS.textile
|
15
|
-
|
16
|
-
h3. Solrizing Documents
|
17
|
-
|
18
|
-
The solrizer gem provides support for indexing XML documents into Solr based on OM Terminologies. That process is documented in the "solrizer documentation":http://rdoc.info/github/projecthydra/solrizer
|
19
|
-
|
20
|
-
h2. OM in the Wild
|
21
|
-
|
22
|
-
We have a page on the Hydra wiki with a list of OM Terminologies in active use: "OM Terminologies in the Wild":https://wiki.duraspace.org/display/hydra/OM+Terminologies+in+the+Wild
|
23
|
-
|
24
|
-
h2. Acknowledgements
|
25
|
-
|
26
|
-
Creator: Matt Zumwalt ("MediaShelf":http://yourmediashelf.com)
|
27
|
-
|
28
|
-
Thanks to
|
29
|
-
|
30
|
-
Bess Sadler, who enabled us to take knowledge gleaned from developing Blacklight and apply it to OM metadata indexing
|
31
|
-
Ross Singer
|
32
|
-
Those who participated in the Opinionated MODS breakout session at Code4Lib 2010
|
33
|
-
|
34
|
-
h2. Copyright
|
35
|
-
|
36
|
-
Copyright (c) 2010 Matt Zumwalt. See LICENSE for details.
|