mods_display 1.3.0 → 1.3.1

Sign up to get free protection for your applications and to get access to all the features.
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