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.
Files changed (82) hide show
  1. checksums.yaml +4 -4
  2. data/.rubocop.yml +16 -0
  3. data/.rubocop_todo.yml +60 -0
  4. data/.travis.yml +2 -2
  5. data/Rakefile +10 -2
  6. data/lib/mods_display.rb +42 -42
  7. data/lib/mods_display/configuration.rb +69 -67
  8. data/lib/mods_display/configuration/access_condition.rb +17 -13
  9. data/lib/mods_display/configuration/base.rb +27 -24
  10. data/lib/mods_display/configuration/format.rb +8 -4
  11. data/lib/mods_display/configuration/genre.rb +8 -4
  12. data/lib/mods_display/configuration/imprint.rb +12 -7
  13. data/lib/mods_display/configuration/name.rb +8 -4
  14. data/lib/mods_display/configuration/note.rb +8 -4
  15. data/lib/mods_display/configuration/related_item.rb +8 -4
  16. data/lib/mods_display/configuration/subject.rb +11 -9
  17. data/lib/mods_display/configuration/title.rb +8 -4
  18. data/lib/mods_display/controller_extension.rb +24 -24
  19. data/lib/mods_display/country_codes.rb +385 -384
  20. data/lib/mods_display/fields/abstract.rb +7 -6
  21. data/lib/mods_display/fields/access_condition.rb +55 -55
  22. data/lib/mods_display/fields/audience.rb +7 -6
  23. data/lib/mods_display/fields/cartographics.rb +15 -14
  24. data/lib/mods_display/fields/collection.rb +32 -17
  25. data/lib/mods_display/fields/contact.rb +15 -13
  26. data/lib/mods_display/fields/contents.rb +7 -6
  27. data/lib/mods_display/fields/description.rb +21 -21
  28. data/lib/mods_display/fields/field.rb +164 -109
  29. data/lib/mods_display/fields/format.rb +36 -33
  30. data/lib/mods_display/fields/genre.rb +12 -11
  31. data/lib/mods_display/fields/identifier.rb +34 -34
  32. data/lib/mods_display/fields/imprint.rb +258 -214
  33. data/lib/mods_display/fields/language.rb +18 -16
  34. data/lib/mods_display/fields/location.rb +27 -26
  35. data/lib/mods_display/fields/name.rb +113 -118
  36. data/lib/mods_display/fields/note.rb +33 -34
  37. data/lib/mods_display/fields/related_item.rb +64 -66
  38. data/lib/mods_display/fields/resource_type.rb +13 -11
  39. data/lib/mods_display/fields/sub_title.rb +6 -4
  40. data/lib/mods_display/fields/subject.rb +92 -90
  41. data/lib/mods_display/fields/title.rb +54 -49
  42. data/lib/mods_display/fields/values.rb +7 -8
  43. data/lib/mods_display/html.rb +117 -96
  44. data/lib/mods_display/model_extension.rb +17 -16
  45. data/lib/mods_display/relator_codes.rb +269 -267
  46. data/lib/mods_display/version.rb +1 -1
  47. data/mods_display.gemspec +13 -12
  48. data/spec/configuration/access_condition_spec.rb +5 -5
  49. data/spec/configuration/base_spec.rb +24 -24
  50. data/spec/fields/abstract_spec.rb +24 -14
  51. data/spec/fields/access_condition_spec.rb +80 -55
  52. data/spec/fields/audience_spec.rb +15 -12
  53. data/spec/fields/cartographics_spec.rb +17 -18
  54. data/spec/fields/collection_spec.rb +65 -19
  55. data/spec/fields/contact_spec.rb +11 -9
  56. data/spec/fields/contents_spec.rb +15 -12
  57. data/spec/fields/description_spec.rb +40 -22
  58. data/spec/fields/format_spec.rb +28 -18
  59. data/spec/fields/genre_spec.rb +18 -16
  60. data/spec/fields/identifier_spec.rb +46 -34
  61. data/spec/fields/imprint_spec.rb +151 -125
  62. data/spec/fields/language_spec.rb +36 -20
  63. data/spec/fields/location_spec.rb +43 -27
  64. data/spec/fields/name_spec.rb +92 -92
  65. data/spec/fields/note_spec.rb +53 -40
  66. data/spec/fields/related_item_spec.rb +42 -40
  67. data/spec/fields/resource_type_spec.rb +20 -14
  68. data/spec/fields/sub_title_spec.rb +11 -9
  69. data/spec/fields/subject_spec.rb +61 -56
  70. data/spec/fields/title_spec.rb +53 -40
  71. data/spec/fixtures/access_condition_fixtures.rb +50 -0
  72. data/spec/fixtures/cartographics_fixtures.rb +1 -1
  73. data/spec/fixtures/imprint_fixtures.rb +49 -1
  74. data/spec/fixtures/name_fixtures.rb +195 -2
  75. data/spec/fixtures/related_item_fixtures.rb +107 -0
  76. data/spec/fixtures/subjects_fixtures.rb +15 -2
  77. data/spec/fixtures/title_fixtures.rb +101 -0
  78. data/spec/integration/configuration_spec.rb +23 -20
  79. data/spec/integration/html_spec.rb +40 -29
  80. data/spec/integration/installation_spec.rb +14 -14
  81. data/spec/spec_helper.rb +5 -8
  82. metadata +25 -3
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 696af737773d1dc801bfd3d700ebb694cc831f52
4
- data.tar.gz: a884d43c1640681aa477cf3f7de28159b7de68f5
3
+ metadata.gz: bde2a7d4b0e1265aa8e7c8995c208dcbe2aae03a
4
+ data.tar.gz: e74a4364e4dd51b66f69c24a0a62258d4c053a4b
5
5
  SHA512:
