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.
- checksums.yaml +4 -4
- data/.github/workflows/ci.yml +84 -0
- data/.rspec +1 -2
- data/.rubocop.yml +49 -0
- data/.rubocop_todo.yml +38 -0
- data/Appraisals +55 -0
- data/CHANGELOG.md +7 -0
- data/Gemfile +21 -0
- data/Guardfile +4 -2
- data/README.md +11 -23
- data/Rakefile +2 -27
- data/bin/_guard-core +16 -0
- data/bin/appraisal +16 -0
- data/bin/guard +16 -0
- data/bin/rake +16 -0
- data/bin/rspec +16 -0
- data/bin/rubocop +16 -0
- data/gemfiles/rails_6.1.gemfile +35 -0
- data/gemfiles/rails_7.0.gemfile +23 -0
- data/gemfiles/rails_7.1.gemfile +23 -0
- data/gemfiles/rails_7.2.gemfile +23 -0
- data/gemfiles/rails_8.0.gemfile +23 -0
- data/gemfiles/rails_8.1.gemfile +23 -0
- data/generators/navigation_config/navigation_config_generator.rb +2 -0
- data/generators/navigation_config/templates/config/navigation.rb +30 -26
- data/lib/generators/navigation_config/navigation_config_generator.rb +2 -0
- data/lib/simple-navigation.rb +3 -1
- data/lib/simple_navigation/adapters/base.rb +2 -0
- data/lib/simple_navigation/adapters/nanoc.rb +8 -3
- data/lib/simple_navigation/adapters/padrino.rb +3 -1
- data/lib/simple_navigation/adapters/rails.rb +12 -14
- data/lib/simple_navigation/adapters/sinatra.rb +4 -6
- data/lib/simple_navigation/config_file.rb +1 -1
- data/lib/simple_navigation/config_file_finder.rb +3 -3
- data/lib/simple_navigation/configuration.rb +5 -5
- data/lib/simple_navigation/helpers.rb +9 -11
- data/lib/simple_navigation/item.rb +26 -20
- data/lib/simple_navigation/item_adapter.rb +16 -5
- data/lib/simple_navigation/item_container.rb +13 -7
- data/lib/simple_navigation/items_provider.rb +6 -4
- data/lib/simple_navigation/railtie.rb +3 -1
- data/lib/simple_navigation/renderer/base.rb +5 -5
- data/lib/simple_navigation/renderer/breadcrumbs.rb +4 -3
- data/lib/simple_navigation/renderer/json.rb +1 -1
- data/lib/simple_navigation/renderer/links.rb +2 -0
- data/lib/simple_navigation/renderer/list.rb +5 -5
- data/lib/simple_navigation/renderer/text.rb +3 -1
- data/lib/simple_navigation/version.rb +3 -1
- data/lib/simple_navigation.rb +32 -24
- data/simple-navigation.gemspec +16 -27
- data/spec/fake_app/config/navigation.rb +4 -2
- data/spec/fake_app/rails_app.rb +5 -3
- data/spec/integration/rendering_navigation_spec.rb +7 -5
- data/spec/simple_navigation/adapters/nanoc_spec.rb +97 -0
- data/spec/simple_navigation/adapters/padrino_spec.rb +41 -22
- data/spec/simple_navigation/adapters/rails_spec.rb +199 -206
- data/spec/simple_navigation/adapters/sinatra_spec.rb +21 -5
- data/spec/simple_navigation/config_file_finder_spec.rb +32 -28
- data/spec/simple_navigation/config_file_spec.rb +14 -14
- data/spec/simple_navigation/configuration_spec.rb +128 -121
- data/spec/simple_navigation/helpers_spec.rb +282 -284
- data/spec/simple_navigation/item_adapter_spec.rb +109 -122
- data/spec/simple_navigation/item_container_spec.rb +407 -408
- data/spec/simple_navigation/item_spec.rb +333 -301
- data/spec/simple_navigation/items_provider_spec.rb +30 -27
- data/spec/simple_navigation/renderer/base_spec.rb +166 -168
- data/spec/simple_navigation/renderer/breadcrumbs_spec.rb +81 -83
- data/spec/simple_navigation/renderer/json_spec.rb +49 -56
- data/spec/simple_navigation/renderer/links_spec.rb +81 -83
- data/spec/simple_navigation/renderer/list_spec.rb +111 -91
- data/spec/simple_navigation/renderer/text_spec.rb +37 -39
- data/spec/simple_navigation_spec.rb +54 -47
- data/spec/spec_helper.rb +146 -53
- metadata +25 -164
- data/.travis.yml +0 -23
- data/gemfiles/rails-3-2-stable.gemfile +0 -11
- data/gemfiles/rails-4-1-stable.gemfile +0 -7
- data/gemfiles/rails-4-2-stable.gemfile +0 -7
- data/gemfiles/rails-5-2-stable.gemfile +0 -7
- data/gemfiles/rails-6-0-stable.gemfile +0 -9
- data/gemfiles/rails-6-1-stable.gemfile +0 -9
- data/init.rb +0 -1
- data/install.rb +0 -5
- data/lib/simple_navigation/adapters.rb +0 -10
- data/lib/simple_navigation/renderer.rb +0 -12
- data/spec/initializers/coveralls.rb +0 -3
- data/spec/initializers/have_css_matcher.rb +0 -19
- data/spec/initializers/memfs.rb +0 -7
- data/spec/initializers/rails.rb +0 -4
- data/spec/initializers/rspec.rb +0 -7
- data/uninstall.rb +0 -1
data/spec/spec_helper.rb
CHANGED
|
@@ -1,76 +1,169 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
require '
|
|
5
|
-
|
|
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
|
-
|
|
9
|
-
|
|
34
|
+
# Define our own spec helper
|
|
35
|
+
module SimpleNavigationTest
|
|
36
|
+
extend RSpec::Mocks::ExampleMethods
|
|
10
37
|
|
|
11
|
-
|
|
12
|
-
require 'fake_app/rails_app'
|
|
13
|
-
require 'rspec/rails'
|
|
38
|
+
module_function
|
|
14
39
|
|
|
15
|
-
|
|
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
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
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
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
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
|
-
|
|
34
|
-
|
|
35
|
-
|
|
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
|
-
|
|
39
|
-
allow(item).to receive_messages(selected?: true)
|
|
40
|
-
end
|
|
110
|
+
config.raise_errors_for_deprecations!
|
|
41
111
|
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
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
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
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
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
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
|
-
|
|
68
|
-
|
|
144
|
+
failure_message do |actual|
|
|
145
|
+
"expected #{actual} to have no elements matching '#{expected}'"
|
|
146
|
+
end
|
|
69
147
|
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
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
|
+
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:
|
|
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:
|
|
27
|
+
version: 6.1.0
|
|
28
28
|
- !ruby/object:Gem::Dependency
|
|
29
|
-
name:
|
|
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:
|
|
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: :
|
|
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
|
-
-
|
|
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/
|
|
190
|
-
- gemfiles/
|
|
191
|
-
- gemfiles/
|
|
192
|
-
- gemfiles/
|
|
193
|
-
- gemfiles/
|
|
194
|
-
- gemfiles/
|
|
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:
|
|
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
|
data/init.rb
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
require File.dirname(__FILE__) + '/rails/init'
|
data/install.rb
DELETED
|
@@ -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,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
|
data/spec/initializers/memfs.rb
DELETED
data/spec/initializers/rails.rb
DELETED
data/spec/initializers/rspec.rb
DELETED
data/uninstall.rb
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
# Uninstall hook code here
|