mods 0.0.11 → 0.0.12

Sign up to get free protection for your applications and to get access to all the features.
@@ -37,7 +37,8 @@ TODO: Write usage instructions here
37
37
 
38
38
  == Releases
39
39
 
40
- (0.0.12 make namespace aware processing the default)
40
+ (0.0.13 make namespace aware processing the default)
41
+ 0.0.12 fix failing jruby test
41
42
  0.0.11 fix remove xsi:schemaLocation attribute from mods element when not using namespaces
42
43
  0.0.10 remove xsi:schemaLocation attribute from mods element when not using namespaces
43
44
  0.0.9 implement from_nk_node as way to load record object
data/Rakefile CHANGED
@@ -24,7 +24,7 @@ task :ci => [:rspec, :doc]
24
24
  task :spec => :rspec
25
25
 
26
26
  RSpec::Core::RakeTask.new(:rspec) do |spec|
27
- spec.rspec_opts = ["-c", "-f progress", "-r ./spec/spec_helper.rb"]
27
+ spec.rspec_opts = ["-c", "-f progress", "--tty", "-r ./spec/spec_helper.rb"]
28
28
  end
29
29
 
30
30
  # Use yard to build docs
@@ -17,30 +17,34 @@ module Mods
17
17
  class Record
18
18
 
19
19
  # set the NOM terminology; do NOT use namespaces
20
+ # NOTES:
21
+ # 1. certain words, such as 'type' 'name' 'description' are reserved words in jruby or nokogiri
22
+ # when the terminology would use these words, a suffix of '_at' is added if it is an attribute,
23
+ # (e.g. 'type_at' for @type) and a suffix of '_el' is added if it is an element.
24
+ # 2. the underscore prefix variant terms are a way of making subterms for a node available
25
+ # to any instance of said node and are not intended to be used externally
20
26
  # @param mods_ng_xml a Nokogiri::Xml::Document object containing MODS (without namespaces)
21
27
  def set_terminology_no_ns(mods_ng_xml)
22
28
  mods_ng_xml.set_terminology() do |t|
23
29
 
24
30
  # FIXME: may want to deal with camelcase vs. underscore in method_missing
25
-
26
- # These elements have no subelements - w00t!
27
- Mods::TOP_LEVEL_ELEMENTS_SIMPLE.each { |elname|
28
- t.send elname, :path => "/mods/#{elname}"
29
- }
30
-
31
+
31
32
  # ABSTRACT -------------------------------------------------------------------------------
33
+ t.abstract :path => '/mods/abstract'
32
34
  t._abstract :path => '//abstract' do |n|
33
35
  n.displayLabel :path => '@displayLabel', :accessor => lambda { |a| a.text }
34
36
  n.type_at :path => '@type', :accessor => lambda { |a| a.text }
35
37
  end
36
38
 
37
39
  # ACCESS_CONDITION -----------------------------------------------------------------------
40
+ t.accessCondition :path => '/mods/accessCondition'
38
41
  t._accessCondition :path => '//accessCondition' do |n|
39
42
  n.displayLabel :path => '@displayLabel', :accessor => lambda { |a| a.text }
40
43
  n.type_at :path => '@type', :accessor => lambda { |a| a.text }
41
44
  end
42
45
 
43
46
  # CLASSIFICATION -------------------------------------------------------------------------
47
+ t.classification :path => '/mods/classification'
44
48
  t._classification :path => '//classification' do |n|
45
49
  n.displayLabel :path => '@displayLabel', :accessor => lambda { |a| a.text }
46
50
  n.edition :path => '@edition', :accessor => lambda { |a| a.text }
@@ -50,11 +54,13 @@ module Mods
50
54
  end
51
55
 
52
56
  # EXTENSION ------------------------------------------------------------------------------
57
+ t.extension :path => '/mods/extension'
53
58
  t._extension :path => '//extension' do |n|
54
59
  n.displayLabel :path => '@displayLabel', :accessor => lambda { |a| a.text }
55
60
  end
56
61
 
57
62
  # GENRE ----------------------------------------------------------------------------------
63
+ t.genre :path => '/mods/genre'
58
64
  t._genre :path => '//genre' do |n|
