semantic_navigation 0.2.4 → 0.2.5

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 3d11fbfc574d4f330af86cca8173569f75ee9327
4
- data.tar.gz: 3124611a34e1d5a94174b978b5a2c08a11d48d26
3
+ metadata.gz: bd6f6a9751303b581374662ebe71473c86ff0290
4
+ data.tar.gz: ef442858a1379409014b4054424246846a304538
5
5
  SHA512:
6
- metadata.gz: f79196d81f87f41260903b52c6438b1e5373875074300aaaa6d7781c421b38c0efb45793d6da1c1bde6303767f8e723d98e1ae62207bf3b70e35173e4fa884fb
7
- data.tar.gz: f5592c9a936c43ae524a1ca411e8ddfb0e340336435f9437a77828a2a2711f7e04dc2c0b593dd38be3092fb4387c10293962823c23c46ae7b346c73a8b9cff98
6
+ metadata.gz: 9e19fb51087c03bab87d9aa10e2d0e18a2ab775ccdf8f7cea04bc10e0b6ba08976d1504e5b7f610c51a8497b0a861a1740af2149d91d7ac1d2b58aa46315ae5f
7
+ data.tar.gz: 1c3a323d78b13381fd260c715f91e1e5d13d727d37c464c91906d67dfadb0525a0b76a7368d924b2b952ad55e683f05d8c8533a35a879ff90db0b93ae9d56ef8
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- semantic_navigation (0.2.3)
4
+ semantic_navigation (0.2.5)
5
5
  rails (>= 3.2.0)
6
6
 
7
7
  GEM
@@ -13,6 +13,7 @@ module SemanticNavigation
13
13
  show_link_id false
14
14
 
15
15
  property_for :base, :ico
16
+ style_accessor :node_urls => false
16
17
 
17
18
  private
18
19
 
@@ -28,7 +29,7 @@ module SemanticNavigation
28
29
  content_tag :li, nil, {id: show_id(:leaf, object.id),
29
30
  class: merge_classes(:leaf, object.active, [object.classes,'dropdown'].flatten)
30
31
  }.merge(object.html) do
