mods_display 1.3.0 → 1.3.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: 7e56a492203162fcc4977642c25ae1480279abb98addbb8b37fc89c5d508ec1b
4
- data.tar.gz: f2b56fb5a9273fc3ae27aac611737d80adc0d825c29aada98377468697912c17
3
+ metadata.gz: a3c2bc98c15b659a075bccc6e3dea41e55f757f3318ad4d1e34109c314d10792
4
+ data.tar.gz: 3fc189b77cd0088578718fa5f1645e5390c0442825faacc51e7ec9de92f568c7
5
5
  SHA512:
6
- metadata.gz: 52c2b74b30ddf95a6c04ec094ff3c9f064c7282898030f0d81507bebbf8eb45babc9f80edd9e4ef3e0149a1ae730519cb45eff174b6f39cae2f06768c9fe893c
7
- data.tar.gz: b5ddfbde80b819cf3eed221e9d338e1526ca42ebc4289125cdfb34a07632da0e28a71920690e17f7c25c766997730deb24b50b5a03a0a206ab101781917119cb
6
+ metadata.gz: 2a35e824baad68b451eb64f126a3eea9eb61c0fd190c767933c4f6946336034d5f604fa8f81a24c1060ab9e29ed7c9d72c941f526b7bf42288870e51862d60fc
7
+ data.tar.gz: 9fbd968fe4409450090e9f3285a19f9eb86f3834ddf36061e6d4b5d5c617efaeb2996cdc88a8363a6cb29e79525403578e62266b0873423266d85ea484c461ed
data/Gemfile CHANGED
@@ -3,6 +3,7 @@
3
3
  source 'https://rubygems.org'
4
4
 
5
5
  gem 'rubocop-rspec', require: false
6
+ gem 'debug'
6
7
 
7
8
  # Specify your gem's dependencies in mods_display.gemspec
8
9
  gemspec
@@ -3,9 +3,8 @@
3
3
  module ModsDisplay
4
4
  class Title < Field
5
5
  def fields