59
65
  n.displayLabel :path => '@displayLabel', :accessor => lambda { |a| a.text }
60
66
  n.type_at :path => '@type', :accessor => lambda { |a| a.text }
@@ -65,6 +71,7 @@ module Mods
65
71
  end
66
72
 
67
73
  # IDENTIIER ------------------------------------------------------------------------------
74
+ t.identifier :path => '/mods/identifier'
68
75
  t._identifier :path => '//identifier' do |n|
69
76
  n.displayLabel :path => '@displayLabel', :accessor => lambda { |a| a.text }
70
77
  n.invalid :path => '@invalid', :accessor => lambda { |a| a.text }
@@ -146,6 +153,7 @@ module Mods
146
153
  t._conference_name :path => '//name[@type="conference"]'
147
154
 
148
155
  # NOTE ---------------------------------------------------------------------------------
156
+ t.note :path => '/mods/note'
149
157
  t._note :path => '//note' do |n|
150
158
  n.displayLabel :path => '@displayLabel', :accessor => lambda { |a| a.text }
151
159
  n.id_at :path => '@ID', :accessor => lambda { |a| a.text }
@@ -389,6 +397,7 @@ module Mods
389
397
  end # t.subject
390
398
 
391
399
  # TABLE_OF_CONTENTS ---------------------------------------------------------------------
400
+ t.tableOfContents :path => '/mods/tableOfContents'
392
401
  t._tableOfContents :path => '//tableOfContents' do |n|
393
402
  n.displayLabel :path => '@displayLabel', :accessor => lambda { |a| a.text }
394
403
  n.shareable :path => '@shareable', :accessor => lambda { |a| a.text }
@@ -396,6 +405,7 @@ module Mods
396
405
  end
397
406
 
398
407
  # TARGET_AUDIENCE -----------------------------------------------------------------------
408
+ t.targetAudience :path => '//targetAudience'
399
409
  t._targetAudience :path => '//targetAudience' do |n|
400
410
  n.displayLabel :path => '@displayLabel', :accessor => lambda { |a| a.text }
401
411
  Mods::AUTHORITY_ATTRIBS.each { |attr_name|
@@ -443,6 +453,7 @@ module Mods
443
453
  end # t._title_info
444
454
 
445
455
  # TYPE_OF_RESOURCE --------------------------------------------------------------------
456
+ t.typeOfResource :path => '/mods/typeOfResource'
446
457
  t._typeOfResource :path => '//typeOfResource' do |n|
447
458
  n.collection :path => '@collection', :accessor => lambda { |a| a.text }
448
459
  n.displayLabel :path => '@displayLabel', :accessor => lambda { |a| a.text }
@@ -1,4 +1,4 @@
1
1
  module Mods
2
2
  # this is the Ruby Gem version
3
- VERSION = "0.0.11"
3
+ VERSION = "0.0.12"
4
4
  end
@@ -94,8 +94,11 @@ describe "Mods::Reader" do
94
94
  r = Mods::Reader.new
95
95
  r.namespace_aware = true
96
96
  r.from_nk_node(ng_xml)
97
- r.mods_ng_xml.has_attribute?('schemaLocation').should == false
98
- r.mods_ng_xml.has_attribute?('xsi:schemaLocation').should == false
97
+ # the below are different depending on jruby or ruby ... oy
98
+ has_a = r.mods_ng_xml.has_attribute?('schemaLocation')
99
+ has_a.should == false if has_a
100
+ has = r.mods_ng_xml.has_attribute?('xsi:schemaLocation')
101
+ has_a.should == false if has_a
99
102
  end
100
103
  end
101
104
 
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: mods
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.11
4
+ version: 0.0.12
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -214,7 +214,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
214
214
  version: '0'
215
215
  segments:
216
216
  - 0
217
- hash: -3403809671650053657
217
+ hash: 926175670330081860
218
218
  required_rubygems_version: !ruby/object:Gem::Requirement
219
219
  none: false
220
220
  requirements:
@@ -223,7 +223,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
223
223
  version: '0'
224
224
  segments:
225
225
  - 0
226
- hash: -3403809671650053657
226
+ hash: 926175670330081860
227
227
  requirements: []
228
228
  rubyforge_project:
229
229
  rubygems_version: 1.8.24