simple-navigation 4.4.1 → 4.5.0

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.
Files changed (91) hide show
  1. checksums.yaml +4 -4
  2. data/.github/workflows/ci.yml +84 -0
  3. data/.rspec +1 -2
  4. data/.rubocop.yml +49 -0
  5. data/.rubocop_todo.yml +38 -0
  6. data/Appraisals +55 -0
  7. data/CHANGELOG.md +7 -0
  8. data/Gemfile +21 -0
  9. data/Guardfile +4 -2
  10. data/README.md +11 -23
  11. data/Rakefile +2 -27
  12. data/bin/_guard-core +16 -0
  13. data/bin/appraisal +16 -0
  14. data/bin/guard +16 -0
  15. data/bin/rake +16 -0
  16. data/bin/rspec +16 -0
  17. data/bin/rubocop +16 -0
  18. data/gemfiles/rails_6.1.gemfile +35 -0
  19. data/gemfiles/rails_7.0.gemfile +23 -0
  20. data/gemfiles/rails_7.1.gemfile +23 -0
  21. data/gemfiles/rails_7.2.gemfile +23 -0
  22. data/gemfiles/rails_8.0.gemfile +23 -0
  23. data/gemfiles/rails_8.1.gemfile +23 -0
  24. data/generators/navigation_config/navigation_config_generator.rb +2 -0
  25. data/generators/navigation_config/templates/config/navigation.rb +30 -26
  26. data/lib/generators/navigation_config/navigation_config_generator.rb +2 -0
  27. data/lib/simple-navigation.rb +3 -1
  28. data/lib/simple_navigation/adapters/base.rb +2 -0
  29. data/lib/simple_navigation/adapters/nanoc.rb +8 -3
  30. data/lib/simple_navigation/adapters/padrino.rb +3 -1
  31. data/lib/simple_navigation/adapters/rails.rb +12 -14
  32. data/lib/simple_navigation/adapters/sinatra.rb +4 -6
  33. data/lib/simple_navigation/config_file.rb +1 -1
  34. data/lib/simple_navigation/config_file_finder.rb +3 -3
  35. data/lib/simple_navigation/configuration.rb +5 -5
  36. data/lib/simple_navigation/helpers.rb +9 -11
  37. data/lib/simple_navigation/item.rb +26 -20
  38. data/lib/simple_navigation/item_adapter.rb +16 -5
  39. data/lib/simple_navigation/item_container.rb +13 -7
  40. data/lib/simple_navigation/items_provider.rb +6 -4
  41. data/lib/simple_navigation/railtie.rb +3 -1
  42. data/lib/simple_navigation/renderer/base.rb +5 -5
  43. data/lib/simple_navigation/renderer/breadcrumbs.rb +4 -3
  44. data/lib/simple_navigation/renderer/json.rb +1 -1
  45. data/lib/simple_navigation/renderer/links.rb +2 -0
  46. data/lib/simple_navigation/renderer/list.rb +5 -5
  47. data/lib/simple_navigation/renderer/text.rb +3 -1
  48. data/lib/simple_navigation/version.rb +3 -1
  49. data/lib/simple_navigation.rb +32 -24
  50. data/simple-navigation.gemspec +16 -27
  51. data/spec/fake_app/config/navigation.rb +4 -2
  52. data/spec/fake_app/rails_app.rb +5 -3
  53. data/spec/integration/rendering_navigation_spec.rb +7 -5
  54. data/spec/simple_navigation/adapters/nanoc_spec.rb +97 -0
  55. data/spec/simple_navigation/adapters/padrino_spec.rb +41 -22
  56. data/spec/simple_navigation/adapters/rails_spec.rb +199 -206
  57. data/spec/simple_navigation/adapters/sinatra_spec.rb +21 -5
  58. data/spec/simple_navigation/config_file_finder_spec.rb +32 -28
  59. data/spec/simple_navigation/config_file_spec.rb +14 -14
  60. data/spec/simple_navigation/configuration_spec.rb +128 -121
  61. data/spec/simple_navigation/helpers_spec.rb +282 -284
  62. data/spec/simple_navigation/item_adapter_spec.rb +109 -122
  63. data/spec/simple_navigation/item_container_spec.rb +407 -408
  64. data/spec/simple_navigation/item_spec.rb +333 -301
  65. data/spec/simple_navigation/items_provider_spec.rb +30 -27
  66. data/spec/simple_navigation/renderer/base_spec.rb +166 -168
  67. data/spec/simple_navigation/renderer/breadcrumbs_spec.rb +81 -83
  68. data/spec/simple_navigation/renderer/json_spec.rb +49 -56
  69. data/spec/simple_navigation/renderer/links_spec.rb +81 -83
  70. data/spec/simple_navigation/renderer/list_spec.rb +111 -91
  71. data/spec/simple_navigation/renderer/text_spec.rb +37 -39
  72. data/spec/simple_navigation_spec.rb +54 -47
  73. data/spec/spec_helper.rb +146 -53
  74. metadata +25 -164
  75. data/.travis.yml +0 -23
  76. data/gemfiles/rails-3-2-stable.gemfile +0 -11
  77. data/gemfiles/rails-4-1-stable.gemfile +0 -7
  78. data/gemfiles/rails-4-2-stable.gemfile +0 -7
  79. data/gemfiles/rails-5-2-stable.gemfile +0 -7
  80. data/gemfiles/rails-6-0-stable.gemfile +0 -9
  81. data/gemfiles/rails-6-1-stable.gemfile +0 -9
  82. data/init.rb +0 -1
  83. data/install.rb +0 -5
  84. data/lib/simple_navigation/adapters.rb +0 -10
  85. data/lib/simple_navigation/renderer.rb +0 -12
  86. data/spec/initializers/coveralls.rb +0 -3
  87. data/spec/initializers/have_css_matcher.rb +0 -19
  88. data/spec/initializers/memfs.rb +0 -7
  89. data/spec/initializers/rails.rb +0 -4
  90. data/spec/initializers/rspec.rb +0 -7
  91. data/uninstall.rb +0 -1
