simple-navigation 3.11.0 → 3.12.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.
- data/.gitignore +6 -0
- data/.rspec +2 -0
- data/.travis.yml +4 -0
- data/CHANGELOG +11 -0
- data/Gemfile +2 -16
- data/Guardfile +5 -0
- data/LICENSE +22 -0
- data/README.md +40 -0
- data/Rakefile +6 -39
- data/generators/navigation_config/templates/config/navigation.rb +7 -5
- data/init.rb +1 -0
- data/install.rb +5 -0
- data/lib/simple_navigation/adapters/rails.rb +5 -1
- data/lib/simple_navigation/core/configuration.rb +5 -1
- data/lib/simple_navigation/core/item.rb +2 -1
- data/lib/simple_navigation/core/item_adapter.rb +4 -4
- data/lib/simple_navigation/core/item_container.rb +6 -1
- data/lib/simple_navigation/rendering/renderer/breadcrumbs.rb +2 -2
- data/lib/simple_navigation/rendering/renderer/links.rb +2 -2
- data/lib/simple_navigation/rendering/renderer/list.rb +1 -1
- data/lib/simple_navigation/version.rb +3 -0
- data/lib/simple_navigation.rb +1 -0
- data/simple-navigation.gemspec +40 -0
- data/spec/initializers/have_css_matcher.rb +13 -0
- data/spec/lib/simple_navigation/adapters/padrino_spec.rb +23 -25
- data/spec/lib/simple_navigation/adapters/rails_spec.rb +276 -250
- data/spec/lib/simple_navigation/adapters/sinatra_spec.rb +64 -53
- data/spec/lib/simple_navigation/core/configuration_spec.rb +128 -106
- data/spec/lib/simple_navigation/core/item_adapter_spec.rb +144 -168
- data/spec/lib/simple_navigation/core/item_container_spec.rb +361 -339
- data/spec/lib/simple_navigation/core/item_spec.rb +571 -434
- data/spec/lib/simple_navigation/core/items_provider_spec.rb +35 -49
- data/spec/lib/simple_navigation/rails_controller_methods_spec.rb +194 -173
- data/spec/lib/simple_navigation/rendering/helpers_spec.rb +381 -225
- data/spec/lib/simple_navigation/rendering/renderer/base_spec.rb +205 -164
- data/spec/lib/simple_navigation/rendering/renderer/breadcrumbs_spec.rb +87 -67
- data/spec/lib/simple_navigation/rendering/renderer/json_spec.rb +52 -31
- data/spec/lib/simple_navigation/rendering/renderer/links_spec.rb +75 -48
- data/spec/lib/simple_navigation/rendering/renderer/list_spec.rb +62 -174
- data/spec/lib/simple_navigation/rendering/renderer/text_spec.rb +41 -28
- data/spec/lib/simple_navigation_spec.rb +207 -225
- data/spec/spec_helper.rb +53 -82
- data/uninstall.rb +1 -0
- metadata +100 -22
- data/README +0 -22
- data/VERSION +0 -1
data/spec/spec_helper.rb
CHANGED
@@ -1,108 +1,79 @@
|
|
1
|
-
|
2
|
-
require 'rubygems'
|
3
|
-
require 'rspec'
|
4
|
-
require 'json_spec'
|
1
|
+
require 'initializers/have_css_matcher'
|
5
2
|
require 'action_controller'
|
3
|
+
require 'coveralls'
|
4
|
+
require 'html/document'
|
6
5
|
|
7
|
-
|
8
|
-
module VERSION
|
9
|
-
MAJOR = 2
|
10
|
-
end
|
11
|
-
end unless defined? Rails
|
12
|
-
|
13
|
-
$:.unshift File.dirname(__FILE__)
|
14
|
-
$:.unshift File.join(File.dirname(__FILE__), '../lib')
|
6
|
+
Coveralls.wear!
|
15
7
|
|
16
|
-
|
8
|
+
# FIXME: actualize to make it 4 by default
|
9
|
+
unless defined? Rails
|
10
|
+
module Rails
|
11
|
+
module VERSION
|
12
|
+
MAJOR = 2
|
13
|
+
end
|
14
|
+
end
|
15
|
+
end
|
17
16
|
|
18
|
-
# SimpleNavigation.root = './'
|
19
17
|
RAILS_ROOT = './' unless defined?(RAILS_ROOT)
|
20
18
|
RAILS_ENV = 'test' unless defined?(RAILS_ENV)
|
21
19
|
|
20
|
+
require 'simple_navigation'
|
22
21
|
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
config.mock_with :rspec
|
32
|
-
config.include JsonSpec::Helpers
|
22
|
+
def setup_adapter_for(framework)
|
23
|
+
adapter = case framework
|
24
|
+
when :rails
|
25
|
+
context = double(:context, view_context: ActionView::Base.new)
|
26
|
+
SimpleNavigation::Adapters::Rails.new(context)
|
27
|
+
end
|
28
|
+
SimpleNavigation.stub(adapter: adapter)
|
29
|
+
adapter
|
33
30
|
end
|
34
31
|
|
35
|
-
|
36
|
-
|
37
|
-
[
|
38
|
-
[:subnav1, 'subnav1', 'subnav1_url'],
|
39
|
-
[:subnav2, 'subnav2', 'subnav2_url']
|
40
|
-
]
|
32
|
+
def setup_renderer(renderer_class, options)
|
33
|
+
renderer_class.new(options)
|
41
34
|
end
|
42
35
|
|
43
|
-
def
|
44
|
-
|
45
|
-
|
46
|
-
[:invoices, 'invoices', 'second_url'],
|
47
|
-
[:accounts, 'accounts', 'third_url', {:style => 'float:right', :link => {:style => 'float:left'}}],
|
48
|
-
[:miscellany, 'miscellany']
|
49
|
-
]
|
36
|
+
def primary_navigation
|
37
|
+
# TODO
|
38
|
+
primary_container
|
50
39
|
end
|
51
40
|
|
52
|
-
def
|
53
|
-
|
41
|
+
def select_an_item(item)
|
42
|
+
item.stub(selected?: true)
|
54
43
|
end
|
55
44
|
|
56
|
-
def
|
45
|
+
def setup_container(dom_id, dom_class)
|
57
46
|
container = SimpleNavigation::ItemContainer.new(1)
|
58
|
-
container.dom_id =
|
59
|
-
container.dom_class =
|
60
|
-
|
61
|
-
@items.each {|i| i.stub!(:selected? => false, :selected_by_condition? => false)}
|
62
|
-
container.instance_variable_set(:@items, @items)
|
63
|
-
sub_container = subnav_container
|
64
|
-
primary_item(:invoices) {|item| item.instance_variable_set(:@sub_navigation, sub_container)}
|
65
|
-
[container,sub_container]
|
66
|
-
end
|
67
|
-
|
68
|
-
def primary_item(key)
|
69
|
-
item = @items.find {|i| i.key == key}
|
70
|
-
block_given? ? yield(item) : item
|
47
|
+
container.dom_id = dom_id
|
48
|
+
container.dom_class = dom_class
|
49
|
+
container
|
71
50
|
end
|
72
51
|
|
73
|
-
def
|
74
|
-
|
52
|
+
def setup_navigation(dom_id, dom_class)
|
53
|
+
setup_adapter_for :rails
|
54
|
+
container = setup_container(dom_id, dom_class)
|
55
|
+
setup_items(container)
|
56
|
+
container
|
75
57
|
end
|
76
58
|
|
77
|
-
|
78
|
-
|
79
|
-
|
80
|
-
|
81
|
-
|
82
|
-
|
83
|
-
|
84
|
-
primary_item(key) {|item| item.stub!(:selected? => true) unless item.frozen?}
|
59
|
+
# FIXME: adding the :link option for the list renderer messes up the other
|
60
|
+
# renderers
|
61
|
+
def setup_items(container)
|
62
|
+
container.item :users, 'Users', '/users', id: 'users_id', link: { id: 'users_link_id' }
|
63
|
+
container.item :invoices, 'Invoices', '/invoices' do |invoices|
|
64
|
+
invoices.item :paid, 'Paid', '/invoices/paid'
|
65
|
+
invoices.item :unpaid, 'Unpaid', '/invoices/unpaid'
|
85
66
|
end
|
86
|
-
|
87
|
-
|
88
|
-
def subnav_container
|
89
|
-
container = SimpleNavigation::ItemContainer.new(2)
|
90
|
-
items = sub_items.map {|params| SimpleNavigation::Item.new(container, *params)}
|
91
|
-
items.each {|i| i.stub!(:selected? => false, :selected_by_condition? => false)}
|
92
|
-
container.instance_variable_set(:@items, items)
|
93
|
-
container
|
94
|
-
end
|
67
|
+
container.item :accounts, 'Accounts', '/accounts', style: 'float:right', link: { style: 'float:left' }
|
68
|
+
container.item :miscellany, 'Miscellany'
|
95
69
|
|
96
|
-
|
97
|
-
|
98
|
-
@renderer = renderer_class.new(options)
|
99
|
-
end
|
70
|
+
container.items.each do |item|
|
71
|
+
item.stub(selected?: false, selected_by_condition?: false)
|
100
72
|
|
101
|
-
|
102
|
-
|
103
|
-
|
104
|
-
|
73
|
+
if item.sub_navigation
|
74
|
+
item.sub_navigation.items.each do |item|
|
75
|
+
item.stub(selected?: false, selected_by_condition?: false)
|
76
|
+
end
|
77
|
+
end
|
105
78
|
end
|
106
|
-
SimpleNavigation.stub!(:adapter => adapter)
|
107
|
-
adapter
|
108
79
|
end
|
data/uninstall.rb
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
# Uninstall hook code here
|
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: 3.
|
4
|
+
version: 3.12.0
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -10,7 +10,7 @@ authors:
|
|
10
10
|
autorequire:
|
11
11
|
bindir: bin
|
12
12
|
cert_chain: []
|
13
|
-
date:
|
13
|
+
date: 2014-02-25 00:00:00.000000000 Z
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
16
16
|
name: activesupport
|
@@ -29,13 +29,13 @@ dependencies:
|
|
29
29
|
- !ruby/object:Gem::Version
|
30
30
|
version: 2.3.2
|
31
31
|
- !ruby/object:Gem::Dependency
|
32
|
-
name:
|
32
|
+
name: actionpack
|
33
33
|
requirement: !ruby/object:Gem::Requirement
|
34
34
|
none: false
|
35
35
|
requirements:
|
36
36
|
- - ! '>='
|
37
37
|
- !ruby/object:Gem::Version
|
38
|
-
version: 2.
|
38
|
+
version: 2.3.2
|
39
39
|
type: :development
|
40
40
|
prerelease: false
|
41
41
|
version_requirements: !ruby/object:Gem::Requirement
|
@@ -43,7 +43,55 @@ dependencies:
|
|
43
43
|
requirements:
|
44
44
|
- - ! '>='
|
45
45
|
- !ruby/object:Gem::Version
|
46
|
-
version: 2.
|
46
|
+
version: 2.3.2
|
47
|
+
- !ruby/object:Gem::Dependency
|
48
|
+
name: bundler
|
49
|
+
requirement: !ruby/object:Gem::Requirement
|
50
|
+
none: false
|
51
|
+
requirements:
|
52
|
+
- - ~>
|
53
|
+
- !ruby/object:Gem::Version
|
54
|
+
version: '1.5'
|
55
|
+
type: :development
|
56
|
+
prerelease: false
|
57
|
+
version_requirements: !ruby/object:Gem::Requirement
|
58
|
+
none: false
|
59
|
+
requirements:
|
60
|
+
- - ~>
|
61
|
+
- !ruby/object:Gem::Version
|
62
|
+
version: '1.5'
|
63
|
+
- !ruby/object:Gem::Dependency
|
64
|
+
name: coveralls
|
65
|
+
requirement: !ruby/object:Gem::Requirement
|
66
|
+
none: false
|
67
|
+
requirements:
|
68
|
+
- - ~>
|
69
|
+
- !ruby/object:Gem::Version
|
70
|
+
version: '0.7'
|
71
|
+
type: :development
|
72
|
+
prerelease: false
|
73
|
+
version_requirements: !ruby/object:Gem::Requirement
|
74
|
+
none: false
|
75
|
+
requirements:
|
76
|
+
- - ~>
|
77
|
+
- !ruby/object:Gem::Version
|
78
|
+
version: '0.7'
|
79
|
+
- !ruby/object:Gem::Dependency
|
80
|
+
name: guard-rspec
|
81
|
+
requirement: !ruby/object:Gem::Requirement
|
82
|
+
none: false
|
83
|
+
requirements:
|
84
|
+
- - ~>
|
85
|
+
- !ruby/object:Gem::Version
|
86
|
+
version: '4.2'
|
87
|
+
type: :development
|
88
|
+
prerelease: false
|
89
|
+
version_requirements: !ruby/object:Gem::Requirement
|
90
|
+
none: false
|
91
|
+
requirements:
|
92
|
+
- - ~>
|
93
|
+
- !ruby/object:Gem::Version
|
94
|
+
version: '4.2'
|
47
95
|
- !ruby/object:Gem::Dependency
|
48
96
|
name: json_spec
|
49
97
|
requirement: !ruby/object:Gem::Requirement
|
@@ -51,7 +99,7 @@ dependencies:
|
|
51
99
|
requirements:
|
52
100
|
- - ~>
|
53
101
|
- !ruby/object:Gem::Version
|
54
|
-
version: 1.1
|
102
|
+
version: '1.1'
|
55
103
|
type: :development
|
56
104
|
prerelease: false
|
57
105
|
version_requirements: !ruby/object:Gem::Requirement
|
@@ -59,7 +107,7 @@ dependencies:
|
|
59
107
|
requirements:
|
60
108
|
- - ~>
|
61
109
|
- !ruby/object:Gem::Version
|
62
|
-
version: 1.1
|
110
|
+
version: '1.1'
|
63
111
|
- !ruby/object:Gem::Dependency
|
64
112
|
name: rake
|
65
113
|
requirement: !ruby/object:Gem::Requirement
|
@@ -93,39 +141,45 @@ dependencies:
|
|
93
141
|
- !ruby/object:Gem::Version
|
94
142
|
version: '0'
|
95
143
|
- !ruby/object:Gem::Dependency
|
96
|
-
name:
|
144
|
+
name: rspec
|
97
145
|
requirement: !ruby/object:Gem::Requirement
|
98
146
|
none: false
|
99
147
|
requirements:
|
100
|
-
- -
|
148
|
+
- - ~>
|
101
149
|
- !ruby/object:Gem::Version
|
102
|
-
version: '0'
|
150
|
+
version: '2.0'
|
103
151
|
type: :development
|
104
152
|
prerelease: false
|
105
153
|
version_requirements: !ruby/object:Gem::Requirement
|
106
154
|
none: false
|
107
155
|
requirements:
|
108
|
-
- -
|
156
|
+
- - ~>
|
109
157
|
- !ruby/object:Gem::Version
|
110
|
-
version: '0'
|
158
|
+
version: '2.0'
|
111
159
|
description: With the simple-navigation gem installed you can easily create multilevel
|
112
160
|
navigations for your Rails, Sinatra or Padrino applications. The navigation is defined
|
113
161
|
in a single configuration file. It supports automatic as well as explicit highlighting
|
114
162
|
of the currently active navigation through regular expressions.
|
115
|
-
email:
|
163
|
+
email:
|
164
|
+
- andi@codeplant.ch
|
116
165
|
executables: []
|
117
166
|
extensions: []
|
118
|
-
extra_rdoc_files:
|
119
|
-
- README
|
167
|
+
extra_rdoc_files: []
|
120
168
|
files:
|
169
|
+
- .gitignore
|
170
|
+
- .rspec
|
171
|
+
- .travis.yml
|
121
172
|
- CHANGELOG
|
122
173
|
- Gemfile
|
123
|
-
-
|
174
|
+
- Guardfile
|
175
|
+
- LICENSE
|
176
|
+
- README.md
|
124
177
|
- Rakefile
|
125
|
-
- VERSION
|
126
178
|
- generators/navigation_config/USAGE
|
127
179
|
- generators/navigation_config/navigation_config_generator.rb
|
128
180
|
- generators/navigation_config/templates/config/navigation.rb
|
181
|
+
- init.rb
|
182
|
+
- install.rb
|
129
183
|
- lib/generators/navigation_config/navigation_config_generator.rb
|
130
184
|
- lib/simple-navigation.rb
|
131
185
|
- lib/simple_navigation.rb
|
@@ -150,7 +204,10 @@ files:
|
|
150
204
|
- lib/simple_navigation/rendering/renderer/links.rb
|
151
205
|
- lib/simple_navigation/rendering/renderer/list.rb
|
152
206
|
- lib/simple_navigation/rendering/renderer/text.rb
|
207
|
+
- lib/simple_navigation/version.rb
|
153
208
|
- rails/init.rb
|
209
|
+
- simple-navigation.gemspec
|
210
|
+
- spec/initializers/have_css_matcher.rb
|
154
211
|
- spec/lib/simple_navigation/adapters/padrino_spec.rb
|
155
212
|
- spec/lib/simple_navigation/adapters/rails_spec.rb
|
156
213
|
- spec/lib/simple_navigation/adapters/sinatra_spec.rb
|
@@ -169,8 +226,10 @@ files:
|
|
169
226
|
- spec/lib/simple_navigation/rendering/renderer/text_spec.rb
|
170
227
|
- spec/lib/simple_navigation_spec.rb
|
171
228
|
- spec/spec_helper.rb
|
172
|
-
|
173
|
-
|
229
|
+
- uninstall.rb
|
230
|
+
homepage: http://github.com/codeplant/simple-navigation
|
231
|
+
licenses:
|
232
|
+
- MIT
|
174
233
|
post_install_message:
|
175
234
|
rdoc_options:
|
176
235
|
- --inline-source
|
@@ -190,10 +249,29 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
190
249
|
- !ruby/object:Gem::Version
|
191
250
|
version: '0'
|
192
251
|
requirements: []
|
193
|
-
rubyforge_project:
|
252
|
+
rubyforge_project:
|
194
253
|
rubygems_version: 1.8.24
|
195
254
|
signing_key:
|
196
255
|
specification_version: 3
|
197
256
|
summary: simple-navigation is a ruby library for creating navigations (with multiple
|
198
|
-
levels) for your Rails2, Rails3, Sinatra or Padrino application.
|
199
|
-
test_files:
|
257
|
+
levels) for your Rails2, Rails3, Rails4, Sinatra or Padrino application.
|
258
|
+
test_files:
|
259
|
+
- spec/initializers/have_css_matcher.rb
|
260
|
+
- spec/lib/simple_navigation/adapters/padrino_spec.rb
|
261
|
+
- spec/lib/simple_navigation/adapters/rails_spec.rb
|
262
|
+
- spec/lib/simple_navigation/adapters/sinatra_spec.rb
|
263
|
+
- spec/lib/simple_navigation/core/configuration_spec.rb
|
264
|
+
- spec/lib/simple_navigation/core/item_adapter_spec.rb
|
265
|
+
- spec/lib/simple_navigation/core/item_container_spec.rb
|
266
|
+
- spec/lib/simple_navigation/core/item_spec.rb
|
267
|
+
- spec/lib/simple_navigation/core/items_provider_spec.rb
|
268
|
+
- spec/lib/simple_navigation/rails_controller_methods_spec.rb
|
269
|
+
- spec/lib/simple_navigation/rendering/helpers_spec.rb
|
270
|
+
- spec/lib/simple_navigation/rendering/renderer/base_spec.rb
|
271
|
+
- spec/lib/simple_navigation/rendering/renderer/breadcrumbs_spec.rb
|
272
|
+
- spec/lib/simple_navigation/rendering/renderer/json_spec.rb
|
273
|
+
- spec/lib/simple_navigation/rendering/renderer/links_spec.rb
|
274
|
+
- spec/lib/simple_navigation/rendering/renderer/list_spec.rb
|
275
|
+
- spec/lib/simple_navigation/rendering/renderer/text_spec.rb
|
276
|
+
- spec/lib/simple_navigation_spec.rb
|
277
|
+
- spec/spec_helper.rb
|
data/README
DELETED
@@ -1,22 +0,0 @@
|
|
1
|
-
|
2
|
-
== Simple Navigation
|
3
|
-
|
4
|
-
Simple Navigation is a ruby library for creating navigations (with multiple levels) for your Rails 2, Rails 3, Sinatra or Padrino applications.
|
5
|
-
|
6
|
-
Source code:
|
7
|
-
git://github.com/andi/simple-navigation.git
|
8
|
-
|
9
|
-
Documentation:
|
10
|
-
http://wiki.github.com/andi/simple-navigation
|
11
|
-
|
12
|
-
RDoc:
|
13
|
-
Please checkout the repository and execute 'rake rdoc'.
|
14
|
-
|
15
|
-
Online Demo:
|
16
|
-
http://simple-navigation-demo.andischacke.com
|
17
|
-
|
18
|
-
Discussion Group for Feedback and Questions
|
19
|
-
http://groups.google.com/group/simple-navigation
|
20
|
-
|
21
|
-
Copyright (c) 2012 Andi Schacke, released under the MIT license
|
22
|
-
|
data/VERSION
DELETED
@@ -1 +0,0 @@
|
|
1
|
-
3.11.0
|