loc_mods 0.2.0 → 0.2.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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 1d409e62cd0758f2895d10d4a027fb2a8aa8922fbaa424bb0492349d84d8ede8
4
- data.tar.gz: 3b65c4a6522259f010007e50c0be867fef1f785e1af9f78be80021344afd22c8
3
+ metadata.gz: 2b15a4efe6f5c0bf6287f01e8f3b9d14bf4611f0ec80c50a94eaf01aea0d27b0
4
+ data.tar.gz: 7c1c47497f88abc231351b6a19703641e8b7f910a8c119222872208dc339fe97
5
5
  SHA512:
6
- metadata.gz: 1c9de4e9d1227724781ec8b2865da01b00df71182c3f774b05b51c68cdbaa8fbccf8787dc81ff0488ec2659b5747d3e457f485290b5e1a886377e9164556be62
7
- data.tar.gz: 410cfa6fe2621677490e332176ec6df0d22d4f54e515cb36eabf82ea8aa8493a613444afcae8b95e52974cae34ea28a33424e9b8149dcb69c59e7259b174787a
6
+ metadata.gz: bb267c94c7de7b895ccf168ca9b0a37133afce833981a332e43f3f82822aeec27ada4b4becedb1b7196ebcaab97bd5c90c68ee8fd23ab463b82500b0a72f7b7a
7
+ data.tar.gz: 49f9d610121df295c904cede6245d4dd907bbba9c919879ccf8e44211b095bd23700452b4d4d6a670f2e5e579a6fc3e06ad70d1fa450f1c9de35ff1f01ff6144
data/README.adoc CHANGED
@@ -1,8 +1,8 @@
1
1
  = Library of Congress MODS in Ruby
2
2
 
3
- image:https://img.shields.io/gem/v/loc-mods.svg["Gem Version", link="https://rubygems.org/gems/loc-mods"]
4
- image:https://github.com/relaton/loc-mods/workflows/rake/badge.svg["Build Status", link="https://github.com/relaton/loc-mods/actions?workflow=rake"]
5
- image:https://codeclimate.com/github/relaton/loc-mods/badges/gpa.svg["Code Climate", link="https://codeclimate.com/github/relaton/loc-mods"]
3
+ image:https://img.shields.io/gem/v/loc_mods.svg["Gem Version", link="https://rubygems.org/gems/loc_mods"]
4
+ image:https://github.com/relaton/loc_mods/workflows/rake/badge.svg["Build Status", link="https://github.com/relaton/loc_mods/actions?workflow=rake"]
5
+ image:https://codeclimate.com/github/relaton/loc_mods/badges/gpa.svg["Code Climate", link="https://codeclimate.com/github/relaton/loc_mods"]
6
6
 
7
7
  == Purpose
8
8
 
@@ -24,6 +24,14 @@ LocMods::Collection.from_xml(File.read("spec/fixtures/record_1.xml"))
24
24
  LocMods::Collection.from_xml(File.read("reference/allrecords-MODS.xml"))
25
25
  ----
26
26
 
27
+ == Testing
28
+
29
+ [source,sh]
30
+ ----
31
+ bin/update-nist-mods
32
+
33
+ ----
34
+
27
35
  == License
28
36
 
29
37
  Copyright Ribose.
@@ -14,7 +14,8 @@ module LocMods
14
14
  attribute :shelf_locator, Shale::Type::String, collection: true
15
15
  attribute :electronic_locator, Shale::Type::String, collection: true
16
16
  attribute :note, Note, collection: true
17
- attribute :enumeration_and_chronology, EnumerationAndChronology, collection: true
17
+ attribute :enumeration_and_chronology, EnumerationAndChronology,
18
+ collection: true
18
19
  attribute :item_identifier, ItemIdentifier, collection: true
19
20
 
20
21
  xml do
@@ -6,7 +6,7 @@ require_relative "date"
6
6
 
7
7
  module LocMods
8
8
  class DateOther < Shale::Mapper
9
- attribute :content, Date
9
+ attribute :content, Shale::Type::String
10
10
  attribute :type, Shale::Type::String
11
11
 
12
12
  xml do