31
- content_tag(:a, {:href => '#',
32
+ content_tag(:a, {:href => (node_urls ? object.url : "#"),
32
33
  id: show_id(:link, object.id),
33
34
  class: merge_classes(:link, object.active, [object.link_classes,'dropdown-toggle'].flatten),
34
35
  'data-toggle'=> :dropdown
@@ -1,3 +1,3 @@
1
1
  module SemanticNavigation
2
- VERSION = "0.2.4"
2
+ VERSION = "0.2.5"
3
3
  end
@@ -16,292 +16,292 @@ describe SemanticNavigation::Renderers::List do
16
16
  @view_object = ViewObject.new
17
17
  end
18
18
 
19
- # it 'empty ul tag for empty navigation' do
20
-
21
- # @configuration.run do
22
- # navigate :menu do
23
- # end
24
- # end
25
-
26
- # result = @view_object.navigation_for :menu
27
- # result.should == "<ul class=\"list\" id=\"menu\"><\/ul>"
28
- # end
29
-
30
- # it 'one level navigation' do
31
- # @configuration.run do
32
- # navigate :menu do
33
- # item :url1, 'url1', :name => 'url1'
34
- # item :url2, 'url2', :name => 'url2'
35
- # end
36
- # end
37
-
38
- # result = @view_object.navigation_for :menu
39
- # result.should == ["<ul class=\"list\" id=\"menu\">",
40
- # "<li id=\"url1\">",
41
- # "<a href=\"url1\" id=\"url1\">",
42
- # "url1",
43
- # "</a>",
44
- # "</li>",
45
- # "<li id=\"url2\">",
46
- # "<a href=\"url2\" id=\"url2\">",
47
- # "url2",
48
- # "</a>",
49
- # "</li>",
50
- # "</ul>"].join
51
- # end
52
-
53
- # it 'one level navigation with specific menu tag' do
54
- # @configuration.run do
55
-
56
- # register_renderer :my_list, :list
57
-
58
- # styles_for :my_list do
59
- # menu_tag :ol
60
- # end
61
-
62
- # navigate :menu do
63
- # item :url1, 'url1', :name => 'url1'
64
- # item :url2, 'url2', :name => 'url2'
65
- # end
66
- # end
67
-
68
- # result = @view_object.navigation_for :menu, as: :my_list
69
- # result.should == ["<ol class=\"list\" id=\"menu\">",
70
- # "<li id=\"url1\">",
71
- # "<a href=\"url1\" id=\"url1\">",
72
- # "url1",
73
- # "</a>",
74
- # "</li>",
75
- # "<li id=\"url2\">",
76
- # "<a href=\"url2\" id=\"url2\">",
77
- # "url2",
78
- # "</a>",
79
- # "</li>",
80
- # "</ol>"].join
81
- # end
82
-
83
- # it 'one level navigation with specific menu tag' do
84
- # @configuration.run do
85
-
86
- # register_renderer :my_list, :list
87
-
88
- # styles_for :my_list do
89
- # menu_tag :ol
90
- # end
91
-
92
- # navigate :menu do
93
- # item :url1, 'url1', :name => 'url1' do
94
- # item :url2, 'url2', :name => 'url2'
95
- # end
96
- # end
97
- # end
98
-
99
- # result = @view_object.navigation_for :menu, as: :my_list
100
- # result.should == ["<ol class=\"list\" id=\"menu\">",
101
- # "<li id=\"url1\">",
102
- # "<a href=\"url1\" id=\"url1\">",
103
- # "url1",
104
- # "</a>",
105
- # "<ol id=\"url1\">",
106
- # "<li id=\"url2\">",
107
- # "<a href=\"url2\" id=\"url2\">",
108
- # "url2",
109
- # "</a>",
110
- # "</li>",
111
- # "</ol>",
112
- # "</li>",
113
- # "</ol>"].join
114
- # end
115
-
116
- # it 'one multilevel navigation' do
117
- # @configuration.run do
118
- # navigate :menu do
119
- # item :url1, 'url1', :name => 'url1' do
120
- # item :suburl1, 'suburl1', :name => 'suburl1'
121
- # end
122
- # item :url2, 'url2', :name => 'url2' do
123
- # item :suburl2, 'suburl2', :name => 'suburl2'
124
- # end
125
- # end
126
- # end
127
-
128
- # result = @view_object.navigation_for :menu
129
- # result.should == ["<ul class=\"list\" id=\"menu\">",
130
- # "<li id=\"url1\">",
131
- # "<a href=\"url1\" id=\"url1\">",
132
- # "url1",
133
- # "</a>",
134
- # "<ul id=\"url1\">",
135
- # "<li id=\"suburl1\">",
136
- # "<a href=\"suburl1\" id=\"suburl1\">",
137
- # "suburl1",
138
- # "</a>",
139
- # "</li>",
140
- # "</ul>",
141
- # "</li>",
142
- # "<li id=\"url2\">",
143
- # "<a href=\"url2\" id=\"url2\">",
144
- # "url2",
145
- # "</a>",
146
- # "<ul id=\"url2\">",
147
- # "<li id=\"suburl2\">",
148
- # "<a href=\"suburl2\" id=\"suburl2\">",
149
- # "suburl2",
150
- # "</a>",
151
- # "</li>",
152
- # "</ul>",
153
- # "</li>",
154
- # "</ul>"].join
155
- # end
156
-
157
- # it 'only root level' do
158
- # @configuration.run do
159
- # navigate :menu do
160
- # item :url1, 'url1', :name => 'url1' do
161
- # item :suburl1, 'suburl1', :name => 'suburl1'
162
- # end
163
- # item :url2, 'url2', :name => 'url2' do
164
- # item :suburl2, 'suburl2', :name => 'suburl2'
165
- # end
166
- # end
167
- # end
168
-
169
- # result = @view_object.navigation_for :menu, :level => 0
170
- # result.should == ["<ul class=\"list\" id=\"menu\">",
171
- # "<li id=\"url1\">",
172
- # "<a href=\"url1\" id=\"url1\">",
173
- # "url1",
174
- # "</a>",
175
- # "</li>",
176
- # "<li id=\"url2\">",
177
- # "<a href=\"url2\" id=\"url2\">",
178
- # "url2",
179
- # "</a>",
180
- # "</li>",
181
- # "</ul>"].join
182
- # end
183
-
184
- # it 'second level if some item of first level is active' do
185
- # @configuration.run do
186
- # navigate :menu do
187
- # item :url1, 'url1', :name => 'url1' do
188
- # item :suburl1, 'suburl1', :name => 'suburl1'
189
- # end
190
- # item :url2, 'url2', :name => 'url2' do
191
- # item :suburl2, 'suburl2', :name => 'suburl2'
192
- # end
193
- # end
194
- # end
195
-
196
- # @view_object.should_receive(:current_page?).and_return(false, true, false, false)
197
-
198
- # result = @view_object.navigation_for :menu, :level => 1
199
- # result.should == ["<ul class=\"list active\" id=\"menu\">",
200
- # "<li id=\"suburl1\">",
201
- # "<a href=\"suburl1\" id=\"suburl1\">",
202
- # "suburl1",
203
- # "</a>",
204
- # "</li>",
205
- # "</ul>"].join
206
- # end
207
-
208
- # it 'the exact levels' do
209
- # @configuration.run do
210
- # navigate :menu do
211
- # item :url1, 'url1', :name => 'url1' do
212
- # item :suburl1, 'suburl1', :name => 'suburl1' do
213
- # item :subsub1, 'subsub1', :name => 'subsub1'
214
- # end
215
- # end
216
- # item :url2, 'url2', :name => 'url2' do
217
- # item :suburl2, 'suburl2', :name => 'suburl2' do
218
- # item :subsub2, 'subsub2', :name => 'subsub2'
219
- # end
220
- # end
221
- # end
222
- # end
223
-
224
- # result = @view_object.navigation_for :menu, :levels => 0..1
225
- # result.should == ["<ul class=\"list\" id=\"menu\">",
226
- # "<li id=\"url1\">",
227
- # "<a href=\"url1\" id=\"url1\">",
228
- # "url1",
229
- # "</a>",
230
- # "<ul id=\"url1\">",
231
- # "<li id=\"suburl1\">",
232
- # "<a href=\"suburl1\" id=\"suburl1\">",
233
- # "suburl1",
234
- # "</a>",
235
- # "</li>",
236
- # "</ul>",
237
- # "</li>",
238
- # "<li id=\"url2\">",
239
- # "<a href=\"url2\" id=\"url2\">",
240
- # "url2",
241
- # "</a>",
242
- # "<ul id=\"url2\">",
243
- # "<li id=\"suburl2\">",
244
- # "<a href=\"suburl2\" id=\"suburl2\">",
245
- # "suburl2",
246
- # "</a>",
247
- # "</li>",
248
- # "</ul>",
249
- # "</li>",
250
- # "</ul>"].join
251
- # end
252
-
253
- # it 'navigation except some item' do
254
- # @configuration.run do
255
- # navigate :menu do
256
- # item :url1, 'url1', :name => 'url1' do
257
- # item :suburl1, 'suburl1', :name => 'suburl1'
258
- # end
259
- # item :url2, 'url2', :name => 'url2' do
260
- # item :suburl2, 'suburl2', :name => 'suburl2'
261
- # end
262
- # end
263
- # end
264
-
265
- # result = @view_object.navigation_for :menu, :except_for => [:url1]
266
- # result.should == ["<ul class=\"list\" id=\"menu\">",
267
- # "<li id=\"url2\">",
268
- # "<a href=\"url2\" id=\"url2\">",
269
- # "url2",
270
- # "</a>",
271
- # "<ul id=\"url2\">",
272
- # "<li id=\"suburl2\">",
273
- # "<a href=\"suburl2\" id=\"suburl2\">",
274
- # "suburl2",
275
- # "</a>",
276
- # "</li>",
277
- # "</ul>",
278
- # "</li>",
279
- # "</ul>"].join
280
- # end
281
-
282
- # it 'navigation except some items' do
283
- # @configuration.run do
284
- # navigate :menu do
285
- # item :url1, 'url1', :name => 'url1' do
286
- # item :suburl1, 'suburl1', :name => 'suburl1'
287
- # end
288
- # item :url2, 'url2', :name => 'url2' do
289
- # item :suburl2, 'suburl2', :name => 'suburl2'
290
- # end
291
- # end
292
- # end
293
-
294
- # result = @view_object.navigation_for :menu, :except_for => [:suburl1,:url2]
295
- # result.should == ["<ul class=\"list\" id=\"menu\">",
296
- # "<li id=\"url1\">",
297
- # "<a href=\"url1\" id=\"url1\">",
298
- # "url1",
299
- # "</a>",
300
- # "<ul id=\"url1\">",
301
- # "</ul>",
302
- # "</li>",
303
- # "</ul>"].join
304
- # end
19
+ it 'empty ul tag for empty navigation' do
20
+
21
+ @configuration.run do
22
+ navigate :menu do
23
+ end
24
+ end
25
+
26
+ result = @view_object.navigation_for :menu
27
+ result.should == "<ul class=\"list\" id=\"menu\"><\/ul>"
28
+ end
29
+
30
+ it 'one level navigation' do
31
+ @configuration.run do
32
+ navigate :menu do
33
+ item :url1, 'url1', :name => 'url1'
34
+ item :url2, 'url2', :name => 'url2'
35
+ end
36
+ end
37
+
38
+ result = @view_object.navigation_for :menu
39
+ result.should == ["<ul class=\"list\" id=\"menu\">",
40
+ "<li id=\"url1\">",
41
+ "<a href=\"url1\" id=\"url1\">",
42
+ "url1",
43
+ "</a>",
44
+ "</li>",
45
+ "<li id=\"url2\">",
46
+ "<a href=\"url2\" id=\"url2\">",
47
+ "url2",
48
+ "</a>",
49
+ "</li>",
50
+ "</ul>"].join
51
+ end
52
+
53
+ it 'one level navigation with specific menu tag' do
54
+ @configuration.run do
55
+
56
+ register_renderer :my_list, :list
57
+
58
+ styles_for :my_list do
59
+ menu_tag :ol
60
+ end
61
+
62
+ navigate :menu do
63
+ item :url1, 'url1', :name => 'url1'
64
+ item :url2, 'url2', :name => 'url2'
65
+ end
66
+ end
67
+
68
+ result = @view_object.navigation_for :menu, as: :my_list
69
+ result.should == ["<ol class=\"list\" id=\"menu\">",
70
+ "<li id=\"url1\">",
71
+ "<a href=\"url1\" id=\"url1\">",
72
+ "url1",
73
+ "</a>",
74
+ "</li>",
75
+ "<li id=\"url2\">",
76
+ "<a href=\"url2\" id=\"url2\">",
77
+ "url2",
78
+ "</a>",
79
+ "</li>",
80
+ "</ol>"].join
81
+ end
82
+
83
+ it 'one level navigation with specific menu tag' do
84
+ @configuration.run do
85
+
86
+ register_renderer :my_list, :list
87
+
88
+ styles_for :my_list do
89
+ menu_tag :ol
90
+ end
91
+
92
+ navigate :menu do
93
+ item :url1, 'url1', :name => 'url1' do
94
+ item :url2, 'url2', :name => 'url2'
95
+ end
96
+ end
97
+ end
98
+
99
+ result = @view_object.navigation_for :menu, as: :my_list
100
+ result.should == ["<ol class=\"list\" id=\"menu\">",
101
+ "<li id=\"url1\">",
102
+ "<a href=\"url1\" id=\"url1\">",
103
+ "url1",
104
+ "</a>",
105
+ "<ol id=\"url1\">",
106
+ "<li id=\"url2\">",
107
+ "<a href=\"url2\" id=\"url2\">",
108
+ "url2",
109
+ "</a>",
110
+ "</li>",
111
+ "</ol>",
112
+ "</li>",
113
+ "</ol>"].join
114
+ end
115
+
116
+ it 'one multilevel navigation' do
117
+ @configuration.run do
118
+ navigate :menu do
119
+ item :url1, 'url1', :name => 'url1' do
120
+ item :suburl1, 'suburl1', :name => 'suburl1'
121
+ end
122
+ item :url2, 'url2', :name => 'url2' do
123
+ item :suburl2, 'suburl2', :name => 'suburl2'
124
+ end
125
+ end
126
+ end
127
+
128
+ result = @view_object.navigation_for :menu
129
+ result.should == ["<ul class=\"list\" id=\"menu\">",
130
+ "<li id=\"url1\">",
131
+ "<a href=\"url1\" id=\"url1\">",
132
+ "url1",
133
+ "</a>",
134
+ "<ul id=\"url1\">",
135
+ "<li id=\"suburl1\">",
136
+ "<a href=\"suburl1\" id=\"suburl1\">",
137
+ "suburl1",
138
+ "</a>",
139
+ "</li>",
140
+ "</ul>",
141
+ "</li>",
142
+ "<li id=\"url2\">",
143
+ "<a href=\"url2\" id=\"url2\">",
144
+ "url2",
145
+ "</a>",
146
+ "<ul id=\"url2\">",
147
+ "<li id=\"suburl2\">",
148
+ "<a href=\"suburl2\" id=\"suburl2\">",
149
+ "suburl2",
150
+ "</a>",
151
+ "</li>",
152
+ "</ul>",
153
+ "</li>",
154
+ "</ul>"].join
155
+ end
156
+
157
+ it 'only root level' do
158
+ @configuration.run do
159
+ navigate :menu do
160
+ item :url1, 'url1', :name => 'url1' do
161
+ item :suburl1, 'suburl1', :name => 'suburl1'
162
+ end
163
+ item :url2, 'url2', :name => 'url2' do
164
+ item :suburl2, 'suburl2', :name => 'suburl2'
165
+ end
166
+ end
167
+ end
168
+
169
+ result = @view_object.navigation_for :menu, :level => 0
170
+ result.should == ["<ul class=\"list\" id=\"menu\">",
171
+ "<li id=\"url1\">",
172
+ "<a href=\"url1\" id=\"url1\">",
173
+ "url1",
174
+ "</a>",
175
+ "</li>",
176
+ "<li id=\"url2\">",
177
+ "<a href=\"url2\" id=\"url2\">",
178
+ "url2",
179
+ "</a>",
180
+ "</li>",
181
+ "</ul>"].join
182
+ end
183
+
184
+ it 'second level if some item of first level is active' do
185
+ @configuration.run do
186
+ navigate :menu do
187
+ item :url1, 'url1', :name => 'url1' do
188
+ item :suburl1, 'suburl1', :name => 'suburl1'
189
+ end
190
+ item :url2, 'url2', :name => 'url2' do
191
+ item :suburl2, 'suburl2', :name => 'suburl2'
192
+ end
193
+ end
194
+ end
195
+
196
+ @view_object.should_receive(:current_page?).and_return(false, true, false, false)
197
+
198
+ result = @view_object.navigation_for :menu, :level => 1
199
+ result.should == ["<ul class=\"list active\" id=\"menu\">",
200
+ "<li id=\"suburl1\">",
201
+ "<a href=\"suburl1\" id=\"suburl1\">",
202
+ "suburl1",
203
+ "</a>",
204
+ "</li>",
205
+ "</ul>"].join
206
+ end
207
+
208
+ it 'the exact levels' do
209
+ @configuration.run do
210
+ navigate :menu do
211
+ item :url1, 'url1', :name => 'url1' do
212
+ item :suburl1, 'suburl1', :name => 'suburl1' do
213
+ item :subsub1, 'subsub1', :name => 'subsub1'
214
+ end
215
+ end
216
+ item :url2, 'url2', :name => 'url2' do
217
+ item :suburl2, 'suburl2', :name => 'suburl2' do
218
+ item :subsub2, 'subsub2', :name => 'subsub2'
219
+ end
220
+ end
221
+ end
222
+ end
223
+
224
+ result = @view_object.navigation_for :menu, :levels => 0..1
225
+ result.should == ["<ul class=\"list\" id=\"menu\">",
226
+ "<li id=\"url1\">",
227
+ "<a href=\"url1\" id=\"url1\">",
228
+ "url1",
229
+ "</a>",
230
+ "<ul id=\"url1\">",
231
+ "<li id=\"suburl1\">",
232
+ "<a href=\"suburl1\" id=\"suburl1\">",
233
+ "suburl1",
234
+ "</a>",
235
+ "</li>",
236
+ "</ul>",
237
+ "</li>",
238
+ "<li id=\"url2\">",
239
+ "<a href=\"url2\" id=\"url2\">",
240
+ "url2",
241
+ "</a>",
242
+ "<ul id=\"url2\">",
243
+ "<li id=\"suburl2\">",
244
+ "<a href=\"suburl2\" id=\"suburl2\">",
245
+ "suburl2",
246
+ "</a>",
247
+ "</li>",
248
+ "</ul>",
249
+ "</li>",
250
+ "</ul>"].join
251
+ end
252
+
253
+ it 'navigation except some item' do
254
+ @configuration.run do
255
+ navigate :menu do
256
+ item :url1, 'url1', :name => 'url1' do
257
+ item :suburl1, 'suburl1', :name => 'suburl1'
258
+ end
259
+ item :url2, 'url2', :name => 'url2' do
260
+ item :suburl2, 'suburl2', :name => 'suburl2'
261
+ end
262
+ end
263
+ end
264
+
265
+ result = @view_object.navigation_for :menu, :except_for => [:url1]
266
+ result.should == ["<ul class=\"list\" id=\"menu\">",
267
+ "<li id=\"url2\">",
268
+ "<a href=\"url2\" id=\"url2\">",
269
+ "url2",
270
+ "</a>",
271
+ "<ul id=\"url2\">",
272
+ "<li id=\"suburl2\">",
273
+ "<a href=\"suburl2\" id=\"suburl2\">",
274
+ "suburl2",
275
+ "</a>",
276
+ "</li>",
277
+ "</ul>",
278
+ "</li>",
279
+ "</ul>"].join
280
+ end
281
+
282
+ it 'navigation except some items' do
283
+ @configuration.run do
284
+ navigate :menu do
285
+ item :url1, 'url1', :name => 'url1' do
286
+ item :suburl1, 'suburl1', :name => 'suburl1'
287
+ end
288
+ item :url2, 'url2', :name => 'url2' do
289
+ item :suburl2, 'suburl2', :name => 'suburl2'
290
+ end
291
+ end
292
+ end
293
+
294
+ result = @view_object.navigation_for :menu, :except_for => [:suburl1,:url2]
295
+ result.should == ["<ul class=\"list\" id=\"menu\">",
296
+ "<li id=\"url1\">",
297
+ "<a href=\"url1\" id=\"url1\">",
298
+ "url1",
299
+ "</a>",
300
+ "<ul id=\"url1\">",
301
+ "</ul>",
302
+ "</li>",
303
+ "</ul>"].join
304
+ end
305
305
 
306
306
  it 'considers scopes' do
307
307
  allow(@view_object).to receive(:role?).with('manager').and_return false
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: semantic_navigation
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.4
4
+ version: 0.2.5
5
5
  platform: ruby
6
6
  authors:
7
7
  - Sergey Gribovski