simple-navigation 3.12.1 → 3.12.2
Sign up to get free protection for your applications and to get access to all the features.
data/CHANGELOG
CHANGED
@@ -74,6 +74,7 @@ module SimpleNavigation
|
|
74
74
|
def items=(new_items)
|
75
75
|
@items += new_items.map { |item| ItemAdapter.new(item) }
|
76
76
|
.keep_if { |item| should_add_item?(item.options) }
|
77
|
+
.map { |item| item.to_simple_navigation_item(self) }
|
77
78
|
end
|
78
79
|
|
79
80
|
# Returns the Item with the specified key, nil otherwise.
|
@@ -69,42 +69,31 @@ module SimpleNavigation
|
|
69
69
|
end
|
70
70
|
|
71
71
|
describe '#items=' do
|
72
|
-
let(:item) {
|
72
|
+
let(:item) {{ key: :my_key, name: 'test', url: '/' }}
|
73
73
|
let(:items) { [item] }
|
74
74
|
let(:item_adapter) { double(:item_adapter).as_null_object }
|
75
|
+
let(:real_item) { double(:real_item) }
|
75
76
|
|
76
77
|
before do
|
77
|
-
ItemAdapter.stub(new
|
78
|
-
|
79
|
-
end
|
80
|
-
|
81
|
-
it 'wraps each item in an ItemAdapter' do
|
82
|
-
expect(ItemAdapter).to receive(:new)
|
83
|
-
item_container.items = items
|
78
|
+
ItemAdapter.stub(:new).and_return(item_adapter)
|
79
|
+
item_adapter.stub(to_simple_navigation_item: real_item)
|
84
80
|
end
|
85
81
|
|
86
|
-
context 'when item should be added' do
|
87
|
-
|
88
|
-
|
89
|
-
before { ItemAdapter.stub(:new).with(item).and_return(wrapped_item) }
|
82
|
+
context 'when the item should be added' do
|
83
|
+
before { item_container.stub(should_add_item?: true) }
|
90
84
|
|
91
|
-
it 'converts
|
85
|
+
it 'converts it to an Item and adds it to the items collection' do
|
92
86
|
item_container.items = items
|
93
|
-
expect(item_container.items).to include(
|
87
|
+
expect(item_container.items).to include(real_item)
|
94
88
|
end
|
95
89
|
end
|
96
90
|
|
97
|
-
context 'when item should not be added' do
|
91
|
+
context 'when the item should not be added' do
|
98
92
|
before { item_container.stub(should_add_item?: false) }
|
99
93
|
|
100
|
-
it "doesn't
|
101
|
-
expect(item_adapter).not_to receive(:to_simple_navigation_item)
|
102
|
-
item_container.items = items
|
103
|
-
end
|
104
|
-
|
105
|
-
it "doesn't add the item to the items-collection" do
|
106
|
-
expect(item_container.items).not_to receive(:<<)
|
94
|
+
it "doesn't add it to the items collection" do
|
107
95
|
item_container.items = items
|
96
|
+
expect(item_container.items).not_to include(real_item)
|
108
97
|
end
|
109
98
|
end
|
110
99
|
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: 3.12.
|
4
|
+
version: 3.12.2
|
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: 2014-
|
13
|
+
date: 2014-03-01 00:00:00.000000000 Z
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
16
16
|
name: activesupport
|