navi 0.1.4 → 0.2.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 +1 -0
- data/.ruby-version +1 -0
- data/CHANGELOG.md +3 -0
- data/Gemfile +6 -1
- data/Gemfile.lock +117 -134
- data/README.md +8 -0
- data/features/step_definitions/category_steps.rb +1 -1
- data/features/step_definitions/page_steps.rb +1 -1
- data/features/support/env.rb +7 -2
- data/lib/navi.rb +2 -1
- data/lib/navi/renderers/base.rb +12 -10
- data/lib/navi/renderers/simple_navigation.rb +6 -32
- data/lib/navi/renderers/simple_navigation/dynamic_item.rb +18 -0
- data/lib/navi/renderers/simple_navigation/dynamic_items.rb +26 -0
- data/lib/navi/renderers/simple_navigation/generates_uri.rb +32 -0
- data/lib/navi/renderers/simple_navigation/renderer.rb +27 -0
- data/lib/navi/version.rb +1 -1
- data/navi.gemspec +6 -17
- data/spec/dummy/app/assets/javascripts/application.js +1 -1
- data/spec/dummy/app/controllers/categories_controller.rb +4 -4
- data/spec/dummy/app/controllers/menu_items_controller.rb +11 -4
- data/spec/dummy/app/controllers/pages_controller.rb +5 -4
- data/spec/dummy/app/views/layouts/application.html.erb +1 -1
- data/spec/dummy/config/application.rb +0 -1
- data/spec/dummy/config/navigation.rb +0 -0
- data/spec/dummy/db/seeds.rb +4 -6
- data/spec/dummy/vendor/assets/javascripts/nestedSortable.js +382 -0
- data/spec/navi/navi_spec.rb +3 -3
- data/spec/navi/navigable_spec.rb +2 -2
- data/spec/navi/navigator_spec.rb +7 -7
- data/spec/navi/renderers/simple_navigation/dynamic_item_spec.rb +49 -0
- data/spec/navi/renderers/simple_navigation/dynamic_items_spec.rb +30 -0
- data/spec/navi/renderers/simple_navigation/generates_uri_spec.rb +57 -0
- data/spec/navi/renderers/simple_navigation/renderer_spec.rb +41 -0
- metadata +229 -142
- data/.rvmrc +0 -1
- data/spec/navi/renderers/simple_navigation_spec.rb +0 -49
data/spec/navi/navi_spec.rb
CHANGED
@@ -13,8 +13,8 @@ describe Navi do
|
|
13
13
|
end
|
14
14
|
end
|
15
15
|
|
16
|
-
it "should default to Navi::Renderers::SimpleNavigation" do
|
17
|
-
Navi.renderer.should == Navi::Renderers::SimpleNavigation
|
16
|
+
it "should default to Navi::Renderers::SimpleNavigation::Renderer" do
|
17
|
+
Navi.renderer.should == Navi::Renderers::SimpleNavigation::Renderer
|
18
18
|
end
|
19
19
|
|
20
20
|
it "should allow customization" do
|
@@ -68,7 +68,7 @@ describe Navi do
|
|
68
68
|
|
69
69
|
describe "#to_navigator!" do
|
70
70
|
it "should immediately create the navigator item" do
|
71
|
-
category =
|
71
|
+
category = FactoryGirl.create(:category)
|
72
72
|
navigator = category.to_navigator!
|
73
73
|
navigator.should_not be_new_record
|
74
74
|
end
|
data/spec/navi/navigable_spec.rb
CHANGED
@@ -4,7 +4,7 @@ describe "Navigable" do
|
|
4
4
|
context "when deleted" do
|
5
5
|
context "and the navigator has a navigable item" do
|
6
6
|
before do
|
7
|
-
page =
|
7
|
+
page = FactoryGirl.create(:page, name: "Page name")
|
8
8
|
@menu_item = page.to_navigator!
|
9
9
|
page.destroy
|
10
10
|
@menu_item.reload
|
@@ -24,7 +24,7 @@ describe "Navigable" do
|
|
24
24
|
|
25
25
|
context "and the navigable has no navigator item" do
|
26
26
|
before do
|
27
|
-
@page =
|
27
|
+
@page = FactoryGirl.create(:page, name: "Page name")
|
28
28
|
end
|
29
29
|
|
30
30
|
it "should not blow up" do
|
data/spec/navi/navigator_spec.rb
CHANGED
@@ -7,7 +7,7 @@ describe MenuItem do
|
|
7
7
|
MenuItem.new.should_not be_valid
|
8
8
|
MenuItem.new(:label => "Something").should_not be_valid
|
9
9
|
MenuItem.new(:url => "Something").should_not be_valid
|
10
|
-
MenuItem.new(:navigable =>
|
10
|
+
MenuItem.new(:navigable => FactoryGirl.create(:page)).should be_valid
|
11
11
|
MenuItem.new(:label => "", :url => "").should_not be_valid
|
12
12
|
MenuItem.new(:label => "Not blank", :url => "Some url").should be_valid
|
13
13
|
end
|
@@ -38,9 +38,9 @@ describe MenuItem do
|
|
38
38
|
"site_id = #{site_id}"
|
39
39
|
end
|
40
40
|
end
|
41
|
-
|
42
|
-
|
43
|
-
menu_item =
|
41
|
+
FactoryGirl.create(:menu_item, :site_id => 1)
|
42
|
+
FactoryGirl.create(:menu_item, :site_id => 2)
|
43
|
+
menu_item = FactoryGirl.create(:menu_item, :site_id => 1)
|
44
44
|
menu_item.position.should == 2
|
45
45
|
end
|
46
46
|
|
@@ -48,9 +48,9 @@ describe MenuItem do
|
|
48
48
|
MenuItem.class_eval do
|
49
49
|
ordered_tree :scope => :site
|
50
50
|
end
|
51
|
-
|
52
|
-
|
53
|
-
menu_item =
|
51
|
+
FactoryGirl.create(:menu_item, :site_id => 3).position.should == 1
|
52
|
+
FactoryGirl.create(:menu_item, :site_id => 4)
|
53
|
+
menu_item = FactoryGirl.create(:menu_item, :site_id => 3)
|
54
54
|
menu_item.position.should == 2
|
55
55
|
end
|
56
56
|
end
|
@@ -0,0 +1,49 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
describe Navi::Renderers::SimpleNavigation::DynamicItem do
|
4
|
+
|
5
|
+
let(:template) { double }
|
6
|
+
|
7
|
+
let(:nav_item) do
|
8
|
+
OpenStruct.new(title: 'nav title',
|
9
|
+
label: 'item label',
|
10
|
+
children: ['child1', 'child2'])
|
11
|
+
end
|
12
|
+
|
13
|
+
subject { described_class.new(template, nav_item, namespace: 'namespace') }
|
14
|
+
|
15
|
+
before do
|
16
|
+
template.stub(:dom_id).with(nav_item) { 'best_dom_id' }
|
17
|
+
|
18
|
+
Navi::Renderers::SimpleNavigation::GeneratesUri.stub(:execute).
|
19
|
+
with(template, nav_item, namespace: 'namespace').
|
20
|
+
and_return('my generated url')
|
21
|
+
|
22
|
+
@dynamic_items = ['dynamic', 'items']
|
23
|
+
Navi::Renderers::SimpleNavigation::DynamicItems.stub(:new).
|
24
|
+
with(template, nav_item.children, namespace: 'namespace').
|
25
|
+
and_return(@dynamic_items)
|
26
|
+
end
|
27
|
+
|
28
|
+
it "should set the key based on the template's dom_id of the nav item" do
|
29
|
+
expect(subject[:key]).to eq(:best_dom_id)
|
30
|
+
end
|
31
|
+
|
32
|
+
it 'should set the name from the nav item label' do
|
33
|
+
expect(subject[:name]).to eq('item label')
|
34
|
+
end
|
35
|
+
|
36
|
+
it 'should set the url' do
|
37
|
+
expect(subject[:url]).to eq('my generated url')
|
38
|
+
end
|
39
|
+
|
40
|
+
it 'should set the options title and class' do
|
41
|
+
expect(subject[:options]).to eq({title: 'nav title',
|
42
|
+
class: 'open_struct'})
|
43
|
+
end
|
44
|
+
|
45
|
+
it 'should set the items based on the objects given' do
|
46
|
+
expect(subject[:items]).to eq(@dynamic_items)
|
47
|
+
end
|
48
|
+
|
49
|
+
end
|
@@ -0,0 +1,30 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
describe Navi::Renderers::SimpleNavigation::DynamicItems do
|
4
|
+
|
5
|
+
describe 'initialization' do
|
6
|
+
it 'should be an array of DynamicItem objects, passing any options' do
|
7
|
+
template = double
|
8
|
+
|
9
|
+
nav_item_1 = double
|
10
|
+
nav_item_2 = double
|
11
|
+
nav_items = [nav_item_1, nav_item_2]
|
12
|
+
|
13
|
+
dynamic_item_1 = double
|
14
|
+
Navi::Renderers::SimpleNavigation::DynamicItem.
|
15
|
+
stub(:new).with(template, nav_item_1, extra: 'options').
|
16
|
+
and_return(dynamic_item_1)
|
17
|
+
|
18
|
+
dynamic_item_2 = double
|
19
|
+
Navi::Renderers::SimpleNavigation::DynamicItem.
|
20
|
+
stub(:new).with(template, nav_item_2, extra: 'options').
|
21
|
+
and_return(dynamic_item_2)
|
22
|
+
|
23
|
+
dynamic_items = described_class.new(template, nav_items, extra: 'options')
|
24
|
+
expect(dynamic_items.size).to eq(2)
|
25
|
+
expect(dynamic_items[0]).to eq(dynamic_item_1)
|
26
|
+
expect(dynamic_items[1]).to eq(dynamic_item_2)
|
27
|
+
end
|
28
|
+
end
|
29
|
+
|
30
|
+
end
|
@@ -0,0 +1,57 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
describe Navi::Renderers::SimpleNavigation::GeneratesUri do
|
4
|
+
|
5
|
+
describe '.execute' do
|
6
|
+
subject { described_class.execute(template, item) }
|
7
|
+
let(:template) { OpenStruct.new }
|
8
|
+
let(:item) { OpenStruct.new(url: url) }
|
9
|
+
|
10
|
+
context 'navigation item url is a string' do
|
11
|
+
let(:url) { '/a/string' }
|
12
|
+
it { should == '/a/string' }
|
13
|
+
end
|
14
|
+
|
15
|
+
context 'navigation item is not a string' do
|
16
|
+
let(:url) { OpenStruct.new }
|
17
|
+
|
18
|
+
context 'without a namespace' do
|
19
|
+
before do
|
20
|
+
template.stub(:polymorphic_path).with([url]) { '/generated/path' }
|
21
|
+
end
|
22
|
+
|
23
|
+
it 'should build the URL using the template polymorphic path' do
|
24
|
+
expect(subject).to eq('/generated/path')
|
25
|
+
end
|
26
|
+
end
|
27
|
+
|
28
|
+
context 'given a single namespace' do
|
29
|
+
subject { described_class.execute(template, item, namespace: :admin) }
|
30
|
+
|
31
|
+
before do
|
32
|
+
template.stub(:polymorphic_path).with([:admin, url]) { '/admin/generated/path' }
|
33
|
+
end
|
34
|
+
|
35
|
+
it 'should build the URL using the template polymorphic path' do
|
36
|
+
expect(subject).to eq('/admin/generated/path')
|
37
|
+
end
|
38
|
+
end
|
39
|
+
|
40
|
+
context 'given multiple namespaces' do
|
41
|
+
subject do
|
42
|
+
described_class.execute(template, item, namespace: [:super, :admin])
|
43
|
+
end
|
44
|
+
|
45
|
+
before do
|
46
|
+
template.stub(:polymorphic_path).with([:super, :admin, url]).
|
47
|
+
and_return('/super/admin/generated/path')
|
48
|
+
end
|
49
|
+
|
50
|
+
it 'should build the URL using the template polymorphic path' do
|
51
|
+
expect(subject).to eq('/super/admin/generated/path')
|
52
|
+
end
|
53
|
+
end
|
54
|
+
end
|
55
|
+
end
|
56
|
+
|
57
|
+
end
|
@@ -0,0 +1,41 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
# SimpleNavigation can accept a array of hashes like so
|
4
|
+
#[
|
5
|
+
#{:key => :main, :name => 'Main', :url => '/main', :options => {your options here}, :items => [
|
6
|
+
#{:key => :sub1, :name => 'Submenu 1', :url => '/sub1'},
|
7
|
+
#{:key => :sub2, :name => 'Submenu 2', :url => '/sub2'}
|
8
|
+
#]}, {...next primary item...}
|
9
|
+
#]
|
10
|
+
#
|
11
|
+
# That means this is the output we need if we want to get it working with SimpleNavigation.
|
12
|
+
|
13
|
+
describe Navi::Renderers::SimpleNavigation::Renderer do
|
14
|
+
|
15
|
+
describe '#render' do
|
16
|
+
before do
|
17
|
+
@template = OpenStruct.new
|
18
|
+
@controller = OpenStruct.new(view_context: @template)
|
19
|
+
@context = OpenStruct.new(controller: @controller)
|
20
|
+
end
|
21
|
+
|
22
|
+
it 'should call render_navigation' do
|
23
|
+
rendered_navigation = "rendered navigation"
|
24
|
+
|
25
|
+
items = ['items']
|
26
|
+
dynamic_items = ['dynamic items']
|
27
|
+
Navi::Renderers::SimpleNavigation::DynamicItems.
|
28
|
+
stub(:new).with(@template, items, namespace: 'admin').
|
29
|
+
and_return(dynamic_items)
|
30
|
+
|
31
|
+
@template.stub(:render_navigation).
|
32
|
+
with(expand_all: true, items: dynamic_items).
|
33
|
+
and_return(rendered_navigation)
|
34
|
+
|
35
|
+
renderer = described_class.new(@context)
|
36
|
+
result = renderer.render(items, namespace: 'admin')
|
37
|
+
expect(result).to eq('rendered navigation')
|
38
|
+
end
|
39
|
+
end
|
40
|
+
|
41
|
+
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: navi
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.2.0
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,11 +9,11 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date:
|
12
|
+
date: 2013-06-07 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: activesupport
|
16
|
-
requirement:
|
16
|
+
requirement: !ruby/object:Gem::Requirement
|
17
17
|
none: false
|
18
18
|
requirements:
|
19
19
|
- - ! '>='
|
@@ -21,10 +21,15 @@ dependencies:
|
|
21
21
|
version: 3.0.0
|
22
22
|
type: :runtime
|
23
23
|
prerelease: false
|
24
|
-
version_requirements:
|
24
|
+
version_requirements: !ruby/object:Gem::Requirement
|
25
|
+
none: false
|
26
|
+
requirements:
|
27
|
+
- - ! '>='
|
28
|
+
- !ruby/object:Gem::Version
|
29
|
+
version: 3.0.0
|
25
30
|
- !ruby/object:Gem::Dependency
|
26
31
|
name: activerecord
|
27
|
-
requirement:
|
32
|
+
requirement: !ruby/object:Gem::Requirement
|
28
33
|
none: false
|
29
34
|
requirements:
|
30
35
|
- - ! '>='
|
@@ -32,87 +37,63 @@ dependencies:
|
|
32
37
|
version: 3.0.0
|
33
38
|
type: :runtime
|
34
39
|
prerelease: false
|
35
|
-
version_requirements:
|
36
|
-
- !ruby/object:Gem::Dependency
|
37
|
-
name: ordered_tree
|
38
|
-
requirement: &71495600 !ruby/object:Gem::Requirement
|
40
|
+
version_requirements: !ruby/object:Gem::Requirement
|
39
41
|
none: false
|
40
42
|
requirements:
|
41
43
|
- - ! '>='
|
42
44
|
- !ruby/object:Gem::Version
|
43
|
-
version: 0.
|
44
|
-
type: :runtime
|
45
|
-
prerelease: false
|
46
|
-
version_requirements: *71495600
|
45
|
+
version: 3.0.0
|
47
46
|
- !ruby/object:Gem::Dependency
|
48
|
-
name:
|
49
|
-
requirement:
|
47
|
+
name: ordered_tree
|
48
|
+
requirement: !ruby/object:Gem::Requirement
|
50
49
|
none: false
|
51
50
|
requirements:
|
52
|
-
- -
|
51
|
+
- - ! '>='
|
53
52
|
- !ruby/object:Gem::Version
|
54
|
-
version:
|
55
|
-
type: :
|
53
|
+
version: 0.1.6
|
54
|
+
type: :runtime
|
56
55
|
prerelease: false
|
57
|
-
version_requirements:
|
58
|
-
- !ruby/object:Gem::Dependency
|
59
|
-
name: bundler
|
60
|
-
requirement: &71494710 !ruby/object:Gem::Requirement
|
56
|
+
version_requirements: !ruby/object:Gem::Requirement
|
61
57
|
none: false
|
62
58
|
requirements:
|
63
|
-
- -
|
59
|
+
- - ! '>='
|
64
60
|
- !ruby/object:Gem::Version
|
65
|
-
version: 1.
|
66
|
-
type: :development
|
67
|
-
prerelease: false
|
68
|
-
version_requirements: *71494710
|
61
|
+
version: 0.1.6
|
69
62
|
- !ruby/object:Gem::Dependency
|
70
63
|
name: simple-navigation
|
71
|
-
requirement:
|
64
|
+
requirement: !ruby/object:Gem::Requirement
|
72
65
|
none: false
|
73
66
|
requirements:
|
74
|
-
- -
|
67
|
+
- - ~>
|
75
68
|
- !ruby/object:Gem::Version
|
76
|
-
version: 3.
|
77
|
-
type: :
|
69
|
+
version: 3.11.0
|
70
|
+
type: :runtime
|
78
71
|
prerelease: false
|
79
|
-
version_requirements:
|
80
|
-
- !ruby/object:Gem::Dependency
|
81
|
-
name: inherited_resources
|
82
|
-
requirement: &71493890 !ruby/object:Gem::Requirement
|
72
|
+
version_requirements: !ruby/object:Gem::Requirement
|
83
73
|
none: false
|
84
74
|
requirements:
|
85
75
|
- - ~>
|
86
76
|
- !ruby/object:Gem::Version
|
87
|
-
version:
|
88
|
-
type: :development
|
89
|
-
prerelease: false
|
90
|
-
version_requirements: *71493890
|
77
|
+
version: 3.11.0
|
91
78
|
- !ruby/object:Gem::Dependency
|
92
|
-
name:
|
93
|
-
requirement:
|
79
|
+
name: easy_class_to_instance_method
|
80
|
+
requirement: !ruby/object:Gem::Requirement
|
94
81
|
none: false
|
95
82
|
requirements:
|
96
|
-
- -
|
83
|
+
- - '='
|
97
84
|
- !ruby/object:Gem::Version
|
98
|
-
version:
|
99
|
-
type: :
|
85
|
+
version: 0.0.1
|
86
|
+
type: :runtime
|
100
87
|
prerelease: false
|
101
|
-
version_requirements:
|
102
|
-
- !ruby/object:Gem::Dependency
|
103
|
-
name: libnotify
|
104
|
-
requirement: &71493250 !ruby/object:Gem::Requirement
|
88
|
+
version_requirements: !ruby/object:Gem::Requirement
|
105
89
|
none: false
|
106
90
|
requirements:
|
107
|
-
- -
|
91
|
+
- - '='
|
108
92
|
- !ruby/object:Gem::Version
|
109
|
-
version:
|
110
|
-
type: :development
|
111
|
-
prerelease: false
|
112
|
-
version_requirements: *71493250
|
93
|
+
version: 0.0.1
|
113
94
|
- !ruby/object:Gem::Dependency
|
114
|
-
name:
|
115
|
-
requirement:
|
95
|
+
name: sqlite3
|
96
|
+
requirement: !ruby/object:Gem::Requirement
|
116
97
|
none: false
|
117
98
|
requirements:
|
118
99
|
- - ! '>='
|
@@ -120,98 +101,79 @@ dependencies:
|
|
120
101
|
version: '0'
|
121
102
|
type: :development
|
122
103
|
prerelease: false
|
123
|
-
version_requirements:
|
124
|
-
- !ruby/object:Gem::Dependency
|
125
|
-
name: sqlite3
|
126
|
-
requirement: &71492240 !ruby/object:Gem::Requirement
|
104
|
+
version_requirements: !ruby/object:Gem::Requirement
|
127
105
|
none: false
|
128
106
|
requirements:
|
129
107
|
- - ! '>='
|
130
108
|
- !ruby/object:Gem::Version
|
131
109
|
version: '0'
|
132
|
-
type: :development
|
133
|
-
prerelease: false
|
134
|
-
version_requirements: *71492240
|
135
110
|
- !ruby/object:Gem::Dependency
|
136
|
-
name:
|
137
|
-
requirement:
|
111
|
+
name: rails
|
112
|
+
requirement: !ruby/object:Gem::Requirement
|
138
113
|
none: false
|
139
114
|
requirements:
|
140
115
|
- - ~>
|
141
116
|
- !ruby/object:Gem::Version
|
142
|
-
version:
|
117
|
+
version: 3.2.0
|
143
118
|
type: :development
|
144
119
|
prerelease: false
|
145
|
-
version_requirements:
|
146
|
-
- !ruby/object:Gem::Dependency
|
147
|
-
name: rails
|
148
|
-
requirement: &71491240 !ruby/object:Gem::Requirement
|
120
|
+
version_requirements: !ruby/object:Gem::Requirement
|
149
121
|
none: false
|
150
122
|
requirements:
|
151
123
|
- - ~>
|
152
124
|
- !ruby/object:Gem::Version
|
153
125
|
version: 3.2.0
|
154
|
-
type: :development
|
155
|
-
prerelease: false
|
156
|
-
version_requirements: *71491240
|
157
126
|
- !ruby/object:Gem::Dependency
|
158
|
-
name:
|
159
|
-
requirement:
|
127
|
+
name: jquery-rails
|
128
|
+
requirement: !ruby/object:Gem::Requirement
|
160
129
|
none: false
|
161
130
|
requirements:
|
162
|
-
- -
|
131
|
+
- - ~>
|
163
132
|
- !ruby/object:Gem::Version
|
164
|
-
version:
|
133
|
+
version: 2.2.1
|
165
134
|
type: :development
|
166
135
|
prerelease: false
|
167
|
-
version_requirements:
|
168
|
-
- !ruby/object:Gem::Dependency
|
169
|
-
name: simple-navigation
|
170
|
-
requirement: &71490490 !ruby/object:Gem::Requirement
|
136
|
+
version_requirements: !ruby/object:Gem::Requirement
|
171
137
|
none: false
|
172
138
|
requirements:
|
173
|
-
- -
|
139
|
+
- - ~>
|
174
140
|
- !ruby/object:Gem::Version
|
175
|
-
version:
|
176
|
-
type: :development
|
177
|
-
prerelease: false
|
178
|
-
version_requirements: *71490490
|
141
|
+
version: 2.2.1
|
179
142
|
- !ruby/object:Gem::Dependency
|
180
|
-
name:
|
181
|
-
requirement:
|
143
|
+
name: rspec-rails
|
144
|
+
requirement: !ruby/object:Gem::Requirement
|
182
145
|
none: false
|
183
146
|
requirements:
|
184
147
|
- - ~>
|
185
148
|
- !ruby/object:Gem::Version
|
186
|
-
version: 2.
|
149
|
+
version: 2.13.2
|
187
150
|
type: :development
|
188
151
|
prerelease: false
|
189
|
-
version_requirements:
|
190
|
-
- !ruby/object:Gem::Dependency
|
191
|
-
name: rspec-rails
|
192
|
-
requirement: &71489660 !ruby/object:Gem::Requirement
|
152
|
+
version_requirements: !ruby/object:Gem::Requirement
|
193
153
|
none: false
|
194
154
|
requirements:
|
195
155
|
- - ~>
|
196
156
|
- !ruby/object:Gem::Version
|
197
|
-
version: 2.
|
198
|
-
type: :development
|
199
|
-
prerelease: false
|
200
|
-
version_requirements: *71489660
|
157
|
+
version: 2.13.2
|
201
158
|
- !ruby/object:Gem::Dependency
|
202
159
|
name: cucumber-rails
|
203
|
-
requirement:
|
160
|
+
requirement: !ruby/object:Gem::Requirement
|
204
161
|
none: false
|
205
162
|
requirements:
|
206
|
-
- - =
|
163
|
+
- - '='
|
207
164
|
- !ruby/object:Gem::Version
|
208
165
|
version: 0.5.2
|
209
166
|
type: :development
|
210
167
|
prerelease: false
|
211
|
-
version_requirements:
|
168
|
+
version_requirements: !ruby/object:Gem::Requirement
|
169
|
+
none: false
|
170
|
+
requirements:
|
171
|
+
- - '='
|
172
|
+
- !ruby/object:Gem::Version
|
173
|
+
version: 0.5.2
|
212
174
|
- !ruby/object:Gem::Dependency
|
213
175
|
name: cucumber
|
214
|
-
requirement:
|
176
|
+
requirement: !ruby/object:Gem::Requirement
|
215
177
|
none: false
|
216
178
|
requirements:
|
217
179
|
- - ! '>='
|
@@ -219,10 +181,31 @@ dependencies:
|
|
219
181
|
version: '0'
|
220
182
|
type: :development
|
221
183
|
prerelease: false
|
222
|
-
version_requirements:
|
184
|
+
version_requirements: !ruby/object:Gem::Requirement
|
185
|
+
none: false
|
186
|
+
requirements:
|
187
|
+
- - ! '>='
|
188
|
+
- !ruby/object:Gem::Version
|
189
|
+
version: '0'
|
190
|
+
- !ruby/object:Gem::Dependency
|
191
|
+
name: selenium-webdriver
|
192
|
+
requirement: !ruby/object:Gem::Requirement
|
193
|
+
none: false
|
194
|
+
requirements:
|
195
|
+
- - ! '>='
|
196
|
+
- !ruby/object:Gem::Version
|
197
|
+
version: '0'
|
198
|
+
type: :development
|
199
|
+
prerelease: false
|
200
|
+
version_requirements: !ruby/object:Gem::Requirement
|
201
|
+
none: false
|
202
|
+
requirements:
|
203
|
+
- - ! '>='
|
204
|
+
- !ruby/object:Gem::Version
|
205
|
+
version: '0'
|
223
206
|
- !ruby/object:Gem::Dependency
|
224
207
|
name: capybara
|
225
|
-
requirement:
|
208
|
+
requirement: !ruby/object:Gem::Requirement
|
226
209
|
none: false
|
227
210
|
requirements:
|
228
211
|
- - ! '>='
|
@@ -230,10 +213,15 @@ dependencies:
|
|
230
213
|
version: 1.0.0.rc1
|
231
214
|
type: :development
|
232
215
|
prerelease: false
|
233
|
-
version_requirements:
|
216
|
+
version_requirements: !ruby/object:Gem::Requirement
|
217
|
+
none: false
|
218
|
+
requirements:
|
219
|
+
- - ! '>='
|
220
|
+
- !ruby/object:Gem::Version
|
221
|
+
version: 1.0.0.rc1
|
234
222
|
- !ruby/object:Gem::Dependency
|
235
223
|
name: database_cleaner
|
236
|
-
requirement:
|
224
|
+
requirement: !ruby/object:Gem::Requirement
|
237
225
|
none: false
|
238
226
|
requirements:
|
239
227
|
- - ! '>='
|
@@ -241,10 +229,15 @@ dependencies:
|
|
241
229
|
version: '0'
|
242
230
|
type: :development
|
243
231
|
prerelease: false
|
244
|
-
version_requirements:
|
232
|
+
version_requirements: !ruby/object:Gem::Requirement
|
233
|
+
none: false
|
234
|
+
requirements:
|
235
|
+
- - ! '>='
|
236
|
+
- !ruby/object:Gem::Version
|
237
|
+
version: '0'
|
245
238
|
- !ruby/object:Gem::Dependency
|
246
239
|
name: launchy
|
247
|
-
requirement:
|
240
|
+
requirement: !ruby/object:Gem::Requirement
|
248
241
|
none: false
|
249
242
|
requirements:
|
250
243
|
- - ! '>='
|
@@ -252,32 +245,31 @@ dependencies:
|
|
252
245
|
version: '0'
|
253
246
|
type: :development
|
254
247
|
prerelease: false
|
255
|
-
version_requirements:
|
248
|
+
version_requirements: !ruby/object:Gem::Requirement
|
249
|
+
none: false
|
250
|
+
requirements:
|
251
|
+
- - ! '>='
|
252
|
+
- !ruby/object:Gem::Version
|
253
|
+
version: '0'
|
256
254
|
- !ruby/object:Gem::Dependency
|
257
255
|
name: guard-cucumber
|
258
|
-
requirement:
|
256
|
+
requirement: !ruby/object:Gem::Requirement
|
259
257
|
none: false
|
260
258
|
requirements:
|
261
|
-
- - =
|
259
|
+
- - '='
|
262
260
|
- !ruby/object:Gem::Version
|
263
261
|
version: 0.3.4
|
264
262
|
type: :development
|
265
263
|
prerelease: false
|
266
|
-
version_requirements:
|
267
|
-
- !ruby/object:Gem::Dependency
|
268
|
-
name: libnotify
|
269
|
-
requirement: &71483280 !ruby/object:Gem::Requirement
|
264
|
+
version_requirements: !ruby/object:Gem::Requirement
|
270
265
|
none: false
|
271
266
|
requirements:
|
272
|
-
- -
|
267
|
+
- - '='
|
273
268
|
- !ruby/object:Gem::Version
|
274
|
-
version:
|
275
|
-
type: :development
|
276
|
-
prerelease: false
|
277
|
-
version_requirements: *71483280
|
269
|
+
version: 0.3.4
|
278
270
|
- !ruby/object:Gem::Dependency
|
279
|
-
name:
|
280
|
-
requirement:
|
271
|
+
name: nifty-generators
|
272
|
+
requirement: !ruby/object:Gem::Requirement
|
281
273
|
none: false
|
282
274
|
requirements:
|
283
275
|
- - ! '>='
|
@@ -285,40 +277,28 @@ dependencies:
|
|
285
277
|
version: '0'
|
286
278
|
type: :development
|
287
279
|
prerelease: false
|
288
|
-
version_requirements:
|
289
|
-
- !ruby/object:Gem::Dependency
|
290
|
-
name: nifty-generators
|
291
|
-
requirement: &71482520 !ruby/object:Gem::Requirement
|
280
|
+
version_requirements: !ruby/object:Gem::Requirement
|
292
281
|
none: false
|
293
282
|
requirements:
|
294
283
|
- - ! '>='
|
295
284
|
- !ruby/object:Gem::Version
|
296
285
|
version: '0'
|
297
|
-
type: :development
|
298
|
-
prerelease: false
|
299
|
-
version_requirements: *71482520
|
300
286
|
- !ruby/object:Gem::Dependency
|
301
287
|
name: factory_girl
|
302
|
-
requirement:
|
288
|
+
requirement: !ruby/object:Gem::Requirement
|
303
289
|
none: false
|
304
290
|
requirements:
|
305
291
|
- - ~>
|
306
292
|
- !ruby/object:Gem::Version
|
307
|
-
version: 2.
|
293
|
+
version: 4.2.0
|
308
294
|
type: :development
|
309
295
|
prerelease: false
|
310
|
-
version_requirements:
|
311
|
-
- !ruby/object:Gem::Dependency
|
312
|
-
name: ruby-debug19
|
313
|
-
requirement: &71481250 !ruby/object:Gem::Requirement
|
296
|
+
version_requirements: !ruby/object:Gem::Requirement
|
314
297
|
none: false
|
315
298
|
requirements:
|
316
|
-
- -
|
299
|
+
- - ~>
|
317
300
|
- !ruby/object:Gem::Version
|
318
|
-
version:
|
319
|
-
type: :development
|
320
|
-
prerelease: false
|
321
|
-
version_requirements: *71481250
|
301
|
+
version: 4.2.0
|
322
302
|
description: Allows you to save menu items in the database. You can create your own
|
323
303
|
renderer.
|
324
304
|
email:
|
@@ -330,7 +310,8 @@ files:
|
|
330
310
|
- .document
|
331
311
|
- .gitignore
|
332
312
|
- .rspec
|
333
|
-
- .
|
313
|
+
- .ruby-version
|
314
|
+
- CHANGELOG.md
|
334
315
|
- Gemfile
|
335
316
|
- Gemfile.lock
|
336
317
|
- Guardfile
|
@@ -356,6 +337,10 @@ files:
|
|
356
337
|
- lib/navi/railtie.rb
|
357
338
|
- lib/navi/renderers/base.rb
|
358
339
|
- lib/navi/renderers/simple_navigation.rb
|
340
|
+
- lib/navi/renderers/simple_navigation/dynamic_item.rb
|
341
|
+
- lib/navi/renderers/simple_navigation/dynamic_items.rb
|
342
|
+
- lib/navi/renderers/simple_navigation/generates_uri.rb
|
343
|
+
- lib/navi/renderers/simple_navigation/renderer.rb
|
359
344
|
- lib/navi/version.rb
|
360
345
|
- navi.gemspec
|
361
346
|
- spec/dummy/Rakefile
|
@@ -416,6 +401,7 @@ files:
|
|
416
401
|
- spec/dummy/config/initializers/session_store.rb
|
417
402
|
- spec/dummy/config/initializers/wrap_parameters.rb
|
418
403
|
- spec/dummy/config/locales/en.yml
|
404
|
+
- spec/dummy/config/navigation.rb
|
419
405
|
- spec/dummy/config/routes.rb
|
420
406
|
- spec/dummy/db/migrate/20110607155019_create_menu_items.rb
|
421
407
|
- spec/dummy/db/migrate/20110607155202_create_categories.rb
|
@@ -429,12 +415,16 @@ files:
|
|
429
415
|
- spec/dummy/public/500.html
|
430
416
|
- spec/dummy/public/favicon.ico
|
431
417
|
- spec/dummy/script/rails
|
418
|
+
- spec/dummy/vendor/assets/javascripts/nestedSortable.js
|
432
419
|
- spec/factories.rb
|
433
420
|
- spec/navi/helpers_spec.rb
|
434
421
|
- spec/navi/navi_spec.rb
|
435
422
|
- spec/navi/navigable_spec.rb
|
436
423
|
- spec/navi/navigator_spec.rb
|
437
|
-
- spec/navi/renderers/
|
424
|
+
- spec/navi/renderers/simple_navigation/dynamic_item_spec.rb
|
425
|
+
- spec/navi/renderers/simple_navigation/dynamic_items_spec.rb
|
426
|
+
- spec/navi/renderers/simple_navigation/generates_uri_spec.rb
|
427
|
+
- spec/navi/renderers/simple_navigation/renderer_spec.rb
|
438
428
|
- spec/spec_helper.rb
|
439
429
|
homepage: https://github.com/ramontayag/navi
|
440
430
|
licenses: []
|
@@ -448,16 +438,113 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
448
438
|
- - ! '>='
|
449
439
|
- !ruby/object:Gem::Version
|
450
440
|
version: '0'
|
441
|
+
segments:
|
442
|
+
- 0
|
443
|
+
hash: -1974444900987985059
|
451
444
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
452
445
|
none: false
|
453
446
|
requirements:
|
454
447
|
- - ! '>='
|
455
448
|
- !ruby/object:Gem::Version
|
456
449
|
version: '0'
|
450
|
+
segments:
|
451
|
+
- 0
|
452
|
+
hash: -1974444900987985059
|
457
453
|
requirements: []
|
458
454
|
rubyforge_project: navi
|
459
|
-
rubygems_version: 1.8.
|
455
|
+
rubygems_version: 1.8.25
|
460
456
|
signing_key:
|
461
457
|
specification_version: 3
|
462
458
|
summary: Database-backed menu
|
463
|
-
test_files:
|
459
|
+
test_files:
|
460
|
+
- features/create_menu_items.feature
|
461
|
+
- features/step_definitions/category_steps.rb
|
462
|
+
- features/step_definitions/menu_item_steps.rb
|
463
|
+
- features/step_definitions/page_steps.rb
|
464
|
+
- features/step_definitions/web_steps.rb
|
465
|
+
- features/support/env.rb
|
466
|
+
- features/support/paths.rb
|
467
|
+
- features/support/selectors.rb
|
468
|
+
- spec/dummy/Rakefile
|
469
|
+
- spec/dummy/app/assets/javascripts/application.js
|
470
|
+
- spec/dummy/app/assets/javascripts/jquery-ui.js
|
471
|
+
- spec/dummy/app/assets/javascripts/jquery-ui.min.js
|
472
|
+
- spec/dummy/app/assets/javascripts/jquery.js
|
473
|
+
- spec/dummy/app/assets/javascripts/jquery.min.js
|
474
|
+
- spec/dummy/app/assets/javascripts/jquery_ujs.js
|
475
|
+
- spec/dummy/app/assets/javascripts/menu_items/index.js
|
476
|
+
- spec/dummy/app/assets/stylesheets/application.css
|
477
|
+
- spec/dummy/app/controllers/application_controller.rb
|
478
|
+
- spec/dummy/app/controllers/categories_controller.rb
|
479
|
+
- spec/dummy/app/controllers/menu_items_controller.rb
|
480
|
+
- spec/dummy/app/controllers/pages_controller.rb
|
481
|
+
- spec/dummy/app/helpers/application_helper.rb
|
482
|
+
- spec/dummy/app/mailers/.gitkeep
|
483
|
+
- spec/dummy/app/models/.gitkeep
|
484
|
+
- spec/dummy/app/models/category.rb
|
485
|
+
- spec/dummy/app/models/menu_item.rb
|
486
|
+
- spec/dummy/app/models/page.rb
|
487
|
+
- spec/dummy/app/views/categories/_form.html.haml
|
488
|
+
- spec/dummy/app/views/categories/edit.html.haml
|
489
|
+
- spec/dummy/app/views/categories/index.html.haml
|
490
|
+
- spec/dummy/app/views/categories/new.html.haml
|
491
|
+
- spec/dummy/app/views/layouts/application.html.erb
|
492
|
+
- spec/dummy/app/views/menu_items/edit.html.haml
|
493
|
+
- spec/dummy/app/views/menu_items/index.html.haml
|
494
|
+
- spec/dummy/app/views/pages/_form.html.haml
|
495
|
+
- spec/dummy/app/views/pages/edit.html.haml
|
496
|
+
- spec/dummy/app/views/pages/index.html.haml
|
497
|
+
- spec/dummy/app/views/pages/new.html.haml
|
498
|
+
- spec/dummy/app/widgets/menu_editor/category/form/.display.html.haml.swo
|
499
|
+
- spec/dummy/app/widgets/menu_editor/category/form/display.html.haml
|
500
|
+
- spec/dummy/app/widgets/menu_editor/category/form_widget.rb
|
501
|
+
- spec/dummy/app/widgets/menu_editor/display.html.haml
|
502
|
+
- spec/dummy/app/widgets/menu_editor/page/form/.display.html.haml.swo
|
503
|
+
- spec/dummy/app/widgets/menu_editor/page/form/display.html.haml
|
504
|
+
- spec/dummy/app/widgets/menu_editor/page/form_widget.rb
|
505
|
+
- spec/dummy/app/widgets/menu_editor/tree/display.html.haml
|
506
|
+
- spec/dummy/app/widgets/menu_editor/tree/item.html.haml
|
507
|
+
- spec/dummy/app/widgets/menu_editor/tree/items.html.haml
|
508
|
+
- spec/dummy/app/widgets/menu_editor/tree_widget.rb
|
509
|
+
- spec/dummy/app/widgets/menu_editor_widget.rb
|
510
|
+
- spec/dummy/config.ru
|
511
|
+
- spec/dummy/config/application.rb
|
512
|
+
- spec/dummy/config/boot.rb
|
513
|
+
- spec/dummy/config/database.yml
|
514
|
+
- spec/dummy/config/environment.rb
|
515
|
+
- spec/dummy/config/environments/development.rb
|
516
|
+
- spec/dummy/config/environments/production.rb
|
517
|
+
- spec/dummy/config/environments/test.rb
|
518
|
+
- spec/dummy/config/initializers/backtrace_silencers.rb
|
519
|
+
- spec/dummy/config/initializers/inflections.rb
|
520
|
+
- spec/dummy/config/initializers/mime_types.rb
|
521
|
+
- spec/dummy/config/initializers/navi.rb
|
522
|
+
- spec/dummy/config/initializers/secret_token.rb
|
523
|
+
- spec/dummy/config/initializers/session_store.rb
|
524
|
+
- spec/dummy/config/initializers/wrap_parameters.rb
|
525
|
+
- spec/dummy/config/locales/en.yml
|
526
|
+
- spec/dummy/config/navigation.rb
|
527
|
+
- spec/dummy/config/routes.rb
|
528
|
+
- spec/dummy/db/migrate/20110607155019_create_menu_items.rb
|
529
|
+
- spec/dummy/db/migrate/20110607155202_create_categories.rb
|
530
|
+
- spec/dummy/db/migrate/20110607160052_create_pages.rb
|
531
|
+
- spec/dummy/db/schema.rb
|
532
|
+
- spec/dummy/db/seeds.rb
|
533
|
+
- spec/dummy/lib/assets/.gitkeep
|
534
|
+
- spec/dummy/log/.gitkeep
|
535
|
+
- spec/dummy/public/404.html
|
536
|
+
- spec/dummy/public/422.html
|
537
|
+
- spec/dummy/public/500.html
|
538
|
+
- spec/dummy/public/favicon.ico
|
539
|
+
- spec/dummy/script/rails
|
540
|
+
- spec/dummy/vendor/assets/javascripts/nestedSortable.js
|
541
|
+
- spec/factories.rb
|
542
|
+
- spec/navi/helpers_spec.rb
|
543
|
+
- spec/navi/navi_spec.rb
|
544
|
+
- spec/navi/navigable_spec.rb
|
545
|
+
- spec/navi/navigator_spec.rb
|
546
|
+
- spec/navi/renderers/simple_navigation/dynamic_item_spec.rb
|
547
|
+
- spec/navi/renderers/simple_navigation/dynamic_items_spec.rb
|
548
|
+
- spec/navi/renderers/simple_navigation/generates_uri_spec.rb
|
549
|
+
- spec/navi/renderers/simple_navigation/renderer_spec.rb
|
550
|
+
- spec/spec_helper.rb
|