6
- metadata.gz: 647c86e5eebc05550a32e3f4cc258eb3e9c9eb0c106ec0a5a7c40c84792942a490f52006c53663f54ed0c3fdea7919a58c748c5468d97e24d88bed352e6785b8
7
- data.tar.gz: 532ce43cc00f02d1ae6202bc5e1d2d8afa315d674f0baa7e09b867c58e10998f02bd1da6b682a9524acc7f95d9d461aeae9b2c57ef40f9ef46e05631cf3834b7
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
@@ -1,6 +1,6 @@
1
1
  notifications:
2
2
  email: false
3
3
  rvm:
4
- - 2.1.0
5
- - 2.0.0
4
+ - 2.2.3
5
+ - 2.1.7
6
6
  - 1.9.3
data/Rakefile CHANGED
@@ -1,5 +1,13 @@
1
- require "bundler/gem_tasks"
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
- task :default => :spec
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 "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"
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 "i18n"
45
- require "i18n/backend/fallbacks"
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
- class ModsDisplay::Configuration
4
- def initialize &config
5
- instance_eval &config
6
- end
3
+ module ModsDisplay
4
+ class Configuration
5
+ def initialize(&config)
6
+ instance_eval(&config)
7
+ end
7
8
 
8
- def title &title
9
- @title ||= ModsDisplay::Configuration::Title.new(&title || Proc.new{})
10
- end
9
+ def title(&title)
10
+ @title ||= ModsDisplay::Configuration::Title.new(&title || proc {})
11
+ end
11
12
 
12
- def sub_title &sub_title
13
- @sub_title ||= ModsDisplay::Configuration::Title.new(&sub_title || Proc.new{})
14
- end
13
+ def sub_title(&sub_title)
14
+ @sub_title ||= ModsDisplay::Configuration::Title.new(&sub_title || proc {})
15
+ end
15
16
 
16
- def name &name
17
- @name ||= ModsDisplay::Configuration::Name.new(&name || Proc.new{})
18
- end
17
+ def name(&name)
18
+ @name ||= ModsDisplay::Configuration::Name.new(&name || proc {})
19
+ end
19
20
 
20
- def resource_type &resource_type
21
- @type_of_resource ||= ModsDisplay::Configuration::Base.new(&resource_type || Proc.new{})
22
- end
21
+ def resource_type(&resource_type)
22
+ @type_of_resource ||= ModsDisplay::Configuration::Base.new(&resource_type || proc {})
23
+ end
23
24
 
24
- def genre &genre
25
- @genre ||= ModsDisplay::Configuration::Genre.new(&genre || Proc.new{})
26
- end
25
+ def genre(&genre)
26
+ @genre ||= ModsDisplay::Configuration::Genre.new(&genre || proc {})
27
+ end
27
28
 
28
- def format &format
29
- @format ||= ModsDisplay::Configuration::Format.new(&format || Proc.new{})
30
- end
29
+ def format(&format)
30
+ @format ||= ModsDisplay::Configuration::Format.new(&format || proc {})
31
+ end
31
32
 
32
- def imprint &imprint
33
- @imprint ||= ModsDisplay::Configuration::Imprint.new(&imprint || Proc.new{})
34
- end
33
+ def imprint(&imprint)
34
+ @imprint ||= ModsDisplay::Configuration::Imprint.new(&imprint || proc {})
35
+ end
35
36
 
36
- def language &language
37
- @language ||= ModsDisplay::Configuration::Base.new(&language || Proc.new{})
38
- end
37
+ def language(&language)
38
+ @language ||= ModsDisplay::Configuration::Base.new(&language || proc {})
39
+ end
39
40
 
40
- def description &description
41
- @description ||= ModsDisplay::Configuration::Base.new(&description || Proc.new{})
42
- end
41
+ def description(&description)
42
+ @description ||= ModsDisplay::Configuration::Base.new(&description || proc {})
43
+ end
43
44
 
44
- def cartographics &cartographics
45
- @cartographics ||= ModsDisplay::Configuration::Base.new(&cartographics || Proc.new{})
46
- end
45
+ def cartographics(&cartographics)
46
+ @cartographics ||= ModsDisplay::Configuration::Base.new(&cartographics || proc {})
47
+ end
47
48
 
48
- def abstract &abstract
49
- @abstract ||= ModsDisplay::Configuration::Base.new(&abstract || Proc.new{})
50
- end
49
+ def abstract(&abstract)
50
+ @abstract ||= ModsDisplay::Configuration::Base.new(&abstract || proc {})
51
+ end
51
52
 