@@ -0,0 +1,19 @@
1
+ # frozen_string_literal: true
2
+
3
+ require "shale"
4
+
5
+ module LocMods
6
+ class NonSort < Shale::Mapper
7
+ attribute :content, Shale::Type::String
8
+ attribute :space, Shale::Type::String
9
+
10
+ xml do
11
+ root "nonSort"
12
+ namespace "http://www.loc.gov/mods/v3", nil
13
+
14
+ map_content to: :content
15
+ map_attribute "space", to: :space,
16
+ namespace: "http://www.w3.org/XML/1998/namespace", prefix: "xml"
17
+ end
18
+ end
19
+ end
data/lib/loc_mods/note.rb CHANGED
@@ -7,7 +7,8 @@ module LocMods
7
7
  attribute :content, Shale::Type::String
8
8
  attribute :display_label, Shale::Type::String
9
9
  attribute :type, Shale::Type::String
10
- attribute :id, Shale::Type::Value
10
+ attribute :id, Shale::Type::String
11
+ attribute :script, Shale::Type::String
11
12
 
12
13
  xml do
13
14
  root "note"
@@ -17,6 +18,7 @@ module LocMods
17
18
  map_attribute "displayLabel", to: :display_label
18
19
  map_attribute "type", to: :type
19
20
  map_attribute "ID", to: :id
21
+ map_attribute "script", to: :script
20
22
  end
21
23
  end
22
24
  end
@@ -39,6 +39,7 @@ module LocMods
39
39
  map_attribute "displayLabel", to: :display_label
40
40
  map_attribute "altRepGroup", to: :alt_rep_group
41
41
  map_attribute "eventType", to: :event_type
42
+
42
43
  map_element "place", to: :place
43
44
  map_element "publisher", to: :publisher
44
45
  map_element "dateIssued", to: :date_issued
@@ -48,8 +49,8 @@ module LocMods
48
49
  map_element "dateModified", to: :date_modified
49
50
  map_element "copyrightDate", to: :copyright_date
50
51
  map_element "dateOther", to: :date_other
51
- map_element "edition", to: :edition
52
52
  map_element "issuance", to: :issuance
53
+ map_element "edition", to: :edition
53
54
  map_element "frequency", to: :frequency
54
55
  end
55
56
  end
@@ -36,7 +36,7 @@ module LocMods
36
36
  attribute :language, Language, collection: true
37
37
  attribute :location, Location, collection: true
38
38
  attribute :name, Name, collection: true
39
- attribute :note, PhysicalDescriptionNote, collection: true
39
+ attribute :note, Note, collection: true
40
40
  attribute :origin_info, OriginInfo, collection: true
41
41
  attribute :part, Part, collection: true
42
42
  attribute :physical_description, PhysicalDescription, collection: true
@@ -62,12 +62,12 @@ module LocMods
62
62
  map_element "originInfo", to: :origin_info
63
63
  map_element "part", to: :part
64
64
  map_element "physicalDescription", to: :physical_description
65
+ map_element "abstract", to: :abstract
65
66
  map_element "note", to: :note
66
67
  map_element "subject", to: :subject
67
68
  map_element "location", to: :location
68
69
  map_element "relatedItem", to: :related_item
69
70
  map_element "identifier", to: :identifier
70
- map_element "abstract", to: :abstract
71
71
  map_element "accessCondition", to: :access_condition
72
72
  map_element "classification", to: :classification
73
73
  map_element "extension", to: :extension
@@ -40,7 +40,7 @@ module LocMods
40
40
  attribute :language, Language, collection: true
41
41
  attribute :location, Location, collection: true
42
42
  attribute :name, SubjectName, collection: true
43
- attribute :note, PhysicalDescriptionNote, collection: true
43
+ attribute :note, Note, collection: true
44
44
  attribute :origin_info, OriginInfo, collection: true
45
45
  attribute :part, Part, collection: true
46
46
  attribute :physical_description, PhysicalDescription, collection: true
@@ -51,6 +51,7 @@ module LocMods
51
51
  attribute :target_audience, TargetAudience, collection: true
52
52
  attribute :title_info, TitleInfo, collection: true