6
- return_values = []
7
- @values&.each do |value|
8
- return_values << ModsDisplay::Values.new(
6
+ return_values = sorted_values.map do |value|
7
+ ModsDisplay::Values.new(
9
8
  label: displayLabel(value) || title_label(value),
10
9
  values: [assemble_title(value)]
11
10
  )
@@ -15,6 +14,11 @@ module ModsDisplay
15
14
 
16
15
  private
17
16
 
17
+ # If there is a node with usage="primary", then it should come first.
18
+ def sorted_values
19
+ Array(@values).sort_by { |node| node['usage'] == 'primary' ? 0 : 1 }
20
+ end
21
+
18
22
  def delimiter
19
23
  '<br />'.html_safe
20
24
  end
@@ -35,9 +35,8 @@ module ModsDisplay
35
35
  end
36
36
 
37
37
  def title
38
- return mods_field(:title).fields.first.values unless mods_field(:title).fields.empty?
39
-
40
- ''
38
+ title_fields = mods_field(:title).fields
39
+ title_fields.empty? ? '' : title_fields.first.values
41
40
  end
42
41
 
43
42
  def render_in(view_context)
@@ -45,7 +44,7 @@ module ModsDisplay
45
44
  end
46
45
 
47
46
  # Need to figure out how to get the 1st title out of the list.
48
- # Maybe have a separate class that will omit the first tite natively
47
+ # Maybe have a separate class that will omit the first title natively
49
48
  # and replace the first key in the the fields list with that.
50
49
  def body(view_context = ApplicationController.renderer)
51
50
  view_context.render ModsDisplay::RecordComponent.new(record: self), layout: false
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module ModsDisplay
4
- VERSION = '1.3.0'
4
+ VERSION = '1.3.1'
5
5
  end
@@ -0,0 +1,35 @@
1
+ # frozen_string_literal: true
2
+ require_relative "lib/mods_display/version"
3
+
4
+ Gem::Specification.new do |gem|
5
+ gem.name = 'mods_display'
6
+ gem.version = ModsDisplay::VERSION
7
+ gem.authors = ['Jessie Keck']
8
+ gem.email = ['jessie.keck@gmail.com']
9
+ gem.description = 'MODS Display is a gem to centralize the display logic of MODS metadata.'
10
+ gem.summary = 'The MODS Display gem allows implementers to configure a customized display of MODS metadata. This display implements the specifications defined at Stanford for how to display MODS.'
11
+ gem.homepage = 'https://github.com/sul-dlss/mods_display'
12
+
13
+ # Specify which files should be added to the gem when it is released.
14
+ # The `git ls-files -z` loads the files in the RubyGem that have been added into git.
15
+ gem.files = Dir.chdir(File.expand_path(__dir__)) do
16
+ `git ls-files -z`.split("\x0").reject do |f|
17
+ (f == __FILE__) || f.match(%r{\A(?:(?:test|spec|features)/|\.(?:git|travis|circleci)|appveyor)})
18
+ end
19
+ end
20
+ gem.bindir = "exe"
21
+ gem.executables = gem.files.grep(%r{\Aexe/}) { |f| File.basename(f) }
22
+ gem.require_paths = ["lib"]
23
+
24
+ gem.add_dependency 'stanford-mods', '~> 3.3'
25
+ gem.add_dependency 'i18n'
26
+ gem.add_dependency 'view_component'
27
+
28
+ gem.add_development_dependency 'rake'
29
+ gem.add_development_dependency 'rspec', '~> 3.0'
30
+ gem.add_development_dependency 'rspec-rails'
31
+ gem.add_development_dependency 'rubocop'
32
+ gem.add_development_dependency 'capybara'
33
+ gem.add_development_dependency 'rails', ENV['RAILS_VERSION'] || '~> 6.0'
34
+ gem.add_development_dependency 'combustion', '~> 1.3'
35
+ end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: mods_display
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.3.0
4
+ version: 1.3.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Jessie Keck
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2023-02-15 00:00:00.000000000 Z
11
+ date: 2023-04-05 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: stanford-mods
@@ -122,20 +122,6 @@ dependencies:
122
122
  - - ">="
123
123
  - !ruby/object:Gem::Version
124
124
  version: '0'
125
- - !ruby/object:Gem::Dependency
126
- name: byebug
127
- requirement: !ruby/object:Gem::Requirement
128
- requirements:
129
- - - ">="
130
- - !ruby/object:Gem::Version
131
- version: '0'
132
- type: :development
133
- prerelease: false
134
- version_requirements: !ruby/object:Gem::Requirement
135
- requirements:
136
- - - ">="
137
- - !ruby/object:Gem::Version
138
- version: '0'
139
125
  - !ruby/object:Gem::Dependency
140
126
  name: rails
141
127
  requirement: !ruby/object:Gem::Requirement
@@ -164,7 +150,7 @@ dependencies:
164
150
  - - "~>"
165
151
  - !ruby/object:Gem::Version
166
152
  version: '1.3'
167
- description: MODS Display is a gem to centralize the display logic of MODS medadata.
153
+ description: MODS Display is a gem to centralize the display logic of MODS metadata.
168
154
  email:
169
155
  - jessie.keck@gmail.com
170
156
  executables: []
@@ -220,6 +206,7 @@ files:
220
206
  - lib/mods_display/related_item_concerns.rb
221
207
  - lib/mods_display/relator_codes.rb
222
208
  - lib/mods_display/version.rb
209
+ - mods_display.gemspec
223
210
  homepage: https://github.com/sul-dlss/mods_display
224
211
  licenses: []
225
212
  metadata: {}
@@ -238,7 +225,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
238
225
  - !ruby/object:Gem::Version
239
226
  version: '0'
240
227
  requirements: []
241
- rubygems_version: 3.3.26
228
+ rubygems_version: 3.4.6
242
229
  signing_key:
243
230
  specification_version: 4
244
231
  summary: The MODS Display gem allows implementers to configure a customized display