52
- def contents &contents
53
- @contents ||= ModsDisplay::Configuration::Base.new(&contents || Proc.new{})
54
- end
53
+ def contents(&contents)
54
+ @contents ||= ModsDisplay::Configuration::Base.new(&contents || proc {})
55
+ end
55
56
 
56
- def audience &audience
57
- @audience ||= ModsDisplay::Configuration::Base.new(&audience || Proc.new{})
58
- end
57
+ def audience(&audience)
58
+ @audience ||= ModsDisplay::Configuration::Base.new(&audience || proc {})
59
+ end
59
60
 
60
- def note &note
61
- @note ||= ModsDisplay::Configuration::Note.new(&note || Proc.new{})
62
- end
61
+ def note(&note)
62
+ @note ||= ModsDisplay::Configuration::Note.new(&note || proc {})
63
+ end
63
64
 
64
- def contact &contact
65
- @contact ||= ModsDisplay::Configuration::Base.new(&contact || Proc.new{})
66
- end
65
+ def contact(&contact)
66
+ @contact ||= ModsDisplay::Configuration::Base.new(&contact || proc {})
67
+ end
67
68
 
68
- def collection &collection
69
- @collection ||= ModsDisplay::Configuration::Base.new(&collection || Proc.new{})
70
- end
69
+ def collection(&collection)
70
+ @collection ||= ModsDisplay::Configuration::Base.new(&collection || proc {})
71
+ end
71
72
 
72
- def related_item &related_item
73
- @related_item ||= ModsDisplay::Configuration::RelatedItem.new(&related_item || Proc.new{})
74
- end
73
+ def related_item(&related_item)
74
+ @related_item ||= ModsDisplay::Configuration::RelatedItem.new(&related_item || proc {})
75
+ end
75
76
 
76
- def subject &subject
77
- @subject ||= ModsDisplay::Configuration::Subject.new(&subject || Proc.new{})
78
- end
77
+ def subject(&subject)
78
+ @subject ||= ModsDisplay::Configuration::Subject.new(&subject || proc {})
79
+ end
79
80
 
80
- def identifier &identifier
81
- @identifier ||= ModsDisplay::Configuration::Base.new(&identifier || Proc.new{})
82
- end
81
+ def identifier(&identifier)
82
+ @identifier ||= ModsDisplay::Configuration::Base.new(&identifier || proc {})
83
+ end
83
84
 
84
- def location &location
85
- @location ||= ModsDisplay::Configuration::Base.new(&location || Proc.new{})
86
- end
85
+ def location(&location)
86
+ @location ||= ModsDisplay::Configuration::Base.new(&location || proc {})
87
+ end
87
88
 
88
- def access_condition &access_condition
89
- @access_condition ||= ModsDisplay::Configuration::AccessCondition.new(&access_condition || Proc.new{})
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
- class ModsDisplay::Configuration::AccessCondition < ModsDisplay::Configuration::Base
2
- def delimiter delimiter="<br/>"
3
- @delimiter ||= delimiter
4
- end
1
+ module ModsDisplay
2
+ class Configuration
3
+ class AccessCondition < Base
4
+ def delimiter(delimiter = '<br/>')
5
+ @delimiter ||= delimiter
6
+ end
5
7
 
6
- def ignore?
7
- @ignore.nil? ? true : @ignore
8
- end
8
+ def ignore?
9
+ @ignore.nil? ? true : @ignore
10
+ end
9
11
 
10
- def display!
11
- @ignore = false
12
- end
12
+ def display!
13
+ @ignore = false
14
+ end
13
15
 
14
- def cc_license_version cc_license_version="3.0"
15
- @cc_license_version ||= cc_license_version
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
- class ModsDisplay::Configuration::Base
2
- def initialize &config
3
- instance_eval &config if block_given?
4
- end
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
- def label_class label_class=""
7
- @label_class ||= label_class
8
- end
8
+ def label_class(label_class = '')
9
+ @label_class ||= label_class
10
+ end
9
11
 
10
- def value_class value_class=""
11
- @value_class ||= value_class
12
- end
12
+ def value_class(value_class = '')
13
+ @value_class ||= value_class
14
+ end
13
15
 
14
- def delimiter delimiter=", "
15
- @delimiter ||= delimiter
16
- end
16
+ def delimiter(delimiter = ', ')
17
+ @delimiter ||= delimiter
18
+ end
17
19
 
18
- def link method_name="", args={}
19
- return @link if method_name == ""
20
- @link ||= [method_name, args]
21
- end
20
+ def link(method_name = '', args = {})
21
+ return @link if method_name == ''
22
+ @link ||= [method_name, args]
23
+ end
22
24
 
23
- def ignore!
24
- @ignore = true
25
- end
25
+ def ignore!
26
+ @ignore = true
27
+ end
26
28
 
27
- def ignore?
28
- @ignore || false
29
+ def ignore?
30
+ @ignore || false
31
+ end
32
+ end
29
33
  end
30
-
31
- end
34
+ end