53
53
  attribute :type_of_resource, TypeOfResource, collection: true
54
+ attribute :href, Shale::Type::String
54
55
 
55
56
  xml do
56
57
  root "relatedItem"
@@ -63,6 +64,10 @@ module LocMods
63
64
  map_attribute "otherTypeURI", to: :other_type_uri
64
65
  map_attribute "displayLabel", to: :display_label
65
66
  map_attribute "ID", to: :id
67
+ map_attribute "href", to: :href,
68
+ namespace: "http://www.w3.org/1999/xlink",
69
+ prefix: "xlink"
70
+
66
71
  map_element "abstract", to: :abstract
67
72
  map_element "accessCondition", to: :access_condition
68
73
  map_element "classification", to: :classification
@@ -53,11 +53,12 @@ module LocMods
53
53
  map_attribute "displayLabel", to: :display_label
54
54
  map_attribute "altRepGroup", to: :alt_rep_group
55
55
  map_attribute "usage", to: :usage
56
+
57
+ map_element "name", to: :name
58
+ map_element "titleInfo", to: :title_info
56
59
  map_element "topic", to: :topic
57
60
  map_element "geographic", to: :geographic
58
61
  map_element "temporal", to: :temporal
59
- map_element "titleInfo", to: :title_info
60
- map_element "name", to: :name
61
62
  map_element "geographicCode", to: :geographic_code
62
63
  map_element "hierarchicalGeographic", to: :hierarchical_geographic
63
64
  map_element "cartographics", to: :cartographics
@@ -1,6 +1,7 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  require "shale"
4
+ require_relative "non_sort"
4
5
 
5
6
  module LocMods
6
7
  class TitleInfo < Shale::Mapper
@@ -24,7 +25,7 @@ module LocMods
24
25
  attribute :sub_title, Shale::Type::String, collection: true
25
26
  attribute :part_number, Shale::Type::String, collection: true
26
27
  attribute :part_name, Shale::Type::String, collection: true
27
- attribute :non_sort, Shale::Type::String, collection: true
28
+ attribute :non_sort, NonSort, collection: true
28
29
 
29
30
  xml do
30
31
  root "titleInfo"
@@ -46,11 +47,12 @@ module LocMods
46
47
  map_attribute "script", to: :script
47
48
  map_attribute "transliteration", to: :transliteration
48
49
  map_attribute "displayLabel", to: :display_label
50
+
51
+ map_element "nonSort", to: :non_sort
49
52
  map_element "title", to: :title
50
53
  map_element "subTitle", to: :sub_title
51
54
  map_element "partNumber", to: :part_number
52
55
  map_element "partName", to: :part_name
53
- map_element "nonSort", to: :non_sort
54
56
  end
55
57
  end
56
58
  end
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module LocMods
4
- VERSION = "0.2.0"
4
+ VERSION = "0.2.1"
5
5
  end
metadata CHANGED
@@ -1,11 +1,11 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: loc_mods
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.0
4
+ version: 0.2.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ribose Inc.
8
- autorequire:
8
+ autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
11
  date: 2024-05-14 00:00:00.000000000 Z
@@ -39,21 +39,7 @@ dependencies:
39
39
  - !ruby/object:Gem::Version
40
40
  version: '0'
41
41
  - !ruby/object:Gem::Dependency
42
- name: thor
43
- requirement: !ruby/object:Gem::Requirement
44
- requirements:
45
- - - ">="
46
- - !ruby/object:Gem::Version
47
- version: '0'
48
- type: :runtime
49
- prerelease: false
50
- version_requirements: !ruby/object:Gem::Requirement
51
- requirements:
52
- - - ">="
53
- - !ruby/object:Gem::Version
54
- version: '0'
55
- - !ruby/object:Gem::Dependency
56
- name: equivalent-xml
42
+ name: rake
57
43
  requirement: !ruby/object:Gem::Requirement
58
44
  requirements:
59
45
  - - ">="
@@ -67,7 +53,7 @@ dependencies:
67
53
  - !ruby/object:Gem::Version
68
54
  version: '0'
69
55
  - !ruby/object:Gem::Dependency