data/spec/spec_helper.rb CHANGED
@@ -1,76 +1,169 @@
1
- require 'initializers/have_css_matcher'
2
- require 'initializers/memfs'
3
- require 'initializers/coveralls'
4
- require 'initializers/rails'
5
- require 'initializers/rspec'
1
+ # frozen_string_literal: true
2
+
3
+ # Load ruby-warning gem
4
+ require 'warning'
5
+
6
+ Warning[:deprecated] = true
7
+ Warning[:experimental] = true
8
+ Warning[:performance] = true if Gem::Version.new(RUBY_VERSION) >= Gem::Version.new('3.3.0')
9
+
10
+ # Ignore all warnings in Gem dependencies
11
+ Gem.path.each do |path|
12
+ Warning.ignore(//, path)
13
+ end
14
+
15
+ # Ignore method redefinitions
16
+ Warning.ignore(/warning: previous definition of/)
17
+ Warning.ignore(/warning: method redefined;/)
18
+
19
+ # Load simplecov
20
+ require 'simplecov'
21
+ require 'simplecov_json_formatter'
22
+
23
+ # Start SimpleCov
24
+ SimpleCov.start do
25
+ formatter SimpleCov::Formatter::MultiFormatter.new([SimpleCov::Formatter::HTMLFormatter,
26
+ SimpleCov::Formatter::JSONFormatter])
27
+ add_filter 'spec/'
28
+ end
29
+
30
+ # Load test gems
31
+ require 'memfs'
6
32
  require 'capybara/rspec'
7
33
 
8
- require 'bundler/setup'
9
- Bundler.require
34
+ # Define our own spec helper
35
+ module SimpleNavigationTest
36
+ extend RSpec::Mocks::ExampleMethods
10
37
 
11
- if defined? Rails
12
- require 'fake_app/rails_app'
13
- require 'rspec/rails'
38
+ module_function
14
39
 
15
- Capybara.app = RailsApp::Application
40
+ def setup_adapter_for(framework, context = double(:context))
41
+ if framework == :rails
42
+ # Rails 6.0 and 6.1 provide ActionView::Base.empty method that creates ActionView with an empty LookupContext.
43
+ # The method is not available on older versions
44
+ view_context = ActionView::Base.respond_to?(:empty) ? ActionView::Base.empty : ActionView::Base.new
45
+ allow(context).to receive_messages(view_context: view_context)
46
+ end
16
47
 
17
- RSpec.configure do |config|
18
- config.before do
19
- SimpleNavigation.config_files.clear
20
- setup_adapter_for :rails
48
+ allow(SimpleNavigation).to receive_messages(framework: framework)
49
+ SimpleNavigation.load_adapter
50
+ SimpleNavigation.init_adapter_from(context)
51
+ end
52
+
53
+ def select_an_item(item)
54
+ allow(item).to receive_messages(selected?: true)
55
+ end
56
+
57
+ def setup_container(dom_id, dom_class)
58
+ container = SimpleNavigation::ItemContainer.new(1)
59
+ container.dom_id = dom_id
60
+ container.dom_class = dom_class
61
+ container
62
+ end
63
+
64
+ def setup_navigation(dom_id, dom_class)
65
+ setup_adapter_for :rails
66
+ container = setup_container(dom_id, dom_class)
67
+ setup_items(container)
68
+ container
69
+ end
70
+
71
+ # FIXME: adding the :link option for the list renderer messes up the other
72
+ # renderers
73
+ def setup_items(container) # rubocop:disable Metrics/AbcSize
74
+ container.item :users, 'Users', '/users', html: { id: 'users_id' }, link_html: { id: 'users_link_id' }
75
+ container.item :invoices, 'Invoices', '/invoices' do |invoices|
76
+ invoices.item :paid, 'Paid', '/invoices/paid'
77
+ invoices.item :unpaid, 'Unpaid', '/invoices/unpaid'
78
+ end
79
+ container.item :accounts, 'Accounts', '/accounts', html: { style: 'float:right' }
80
+ container.item :miscellany, 'Miscellany'
81
+
82
+ container.items.each do |item|
83
+ allow(item).to receive_messages(selected?: false, selected_by_condition?: false)
84
+
85
+ item.sub_navigation&.items&.each do |sub_item|
86
+ allow(sub_item).to receive_messages(selected?: false, selected_by_condition?: false)
87
+ end
21
88
  end
22
89
  end
23
90
  end
24
91
 
25
- def setup_adapter_for(framework, context = double(:context))
26
- if framework == :rails
27
- # Rails 6.0 and 6.1 provide ActionView::Base.empty method that creates ActionView with an empty LookupContext.
28
- # The method is not available on older versions
29
- view_context = ActionView::Base.respond_to?(:empty) ? ActionView::Base.empty : ActionView::Base.new
30
- allow(context).to receive_messages(view_context: view_context)
92
+ # Configure RSpec
93
+ RSpec.configure do |config|
94
+ config.include SimpleNavigationTest
95
+
96
+ config.color = true
97
+ config.fail_fast = false
98
+
99
+ config.order = :random
100
+ Kernel.srand config.seed
101
+
102
+ config.expect_with(:rspec) do |c|
103
+ c.syntax = :expect
31
104
  end
32
105
 
33
- allow(SimpleNavigation).to receive_messages(framework: framework)
34
- SimpleNavigation.load_adapter
35
- SimpleNavigation.init_adapter_from(context)
36
- end
106
+ # disable monkey patching
107
+ # see: https://rspec.info/features/3-12/rspec-core/configuration/zero-monkey-patching-mode/
108
+ config.disable_monkey_patching!
37
109
 
38
- def select_an_item(item)
39
- allow(item).to receive_messages(selected?: true)
40
- end
110
+ config.raise_errors_for_deprecations!
41
111
 
42
- def setup_container(dom_id, dom_class)
43
- container = SimpleNavigation::ItemContainer.new(1)
44
- container.dom_id = dom_id
45
- container.dom_class = dom_class
46
- container
112
+ config.around(memfs: true) do |example|
113
+ MemFs.activate { example.run }
114
+ end
47
115
  end
48
116
 
49
- def setup_navigation(dom_id, dom_class)
50
- setup_adapter_for :rails
51
- container = setup_container(dom_id, dom_class)
52
- setup_items(container)
53
- container
117
+ # Define our own matcher
118
+ RSpec::Matchers.define :have_css do |expected, times|
119
+ match do |actual|
120
+ selector = Nokogiri::HTML(actual).css(expected)
121
+
122
+ if times
123
+ expect(selector.size).to eq times
124
+ else
125
+ expect(selector.size).to be >= 1
126
+ end
127
+ end
128
+
129
+ failure_message do |actual|
130
+ "expected #{actual} to have #{times || 1} elements matching '#{expected}'"
131
+ end
132
+
133
+ failure_message_when_negated do |actual|
134
+ "expected #{actual} not to have #{times || 1} elements matching '#{expected}'"
135
+ end
54
136
  end
55
137
 
56
- # FIXME: adding the :link option for the list renderer messes up the other
57
- # renderers
58
- def setup_items(container)
59
- container.item :users, 'Users', '/users', html: { id: 'users_id' }, link_html: { id: 'users_link_id' }
60
- container.item :invoices, 'Invoices', '/invoices' do |invoices|
61
- invoices.item :paid, 'Paid', '/invoices/paid'
62
- invoices.item :unpaid, 'Unpaid', '/invoices/unpaid'
138
+ RSpec::Matchers.define :have_no_css do |expected|
139
+ match do |actual|
140
+ selector = Nokogiri::HTML(actual).css(expected)
141
+ expect(selector.size).to eq 0
63
142
  end
64
- container.item :accounts, 'Accounts', '/accounts', html: { style: 'float:right' }
65
- container.item :miscellany, 'Miscellany'
66
143
 
67
- container.items.each do |item|
68
- allow(item).to receive_messages(selected?: false, selected_by_condition?: false)
144
+ failure_message do |actual|
145
+ "expected #{actual} to have no elements matching '#{expected}'"
146
+ end
69
147
 
70
- if item.sub_navigation
71
- item.sub_navigation.items.each do |item|
72
- allow(item).to receive_messages(selected?: false, selected_by_condition?: false)
73
- end
148
+ failure_message_when_negated do |actual|
149
+ "expected #{actual} to have elements matching '#{expected}'"
150
+ end
151
+ end
152
+
153
+ # Configure RSpec with Rails
154
+ begin
155
+ require 'rails'
156
+ rescue LoadError # rubocop:disable Lint/SuppressedException
157
+ else
158
+ require 'fake_app/rails_app'
159
+ require 'rspec/rails'
160
+
161
+ Capybara.app = RailsApp::Application
162
+
163
+ RSpec.configure do |config|
164
+ config.before do
165
+ SimpleNavigation.config_files.clear
166
+ SimpleNavigationTest.setup_adapter_for :rails
74
167
  end
75
168
  end
76
169
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: simple-navigation
3
3
  version: !ruby/object:Gem::Version
4
- version: 4.4.1
4
+ version: 4.5.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Andi Schacke
@@ -17,16 +17,16 @@ dependencies:
17
17
  requirements:
18
18
  - - ">="
19
19
  - !ruby/object:Gem::Version
20
- version: 2.3.2
20
+ version: 6.1.0
21
21
  type: :runtime
22
22
  prerelease: false
23
23
  version_requirements: !ruby/object:Gem::Requirement
24
24
  requirements:
25
25
  - - ">="
26
26
  - !ruby/object:Gem::Version
27
- version: 2.3.2
27
+ version: 6.1.0
28
28
  - !ruby/object:Gem::Dependency
29
- name: ostruct
29
+ name: json
30
30
  requirement: !ruby/object:Gem::Requirement
31
31
  requirements:
32
32
  - - ">="
@@ -40,125 +40,13 @@ dependencies:
40
40
  - !ruby/object:Gem::Version
41
41
  version: '0'
42
42
  - !ruby/object:Gem::Dependency
43
- name: bundler
43
+ name: zeitwerk
44
44
  requirement: !ruby/object:Gem::Requirement
45
45
  requirements:
46
46
  - - ">="
47
47
  - !ruby/object:Gem::Version
48
48
  version: '0'
49
- type: :development
50
- prerelease: false
51
- version_requirements: !ruby/object:Gem::Requirement
52
- requirements:
53
- - - ">="
54
- - !ruby/object:Gem::Version
55
- version: '0'
56
- - !ruby/object:Gem::Dependency
57
- name: capybara
58
- requirement: !ruby/object:Gem::Requirement
59
- requirements:
60
- - - ">="
61
- - !ruby/object:Gem::Version
62
- version: '0'
63
- type: :development
64
- prerelease: false
65
- version_requirements: !ruby/object:Gem::Requirement
66
- requirements:
67
- - - ">="
68
- - !ruby/object:Gem::Version
69
- version: '0'
70
- - !ruby/object:Gem::Dependency
71
- name: coveralls
72
- requirement: !ruby/object:Gem::Requirement
73
- requirements:
74
- - - "~>"
75
- - !ruby/object:Gem::Version
76
- version: '0.7'
77
- type: :development
78
- prerelease: false
79
- version_requirements: !ruby/object:Gem::Requirement
80
- requirements:
81
- - - "~>"
82
- - !ruby/object:Gem::Version
83
- version: '0.7'
84
- - !ruby/object:Gem::Dependency
85
- name: guard-rspec
86
- requirement: !ruby/object:Gem::Requirement
87
- requirements:
88
- - - "~>"
89
- - !ruby/object:Gem::Version
90
- version: '4.2'
91
- type: :development
92
- prerelease: false
93
- version_requirements: !ruby/object:Gem::Requirement
94
- requirements:
95
- - - "~>"
96
- - !ruby/object:Gem::Version
97
- version: '4.2'
98
- - !ruby/object:Gem::Dependency
99
- name: memfs
100
- requirement: !ruby/object:Gem::Requirement
101
- requirements:
102
- - - "~>"
103
- - !ruby/object:Gem::Version
104
- version: 0.4.1
105
- type: :development
106
- prerelease: false
107
- version_requirements: !ruby/object:Gem::Requirement
108
- requirements:
109
- - - "~>"
110
- - !ruby/object:Gem::Version
111
- version: 0.4.1
112
- - !ruby/object:Gem::Dependency
113
- name: rake
114
- requirement: !ruby/object:Gem::Requirement
115
- requirements:
116
- - - ">="
117
- - !ruby/object:Gem::Version
118
- version: '0'
119
- type: :development
120
- prerelease: false
121
- version_requirements: !ruby/object:Gem::Requirement
122
- requirements:
123
- - - ">="
124
- - !ruby/object:Gem::Version
125
- version: '0'
126
- - !ruby/object:Gem::Dependency
127
- name: rdoc
128
- requirement: !ruby/object:Gem::Requirement
129
- requirements:
130
- - - ">="
131
- - !ruby/object:Gem::Version
132
- version: '0'
133
- type: :development
134
- prerelease: false
135
- version_requirements: !ruby/object:Gem::Requirement
136
- requirements:
137
- - - ">="
138
- - !ruby/object:Gem::Version
139
- version: '0'
140
- - !ruby/object:Gem::Dependency
141
- name: rspec
142
- requirement: !ruby/object:Gem::Requirement
143
- requirements:
144
- - - "~>"
145
- - !ruby/object:Gem::Version
146
- version: '3.0'
147
- type: :development
148
- prerelease: false
149
- version_requirements: !ruby/object:Gem::Requirement
150
- requirements:
151
- - - "~>"
152
- - !ruby/object:Gem::Version
153
- version: '3.0'
154
- - !ruby/object:Gem::Dependency
155
- name: tzinfo
156
- requirement: !ruby/object:Gem::Requirement
157
- requirements:
158
- - - ">="
159
- - !ruby/object:Gem::Version
160
- version: '0'
161
- type: :development
49
+ type: :runtime
162
50
  prerelease: false
163
51
  version_requirements: !ruby/object:Gem::Requirement
164
52
  requirements:
@@ -175,32 +63,38 @@ executables: []
175
63
  extensions: []
176
64
  extra_rdoc_files: []
177
65
  files:
66
+ - ".github/workflows/ci.yml"
178
67
  - ".gitignore"
179
68
  - ".rspec"
69
+ - ".rubocop.yml"
70
+ - ".rubocop_todo.yml"
180
71
  - ".ruby-version"
181
- - ".travis.yml"
72
+ - Appraisals
182
73
  - CHANGELOG.md
183
74
  - Gemfile
184
75
  - Guardfile
185
76
  - LICENSE
186
77
  - README.md
187
78
  - Rakefile
79
+ - bin/_guard-core
80
+ - bin/appraisal
81
+ - bin/guard
82
+ - bin/rake
83
+ - bin/rspec
84
+ - bin/rubocop
188
85
  - gemfiles/.bundle/config
189
- - gemfiles/rails-3-2-stable.gemfile
190
- - gemfiles/rails-4-1-stable.gemfile
191
- - gemfiles/rails-4-2-stable.gemfile
192
- - gemfiles/rails-5-2-stable.gemfile
193
- - gemfiles/rails-6-0-stable.gemfile
194
- - gemfiles/rails-6-1-stable.gemfile
86
+ - gemfiles/rails_6.1.gemfile
87
+ - gemfiles/rails_7.0.gemfile
88
+ - gemfiles/rails_7.1.gemfile
89
+ - gemfiles/rails_7.2.gemfile
90
+ - gemfiles/rails_8.0.gemfile
91
+ - gemfiles/rails_8.1.gemfile
195
92
  - generators/navigation_config/USAGE
196
93
  - generators/navigation_config/navigation_config_generator.rb
197
94
  - generators/navigation_config/templates/config/navigation.rb
198
- - init.rb
199
- - install.rb
200
95
  - lib/generators/navigation_config/navigation_config_generator.rb
201
96
  - lib/simple-navigation.rb
202
97
  - lib/simple_navigation.rb
203
- - lib/simple_navigation/adapters.rb
204
98
  - lib/simple_navigation/adapters/base.rb
205
99
  - lib/simple_navigation/adapters/nanoc.rb
206
100
  - lib/simple_navigation/adapters/padrino.rb
@@ -215,7 +109,6 @@ files:
215
109
  - lib/simple_navigation/item_container.rb
216
110
  - lib/simple_navigation/items_provider.rb
217
111
  - lib/simple_navigation/railtie.rb
218
- - lib/simple_navigation/renderer.rb
219
112
  - lib/simple_navigation/renderer/base.rb
220
113
  - lib/simple_navigation/renderer/breadcrumbs.rb
221
114
  - lib/simple_navigation/renderer/json.rb
@@ -226,12 +119,8 @@ files:
226
119
  - simple-navigation.gemspec
227
120
  - spec/fake_app/config/navigation.rb
228
121
  - spec/fake_app/rails_app.rb
229
- - spec/initializers/coveralls.rb
230
- - spec/initializers/have_css_matcher.rb
231
- - spec/initializers/memfs.rb
232
- - spec/initializers/rails.rb
233
- - spec/initializers/rspec.rb
234
122
  - spec/integration/rendering_navigation_spec.rb
123
+ - spec/simple_navigation/adapters/nanoc_spec.rb
235
124
  - spec/simple_navigation/adapters/padrino_spec.rb
236
125
  - spec/simple_navigation/adapters/rails_spec.rb
237
126
  - spec/simple_navigation/adapters/sinatra_spec.rb
@@ -251,7 +140,6 @@ files:
251
140
  - spec/simple_navigation/renderer/text_spec.rb
252
141
  - spec/simple_navigation_spec.rb
253
142
  - spec/spec_helper.rb
254
- - uninstall.rb
255
143
  homepage: http://github.com/codeplant/simple-navigation
256
144
  licenses:
257
145
  - MIT
@@ -265,7 +153,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
265
153
  requirements:
266
154
  - - ">="
267
155
  - !ruby/object:Gem::Version
268
- version: '0'
156
+ version: 3.0.0
269
157
  required_rubygems_version: !ruby/object:Gem::Requirement
270
158
  requirements:
271
159
  - - ">="
@@ -276,31 +164,4 @@ rubygems_version: 3.6.7
276
164
  specification_version: 4
277
165
  summary: simple-navigation is a ruby library for creating navigations (with multiple
278
166
  levels) for your Rails, Sinatra or Padrino application.
279
- test_files:
280
- - spec/fake_app/config/navigation.rb
281
- - spec/fake_app/rails_app.rb
282
- - spec/initializers/coveralls.rb
283
- - spec/initializers/have_css_matcher.rb
284
- - spec/initializers/memfs.rb
285
- - spec/initializers/rails.rb
286
- - spec/initializers/rspec.rb
287
- - spec/integration/rendering_navigation_spec.rb
288
- - spec/simple_navigation/adapters/padrino_spec.rb
289
- - spec/simple_navigation/adapters/rails_spec.rb
290
- - spec/simple_navigation/adapters/sinatra_spec.rb
291
- - spec/simple_navigation/config_file_finder_spec.rb
292
- - spec/simple_navigation/config_file_spec.rb
293
- - spec/simple_navigation/configuration_spec.rb
294
- - spec/simple_navigation/helpers_spec.rb
295
- - spec/simple_navigation/item_adapter_spec.rb
296
- - spec/simple_navigation/item_container_spec.rb
297
- - spec/simple_navigation/item_spec.rb
298
- - spec/simple_navigation/items_provider_spec.rb
299
- - spec/simple_navigation/renderer/base_spec.rb
300
- - spec/simple_navigation/renderer/breadcrumbs_spec.rb
301
- - spec/simple_navigation/renderer/json_spec.rb
302
- - spec/simple_navigation/renderer/links_spec.rb
303
- - spec/simple_navigation/renderer/list_spec.rb
304
- - spec/simple_navigation/renderer/text_spec.rb
305
- - spec/simple_navigation_spec.rb
306
- - spec/spec_helper.rb
167
+ test_files: []
data/.travis.yml DELETED
@@ -1,23 +0,0 @@
1
- before_install:
2
- - gem install bundler
3
-
4
- matrix:
5
- include:
6
- - rvm: 2.5.8
7
- gemfile: gemfiles/rails-6-1-stable.gemfile
8
- - rvm: 2.6.7
9
- gemfile: gemfiles/rails-6-1-stable.gemfile
10
- - rvm: 2.7.3
11
- gemfile: gemfiles/rails-6-1-stable.gemfile
12
- - rvm: 2.5.3
13
- gemfile: gemfiles/rails-6-0-stable.gemfile
14
- - rvm: 2.6.0
15
- gemfile: gemfiles/rails-6-0-stable.gemfile
16
- - rvm: 2.5.1
17
- gemfile: gemfiles/rails-5-2-stable.gemfile
18
- - rvm: 2.4.5
19
- gemfile: gemfiles/rails-4-2-stable.gemfile
20
- - rvm: 2.3.3
21
- gemfile: gemfiles/rails-4-1-stable.gemfile
22
- - rvm: 2.3.3
23
- gemfile: gemfiles/rails-3-2-stable.gemfile
@@ -1,11 +0,0 @@
1
- source 'https://rubygems.org'
2
-
3
- gem 'rake', '< 11.0'
4
- gem 'railties', '~> 3.2.0'
5
- gem 'rspec-rails', '~> 3.2.1'
6
-
7
- if RUBY_VERSION >= '2.2.0'
8
- gem 'test-unit', '~> 3.0'
9
- end
10
-
11
- gemspec path: '../'
@@ -1,7 +0,0 @@
1
- source 'https://rubygems.org'
2
-
3
- gem 'rake', '< 11.0'
4
- gem 'railties', '~> 4.1.0'
5
- gem 'rspec-rails', '~> 3.2.1'
6
-
7
- gemspec path: '../'
@@ -1,7 +0,0 @@
1
- source 'https://rubygems.org'
2
-
3
- gem 'rake', '< 11.0'
4
- gem 'railties', '~> 4.2.0'
5
- gem 'rspec-rails', '~> 3.2.1'
6
-
7
- gemspec path: '../'
@@ -1,7 +0,0 @@
1
- source 'https://rubygems.org'
2
-
3
- gem 'rake', '< 11.0'
4
- gem 'railties', '~> 5.2.0'
5
- gem 'rspec-rails', '~> 3.8.2'
6
-
7
- gemspec path: '../'
@@ -1,9 +0,0 @@
1
- source 'https://rubygems.org'
2
-
3
- gem 'rake', '< 11.0'
4
-
5
- # not yet
6
- gem 'railties', '~> 6.0.0'
7
- gem 'rspec-rails', '~> 3.8.2'
8
-
9
- gemspec path: '../'
@@ -1,9 +0,0 @@
1
- source 'https://rubygems.org'
2
-
3
- gem 'rake', '< 11.0'
4
-
5
- # not yet
6
- gem 'railties', '~> 6.1.0'
7
- gem 'rspec-rails', '~> 3.8.2'
8
-
9
- gemspec path: '../'
data/init.rb DELETED
@@ -1 +0,0 @@
1
- require File.dirname(__FILE__) + '/rails/init'
data/install.rb DELETED
@@ -1,5 +0,0 @@
1
- begin
2
- puts IO.read(File.join(File.dirname(__FILE__), 'README'))
3
- rescue Exception => e
4
- puts "The following error ocurred while installing the plugin: #{e.message}"
5
- end
@@ -1,10 +0,0 @@
1
- require 'simple_navigation/adapters/base'
2
-
3
- module SimpleNavigation
4
- module Adapters
5
- autoload :Rails, 'simple_navigation/adapters/rails'
6
- autoload :Padrino, 'simple_navigation/adapters/padrino'
7
- autoload :Sinatra, 'simple_navigation/adapters/sinatra'
8
- autoload :Nanoc, 'simple_navigation/adapters/nanoc'
9
- end
10
- end
@@ -1,12 +0,0 @@
1
- require 'simple_navigation/helpers'
2
- require 'simple_navigation/renderer/base'
3
-
4
- module SimpleNavigation
5
- module Renderer
6
- autoload :List, 'simple_navigation/renderer/list'
7
- autoload :Links, 'simple_navigation/renderer/links'
8
- autoload :Breadcrumbs, 'simple_navigation/renderer/breadcrumbs'
9
- autoload :Text, 'simple_navigation/renderer/text'
10
- autoload :Json, 'simple_navigation/renderer/json'
11
- end
12
- end
@@ -1,3 +0,0 @@
1
- require 'coveralls'
2
-
3
- Coveralls.wear!
@@ -1,19 +0,0 @@
1
- RSpec::Matchers.define :have_css do |expected, times|
2
- match do |actual|
3
- selector = Nokogiri::HTML(actual).css(expected)
4
-
5
- if times
6
- expect(selector.size).to eq times
7
- else
8
- expect(selector.size).to be >= 1
9
- end
10
- end
11
-
12
- failure_message do |actual|
13
- "expected #{actual.to_s} to have #{times || 1} elements matching '#{expected}'"
14
- end
15
-
16
- failure_message_when_negated do |actual|
17
- "expected #{actual.to_s} not to have #{times || 1} elements matching '#{expected}'"
18
- end
19
- end
@@ -1,7 +0,0 @@
1
- require 'memfs'
2
-
3
- RSpec.configure do |config|
4
- config.around(memfs: true) do |example|
5
- MemFs.activate { example.run }
6
- end
7
- end
@@ -1,4 +0,0 @@
1
- begin
2
- require 'rails'
3
- rescue LoadError
4
- end
@@ -1,7 +0,0 @@
1
- RSpec.configure do |config|
2
- config.expect_with(:rspec) do |c|
3
- c.syntax = :expect
4
- end
5
-
6
- config.order = :random
7
- end
data/uninstall.rb DELETED
@@ -1 +0,0 @@
1
- # Uninstall hook code here