mods_display 0.3.3 → 0.3.4
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.rubocop.yml +16 -0
- data/.rubocop_todo.yml +60 -0
- data/.travis.yml +2 -2
- data/Rakefile +10 -2
- data/lib/mods_display.rb +42 -42
- data/lib/mods_display/configuration.rb +69 -67
- data/lib/mods_display/configuration/access_condition.rb +17 -13
- data/lib/mods_display/configuration/base.rb +27 -24
- data/lib/mods_display/configuration/format.rb +8 -4
- data/lib/mods_display/configuration/genre.rb +8 -4
- data/lib/mods_display/configuration/imprint.rb +12 -7
- data/lib/mods_display/configuration/name.rb +8 -4
- data/lib/mods_display/configuration/note.rb +8 -4
- data/lib/mods_display/configuration/related_item.rb +8 -4
- data/lib/mods_display/configuration/subject.rb +11 -9
- data/lib/mods_display/configuration/title.rb +8 -4
- data/lib/mods_display/controller_extension.rb +24 -24
- data/lib/mods_display/country_codes.rb +385 -384
- data/lib/mods_display/fields/abstract.rb +7 -6
- data/lib/mods_display/fields/access_condition.rb +55 -55
- data/lib/mods_display/fields/audience.rb +7 -6
- data/lib/mods_display/fields/cartographics.rb +15 -14
- data/lib/mods_display/fields/collection.rb +32 -17
- data/lib/mods_display/fields/contact.rb +15 -13
- data/lib/mods_display/fields/contents.rb +7 -6
- data/lib/mods_display/fields/description.rb +21 -21
- data/lib/mods_display/fields/field.rb +164 -109
- data/lib/mods_display/fields/format.rb +36 -33
- data/lib/mods_display/fields/genre.rb +12 -11
- data/lib/mods_display/fields/identifier.rb +34 -34
- data/lib/mods_display/fields/imprint.rb +258 -214
- data/lib/mods_display/fields/language.rb +18 -16
- data/lib/mods_display/fields/location.rb +27 -26
- data/lib/mods_display/fields/name.rb +113 -118
- data/lib/mods_display/fields/note.rb +33 -34
- data/lib/mods_display/fields/related_item.rb +64 -66
- data/lib/mods_display/fields/resource_type.rb +13 -11
- data/lib/mods_display/fields/sub_title.rb +6 -4
- data/lib/mods_display/fields/subject.rb +92 -90
- data/lib/mods_display/fields/title.rb +54 -49
- data/lib/mods_display/fields/values.rb +7 -8
- data/lib/mods_display/html.rb +117 -96
- data/lib/mods_display/model_extension.rb +17 -16
- data/lib/mods_display/relator_codes.rb +269 -267
- data/lib/mods_display/version.rb +1 -1
- data/mods_display.gemspec +13 -12
- data/spec/configuration/access_condition_spec.rb +5 -5
- data/spec/configuration/base_spec.rb +24 -24
- data/spec/fields/abstract_spec.rb +24 -14
- data/spec/fields/access_condition_spec.rb +80 -55
- data/spec/fields/audience_spec.rb +15 -12
- data/spec/fields/cartographics_spec.rb +17 -18
- data/spec/fields/collection_spec.rb +65 -19
- data/spec/fields/contact_spec.rb +11 -9
- data/spec/fields/contents_spec.rb +15 -12
- data/spec/fields/description_spec.rb +40 -22
- data/spec/fields/format_spec.rb +28 -18
- data/spec/fields/genre_spec.rb +18 -16
- data/spec/fields/identifier_spec.rb +46 -34
- data/spec/fields/imprint_spec.rb +151 -125
- data/spec/fields/language_spec.rb +36 -20
- data/spec/fields/location_spec.rb +43 -27
- data/spec/fields/name_spec.rb +92 -92
- data/spec/fields/note_spec.rb +53 -40
- data/spec/fields/related_item_spec.rb +42 -40
- data/spec/fields/resource_type_spec.rb +20 -14
- data/spec/fields/sub_title_spec.rb +11 -9
- data/spec/fields/subject_spec.rb +61 -56
- data/spec/fields/title_spec.rb +53 -40
- data/spec/fixtures/access_condition_fixtures.rb +50 -0
- data/spec/fixtures/cartographics_fixtures.rb +1 -1
- data/spec/fixtures/imprint_fixtures.rb +49 -1
- data/spec/fixtures/name_fixtures.rb +195 -2
- data/spec/fixtures/related_item_fixtures.rb +107 -0
- data/spec/fixtures/subjects_fixtures.rb +15 -2
- data/spec/fixtures/title_fixtures.rb +101 -0
- data/spec/integration/configuration_spec.rb +23 -20
- data/spec/integration/html_spec.rb +40 -29
- data/spec/integration/installation_spec.rb +14 -14
- data/spec/spec_helper.rb +5 -8
- metadata +25 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: bde2a7d4b0e1265aa8e7c8995c208dcbe2aae03a
|
4
|
+
data.tar.gz: e74a4364e4dd51b66f69c24a0a62258d4c053a4b
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: f781baf89a8b7b455df415f3df0a3f5db0deca36e41f6e3dd31e5a7c2f288306936a6c062da0d11d0ea7b3b5037316786ff922f9f8b96eb153c1b417bcab91b3
|
7
|
+
data.tar.gz: 96fe552b5de3c62eb0629108a297209b946164b05b5f71676c7a2deb16c7669b0f29f52bb9e33a552e7d5c95b9ded860474a93ce0add2e7cb5bffd74ac87c9d7
|
data/.rubocop.yml
ADDED
@@ -0,0 +1,16 @@
|
|
1
|
+
inherit_from: .rubocop_todo.yml
|
2
|
+
|
3
|
+
AllCops:
|
4
|
+
Exclude:
|
5
|
+
- '*.gemspec'
|
6
|
+
- 'bin/**/*'
|
7
|
+
- 'db/**/*'
|
8
|
+
- 'spec/fixtures/**/*'
|
9
|
+
- 'vendor/**/*'
|
10
|
+
|
11
|
+
Metrics/LineLength:
|
12
|
+
Max: 120
|
13
|
+
|
14
|
+
Style/StringLiterals:
|
15
|
+
Enabled: true
|
16
|
+
EnforcedStyle: single_quotes
|
data/.rubocop_todo.yml
ADDED
@@ -0,0 +1,60 @@
|
|
1
|
+
# This configuration was generated by
|
2
|
+
# `rubocop --auto-gen-config`
|
3
|
+
# on 2015-11-06 16:51:15 -0800 using RuboCop version 0.34.2.
|
4
|
+
# The point is for the user to remove these configuration records
|
5
|
+
# one by one as the offenses are removed from the code base.
|
6
|
+
# Note that changes in the inspected code, or installation of new
|
7
|
+
# versions of RuboCop, may require this file to be generated again.
|
8
|
+
|
9
|
+
# Offense count: 2
|
10
|
+
Lint/NestedMethodDefinition:
|
11
|
+
Exclude:
|
12
|
+
- 'lib/mods_display/controller_extension.rb'
|
13
|
+
- 'lib/mods_display/model_extension.rb'
|
14
|
+
|
15
|
+
# Offense count: 29
|
16
|
+
Metrics/AbcSize:
|
17
|
+
Max: 55
|
18
|
+
|
19
|
+
# Offense count: 5
|
20
|
+
# Configuration parameters: CountComments.
|
21
|
+
Metrics/ClassLength:
|
22
|
+
Max: 263
|
23
|
+
|
24
|
+
# Offense count: 12
|
25
|
+
Metrics/CyclomaticComplexity:
|
26
|
+
Max: 11
|
27
|
+
|
28
|
+
# Offense count: 30
|
29
|
+
# Configuration parameters: CountComments.
|
30
|
+
Metrics/MethodLength:
|
31
|
+
Max: 378
|
32
|
+
|
33
|
+
# Offense count: 2
|
34
|
+
# Configuration parameters: CountComments.
|
35
|
+
Metrics/ModuleLength:
|
36
|
+
Max: 380
|
37
|
+
|
38
|
+
# Offense count: 12
|
39
|
+
Metrics/PerceivedComplexity:
|
40
|
+
Max: 15
|
41
|
+
|
42
|
+
# Offense count: 42
|
43
|
+
# Configuration parameters: Exclude.
|
44
|
+
Style/Documentation:
|
45
|
+
Enabled: false
|
46
|
+
|
47
|
+
# Offense count: 8
|
48
|
+
# Configuration parameters: EnforcedStyle, SupportedStyles.
|
49
|
+
Style/MethodName:
|
50
|
+
Enabled: false
|
51
|
+
|
52
|
+
# Offense count: 1
|
53
|
+
Style/MultilineBlockChain:
|
54
|
+
Exclude:
|
55
|
+
- 'lib/mods_display/fields/imprint.rb'
|
56
|
+
|
57
|
+
# Offense count: 8
|
58
|
+
# Configuration parameters: EnforcedStyle, SupportedStyles.
|
59
|
+
Style/VariableName:
|
60
|
+
Enabled: false
|
data/.travis.yml
CHANGED
data/Rakefile
CHANGED
@@ -1,5 +1,13 @@
|
|
1
|
-
require
|
1
|
+
require 'bundler/gem_tasks'
|
2
2
|
require 'rspec/core/rake_task'
|
3
|
+
require 'rubocop/rake_task'
|
3
4
|
|
5
|
+
RuboCop::RakeTask.new
|
4
6
|
RSpec::Core::RakeTask.new(:spec)
|
5
|
-
|
7
|
+
|
8
|
+
task :ci do
|
9
|
+
Rake::Task['rubocop'].invoke
|
10
|
+
Rake::Task['spec'].invoke
|
11
|
+
end
|
12
|
+
|
13
|
+
task default: :ci
|
data/lib/mods_display.rb
CHANGED
@@ -1,48 +1,48 @@
|
|
1
|
-
require
|
2
|
-
require
|
3
|
-
require
|
4
|
-
require
|
5
|
-
require
|
6
|
-
require
|
7
|
-
require
|
8
|
-
require
|
9
|
-
require
|
10
|
-
require
|
11
|
-
require
|
12
|
-
require
|
13
|
-
require
|
14
|
-
require
|
15
|
-
require
|
16
|
-
require
|
17
|
-
require
|
18
|
-
require
|
19
|
-
require
|
20
|
-
require
|
21
|
-
require
|
22
|
-
require
|
23
|
-
require
|
24
|
-
require
|
25
|
-
require
|
26
|
-
require
|
27
|
-
require
|
28
|
-
require
|
29
|
-
require
|
30
|
-
require
|
31
|
-
require
|
32
|
-
require
|
33
|
-
require
|
34
|
-
require
|
35
|
-
require
|
36
|
-
require
|
37
|
-
require
|
38
|
-
require
|
39
|
-
require
|
40
|
-
require
|
1
|
+
require 'mods_display/version'
|
2
|
+
require 'mods_display/controller_extension'
|
3
|
+
require 'mods_display/html'
|
4
|
+
require 'mods_display/model_extension'
|
5
|
+
require 'mods_display/country_codes'
|
6
|
+
require 'mods_display/relator_codes'
|
7
|
+
require 'mods_display/configuration'
|
8
|
+
require 'mods_display/configuration/base'
|
9
|
+
require 'mods_display/configuration/access_condition'
|
10
|
+
require 'mods_display/configuration/imprint'
|
11
|
+
require 'mods_display/configuration/format'
|
12
|
+
require 'mods_display/configuration/genre'
|
13
|
+
require 'mods_display/configuration/name'
|
14
|
+
require 'mods_display/configuration/note'
|
15
|
+
require 'mods_display/configuration/related_item'
|
16
|
+
require 'mods_display/configuration/subject'
|
17
|
+
require 'mods_display/configuration/title'
|
18
|
+
require 'mods_display/fields/field'
|
19
|
+
require 'mods_display/fields/abstract'
|
20
|
+
require 'mods_display/fields/access_condition'
|
21
|
+
require 'mods_display/fields/audience'
|
22
|
+
require 'mods_display/fields/collection'
|
23
|
+
require 'mods_display/fields/contact'
|
24
|
+
require 'mods_display/fields/contents'
|
25
|
+
require 'mods_display/fields/cartographics'
|
26
|
+
require 'mods_display/fields/description'
|
27
|
+
require 'mods_display/fields/format'
|
28
|
+
require 'mods_display/fields/genre'
|
29
|
+
require 'mods_display/fields/identifier'
|
30
|
+
require 'mods_display/fields/imprint'
|
31
|
+
require 'mods_display/fields/language'
|
32
|
+
require 'mods_display/fields/location'
|
33
|
+
require 'mods_display/fields/name'
|
34
|
+
require 'mods_display/fields/note'
|
35
|
+
require 'mods_display/fields/related_item'
|
36
|
+
require 'mods_display/fields/resource_type'
|
37
|
+
require 'mods_display/fields/subject'
|
38
|
+
require 'mods_display/fields/sub_title'
|
39
|
+
require 'mods_display/fields/title'
|
40
|
+
require 'mods_display/fields/values'
|
41
41
|
|
42
42
|
require 'stanford-mods'
|
43
43
|
|
44
|
-
require
|
45
|
-
require
|
44
|
+
require 'i18n'
|
45
|
+
require 'i18n/backend/fallbacks'
|
46
46
|
I18n::Backend::Simple.send(:include, I18n::Backend::Fallbacks)
|
47
47
|
I18n.load_path += Dir["#{File.expand_path('../..', __FILE__)}/config/locales/*.yml"]
|
48
48
|
I18n.backend.load_translations
|
@@ -1,91 +1,93 @@
|
|
1
1
|
# We can probably do something smarter here using const_get to assign
|
2
2
|
# special coniguration classes then fall back on the base config class
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
|
3
|
+
module ModsDisplay
|
4
|
+
class Configuration
|
5
|
+
def initialize(&config)
|
6
|
+
instance_eval(&config)
|
7
|
+
end
|
7
8
|
|
8
|
-
|
9
|
-
|
10
|
-
|
9
|
+
def title(&title)
|
10
|
+
@title ||= ModsDisplay::Configuration::Title.new(&title || proc {})
|
11
|
+
end
|
11
12
|
|
12
|
-
|
13
|
-
|
14
|
-
|
13
|
+
def sub_title(&sub_title)
|
14
|
+
@sub_title ||= ModsDisplay::Configuration::Title.new(&sub_title || proc {})
|
15
|
+
end
|
15
16
|
|
16
|
-
|
17
|
-
|
18
|
-
|
17
|
+
def name(&name)
|
18
|
+
@name ||= ModsDisplay::Configuration::Name.new(&name || proc {})
|
19
|
+
end
|
19
20
|
|
20
|
-
|
21
|
-
|
22
|
-
|
21
|
+
def resource_type(&resource_type)
|
22
|
+
@type_of_resource ||= ModsDisplay::Configuration::Base.new(&resource_type || proc {})
|
23
|
+
end
|
23
24
|
|
24
|
-
|
25
|
-
|
26
|
-
|
25
|
+
def genre(&genre)
|
26
|
+
@genre ||= ModsDisplay::Configuration::Genre.new(&genre || proc {})
|
27
|
+
end
|
27
28
|
|
28
|
-
|
29
|
-
|
30
|
-
|
29
|
+
def format(&format)
|
30
|
+
@format ||= ModsDisplay::Configuration::Format.new(&format || proc {})
|
31
|
+
end
|
31
32
|
|
32
|
-
|
33
|
-
|
34
|
-
|
33
|
+
def imprint(&imprint)
|
34
|
+
@imprint ||= ModsDisplay::Configuration::Imprint.new(&imprint || proc {})
|
35
|
+
end
|
35
36
|
|
36
|
-
|
37
|
-
|
38
|
-
|
37
|
+
def language(&language)
|
38
|
+
@language ||= ModsDisplay::Configuration::Base.new(&language || proc {})
|
39
|
+
end
|
39
40
|
|
40
|
-
|
41
|
-
|
42
|
-
|
41
|
+
def description(&description)
|
42
|
+
@description ||= ModsDisplay::Configuration::Base.new(&description || proc {})
|
43
|
+
end
|
43
44
|
|
44
|
-
|
45
|
-
|
46
|
-
|
45
|
+
def cartographics(&cartographics)
|
46
|
+
@cartographics ||= ModsDisplay::Configuration::Base.new(&cartographics || proc {})
|
47
|
+
end
|
47
48
|
|
48
|
-
|
49
|
-
|
50
|
-
|
49
|
+
def abstract(&abstract)
|
50
|
+
@abstract ||= ModsDisplay::Configuration::Base.new(&abstract || proc {})
|
51
|
+
end
|
51
52
|
|
52
|
-
|
53
|
-
|
54
|
-
|
53
|
+
def contents(&contents)
|
54
|
+
@contents ||= ModsDisplay::Configuration::Base.new(&contents || proc {})
|
55
|
+
end
|
55
56
|
|
56
|
-
|
57
|
-
|
58
|
-
|
57
|
+
def audience(&audience)
|
58
|
+
@audience ||= ModsDisplay::Configuration::Base.new(&audience || proc {})
|
59
|
+
end
|
59
60
|
|
60
|
-
|
61
|
-
|
62
|
-
|
61
|
+
def note(¬e)
|
62
|
+
@note ||= ModsDisplay::Configuration::Note.new(¬e || proc {})
|
63
|
+
end
|
63
64
|
|
64
|
-
|
65
|
-
|
66
|
-
|
65
|
+
def contact(&contact)
|
66
|
+
@contact ||= ModsDisplay::Configuration::Base.new(&contact || proc {})
|
67
|
+
end
|
67
68
|
|
68
|
-
|
69
|
-
|
70
|
-
|
69
|
+
def collection(&collection)
|
70
|
+
@collection ||= ModsDisplay::Configuration::Base.new(&collection || proc {})
|
71
|
+
end
|
71
72
|
|
72
|
-
|
73
|
-
|
74
|
-
|
73
|
+
def related_item(&related_item)
|
74
|
+
@related_item ||= ModsDisplay::Configuration::RelatedItem.new(&related_item || proc {})
|
75
|
+
end
|
75
76
|
|
76
|
-
|
77
|
-
|
78
|
-
|
77
|
+
def subject(&subject)
|
78
|
+
@subject ||= ModsDisplay::Configuration::Subject.new(&subject || proc {})
|
79
|
+
end
|
79
80
|
|
80
|
-
|
81
|
-
|
82
|
-
|
81
|
+
def identifier(&identifier)
|
82
|
+
@identifier ||= ModsDisplay::Configuration::Base.new(&identifier || proc {})
|
83
|
+
end
|
83
84
|
|
84
|
-
|
85
|
-
|
86
|
-
|
85
|
+
def location(&location)
|
86
|
+
@location ||= ModsDisplay::Configuration::Base.new(&location || proc {})
|
87
|
+
end
|
87
88
|
|
88
|
-
|
89
|
-
|
89
|
+
def access_condition(&access_condition)
|
90
|
+
@access_condition ||= ModsDisplay::Configuration::AccessCondition.new(&access_condition || proc {})
|
91
|
+
end
|
90
92
|
end
|
91
|
-
end
|
93
|
+
end
|
@@ -1,17 +1,21 @@
|
|
1
|
-
|
2
|
-
|
3
|
-
|
4
|
-
|
1
|
+
module ModsDisplay
|
2
|
+
class Configuration
|
3
|
+
class AccessCondition < Base
|
4
|
+
def delimiter(delimiter = '<br/>')
|
5
|
+
@delimiter ||= delimiter
|
6
|
+
end
|
5
7
|
|
6
|
-
|
7
|
-
|
8
|
-
|
8
|
+
def ignore?
|
9
|
+
@ignore.nil? ? true : @ignore
|
10
|
+
end
|
9
11
|
|
10
|
-
|
11
|
-
|
12
|
-
|
12
|
+
def display!
|
13
|
+
@ignore = false
|
14
|
+
end
|
13
15
|
|
14
|
-
|
15
|
-
|
16
|
+
def cc_license_version(cc_license_version = '3.0')
|
17
|
+
@cc_license_version ||= cc_license_version
|
18
|
+
end
|
19
|
+
end
|
16
20
|
end
|
17
|
-
end
|
21
|
+
end
|
@@ -1,31 +1,34 @@
|
|
1
|
-
|
2
|
-
|
3
|
-
|
4
|
-
|
1
|
+
module ModsDisplay
|
2
|
+
class Configuration
|
3
|
+
class Base
|
4
|
+
def initialize(&config)
|
5
|
+
instance_eval(&config) if block_given?
|
6
|
+
end
|
5
7
|
|
6
|
-
|
7
|
-
|
8
|
-
|
8
|
+
def label_class(label_class = '')
|
9
|
+
@label_class ||= label_class
|
10
|
+
end
|
9
11
|
|
10
|
-
|
11
|
-
|
12
|
-
|
12
|
+
def value_class(value_class = '')
|
13
|
+
@value_class ||= value_class
|
14
|
+
end
|
13
15
|
|
14
|
-
|
15
|
-
|
16
|
-
|
16
|
+
def delimiter(delimiter = ', ')
|
17
|
+
@delimiter ||= delimiter
|
18
|
+
end
|
17
19
|
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
20
|
+
def link(method_name = '', args = {})
|
21
|
+
return @link if method_name == ''
|
22
|
+
@link ||= [method_name, args]
|
23
|
+
end
|
22
24
|
|
23
|
-
|
24
|
-
|
25
|
-
|
25
|
+
def ignore!
|
26
|
+
@ignore = true
|
27
|
+
end
|
26
28
|
|
27
|
-
|
28
|
-
|
29
|
+
def ignore?
|
30
|
+
@ignore || false
|
31
|
+
end
|
32
|
+
end
|
29
33
|
end
|
30
|
-
|
31
|
-
end
|
34
|
+
end
|