70
- name: rake
56
+ name: rspec
71
57
  requirement: !ruby/object:Gem::Requirement
72
58
  requirements:
73
59
  - - ">="
@@ -81,7 +67,7 @@ dependencies:
81
67
  - !ruby/object:Gem::Version
82
68
  version: '0'
83
69
  - !ruby/object:Gem::Dependency
84
- name: rspec
70
+ name: rubocop
85
71
  requirement: !ruby/object:Gem::Requirement
86
72
  requirements:
87
73
  - - ">="
@@ -95,7 +81,7 @@ dependencies:
95
81
  - !ruby/object:Gem::Version
96
82
  version: '0'
97
83
  - !ruby/object:Gem::Dependency
98
- name: rubocop
84
+ name: rubocop-performance
99
85
  requirement: !ruby/object:Gem::Requirement
100
86
  requirements:
101
87
  - - ">="
@@ -165,10 +151,10 @@ files:
165
151
  - lib/loc_mods/location.rb
166
152
  - lib/loc_mods/name.rb
167
153
  - lib/loc_mods/name_part.rb
154
+ - lib/loc_mods/non_sort.rb
168
155
  - lib/loc_mods/note.rb
169
156
  - lib/loc_mods/occupation.rb
170
157
  - lib/loc_mods/origin_info.rb
171
- - lib/loc_mods/origin_info_definition.rb
172
158
  - lib/loc_mods/part.rb
173
159
  - lib/loc_mods/physical_description.rb
174
160
  - lib/loc_mods/physical_description_note.rb
@@ -190,7 +176,6 @@ files:
190
176
  - lib/loc_mods/string_plus_language_plus_authority.rb
191
177
  - lib/loc_mods/string_plus_language_plus_supplied.rb
192
178
  - lib/loc_mods/subject.rb
193
- - lib/loc_mods/subject_definition.rb
194
179
  - lib/loc_mods/subject_name.rb
195
180
  - lib/loc_mods/subject_title_info.rb
196
181
  - lib/loc_mods/table_of_contents.rb
@@ -204,14 +189,14 @@ files:
204
189
  - references/allrecords-MODS.xml
205
190
  - references/mods-3-7.xsd
206
191
  - sig/mods.rbs
207
- homepage: https://github.com/relaton/loc-mods
192
+ homepage: https://github.com/relaton/loc_mods
208
193
  licenses:
209
194
  - BSD-2-Clause
210
195
  metadata:
211
- homepage_uri: https://github.com/relaton/loc-mods
212
- source_code_uri: https://github.com/relaton/loc-mods
213
- changelog_uri: https://github.com/relaton/loc-mods
214
- post_install_message:
196
+ homepage_uri: https://github.com/relaton/loc_mods
197
+ source_code_uri: https://github.com/relaton/loc_mods
198
+ changelog_uri: https://github.com/relaton/loc_mods
199
+ post_install_message:
215
200
  rdoc_options: []
216
201
  require_paths:
217
202
  - lib
@@ -226,8 +211,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
226
211
  - !ruby/object:Gem::Version
227
212
  version: '0'
228
213
  requirements: []
229
- rubygems_version: 3.4.10
230
- signing_key:
214
+ rubygems_version: 3.3.27
215
+ signing_key:
231
216
  specification_version: 4
232
217
  summary: Library of Congress MODS / MADS parser
233
218
  test_files: []
@@ -1,56 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require "shale"
4
-
5
- require_relative "date"
6
- require_relative "date_other"
7
- require_relative "place"
8
- require_relative "publisher"
9
- require_relative "edition"
10
-
11
- module LocMods
12
- class OriginInfo < Shale::Mapper
13
- attribute :lang, Shale::Type::String
14
- attribute :script, Shale::Type::String
15
- attribute :transliteration, Shale::Type::String
16
- attribute :display_label, Shale::Type::String
17
- attribute :alt_rep_group, Shale::Type::String
18
- attribute :event_type, Shale::Type::String
19
- attribute :place, Place, collection: true
20
- attribute :publisher, Publisher, collection: true
21
- attribute :date_issued, Date, collection: true
22
- attribute :date_created, Date, collection: true
23
- attribute :date_captured, Date, collection: true
24
- attribute :date_valid, Date, collection: true
25
- attribute :date_modified, Date, collection: true
26
- attribute :copyright_date, Date, collection: true
27
- attribute :date_other, DateOther, collection: true
28
- attribute :edition, Edition, collection: true
29
- attribute :issuance, Shale::Type::String, collection: true
30
- attribute :frequency, Shale::Type::String, collection: true
31
-
32
- xml do
33
- root "originInfo"
34
- namespace "http://www.loc.gov/mods/v3", nil
35
-
36
- map_attribute "lang", to: :lang
37
- map_attribute "script", to: :script
38
- map_attribute "transliteration", to: :transliteration
39
- map_attribute "displayLabel", to: :display_label
40
- map_attribute "altRepGroup", to: :alt_rep_group
41
- map_attribute "eventType", to: :event_type
42
- map_element "place", to: :place
43
- map_element "publisher", to: :publisher
44
- map_element "dateIssued", to: :date_issued
45
- map_element "dateCreated", to: :date_created
46
- map_element "dateCaptured", to: :date_captured
47
- map_element "dateValid", to: :date_valid
48
- map_element "dateModified", to: :date_modified
49
- map_element "copyrightDate", to: :copyright_date
50
- map_element "dateOther", to: :date_other
51
- map_element "edition", to: :edition
52
- map_element "issuance", to: :issuance
53
- map_element "frequency", to: :frequency
54
- end
55
- end
56
- end
@@ -1,63 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require "shale"
4
-
5
- require_relative "cartographics"
6
- require_relative "genre"
7
- require_relative "geographic_code"
8
- require_relative "hierarchical_geographic"
9
- require_relative "subject_name"
10
- require_relative "subject_title_info"
11
- require_relative "temporal"
12
- require_relative "occupation"
13
-
14
- module LocMods
15
- class Subject < Shale::Mapper
16
- attribute :id, Shale::Type::Value
17
- attribute :authority, Shale::Type::String
18
- attribute :authority_uri, Shale::Type::Value
19
- attribute :value_uri, Shale::Type::Value
20
- attribute :lang, Shale::Type::String
21
- attribute :script, Shale::Type::String
22
- attribute :transliteration, Shale::Type::String
23
- attribute :display_label, Shale::Type::String
24
- attribute :alt_rep_group, Shale::Type::String
25
- attribute :usage, Shale::Type::Value
26
- attribute :topic, Shale::Type::String, collection: true
27
- attribute :geographic, Shale::Type::String, collection: true
28
- attribute :temporal, Temporal, collection: true
29
- attribute :title_info, SubjectTitleInfo, collection: true
30
- attribute :name, SubjectName, collection: true
31
- attribute :geographic_code, GeographicCode, collection: true
32
- attribute :hierarchical_geographic, HierarchicalGeographic, collection: true
33
- attribute :cartographics, Cartographics, collection: true
34
- attribute :occupation, Occupation, collection: true
35
- attribute :genre, Genre, collection: true
36
-
37
- xml do
38
- root "subject"
39
- namespace "http://www.loc.gov/mods/v3", nil
40
-
41
- map_attribute "ID", to: :id
42
- map_attribute "authority", to: :authority
43
- map_attribute "authorityURI", to: :authority_uri
44
- map_attribute "valueURI", to: :value_uri
45
- map_attribute "lang", to: :lang
46
- map_attribute "script", to: :script
47
- map_attribute "transliteration", to: :transliteration
48
- map_attribute "displayLabel", to: :display_label
49
- map_attribute "altRepGroup", to: :alt_rep_group
50
- map_attribute "usage", to: :usage
51
- map_element "topic", to: :topic
52
- map_element "geographic", to: :geographic
53
- map_element "temporal", to: :temporal
54
- map_element "titleInfo", to: :title_info
55
- map_element "name", to: :name
56
- map_element "geographicCode", to: :geographic_code
57
- map_element "hierarchicalGeographic", to: :hierarchical_geographic
58
- map_element "cartographics", to: :cartographics
59
- map_element "occupation", to: :occupation
60
- map_element "genre", to: :genre
61
- end
62
- end
63
- end