breadcrumble 3.0.1 → 3.0.2

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/README.md CHANGED
@@ -28,6 +28,7 @@ In your controller, call `add_breadcrumb` to push a new crumb on the breadcrumb
28
28
  def index
29
29
  add_breadcrumb "index", controller: 'sample', action: 'index'
30
30
  add_breadcrumb "show", show_path(123)
31
+ add_breadcrumbs ["book", "/book"], ["page", "/book/page"]
31
32
  end
32
33
 
33
34
  end
@@ -12,6 +12,14 @@ module Breadcrumble
12
12
  controller.send :add_breadcrumb, name, url
13
13
  end
14
14
  end
15
+
16
+ def add_breadcrumbs *args
17
+ before_filter do |controller|
18
+ args.each do |arg|
19
+ controller.send :add_breadcrumb, arg[0], arg[1]
20
+ end
21
+ end
22
+ end
15
23
  end
16
24
 
17
25
  protected
@@ -30,6 +38,12 @@ module Breadcrumble
30
38
  }
31
39
  end
32
40
 
41
+ def add_breadcrumbs *args
42
+ args.each do |arg|
43
+ add_breadcrumb arg[0], arg[1]
44
+ end
45
+ end
46
+
33
47
  def breadcrumbs
34
48
  @breadcrumbs
35
49
  end
@@ -1,3 +1,3 @@
1
1
  module Breadcrumble
2
- VERSION = "3.0.1"
2
+ VERSION = "3.0.2"
3
3
  end
@@ -2,13 +2,13 @@ require "spec_helper"
2
2
 
3
3
  describe ApplicationController do
4
4
  controller do
5
- add_breadcrumb 'root', '/'
6
- add_breadcrumb 'nil', nil
5
+ add_breadcrumbs ['root', '/'], ['nil', nil]
7
6
  add_breadcrumb -> c { c.examples_url }, -> c { c.examples_path }
8
7
 
9
8
  def index
10
9
  add_breadcrumb 'examples', controller: 'examples', action: 'index', only_path: true
11
10
  add_breadcrumb 'example', example_path(123)
11
+ add_breadcrumbs ['crumb1'], ['crumb2', -> c { example_path(1234) }]
12
12
  render text: 'test'
13
13
  end
14
14
  end
@@ -18,7 +18,7 @@ describe ApplicationController do
18
18
  get :index
19
19
  end
20
20
 
21
- context '.add_breadcrumb' do
21
+ context '.add_breadcrumbs' do
22
22
  it 'having breadcrumbs' do
23
23
  should be_success
24
24
  assigns(:breadcrumbs)[0][:name].should eq('root')
@@ -30,7 +30,9 @@ describe ApplicationController do
30
30
  assigns(:breadcrumbs)[1][:name].should eq('nil')
31
31
  assigns(:breadcrumbs)[1][:url].should be_nil
32
32
  end
33
+ end
33
34
 
35
+ context '.add_breadcrumb' do
34
36
  it 'execute lambda in controller instance context' do
35
37
  should be_success
36
38
  assigns(:breadcrumbs)[2][:name].should eq('http://test.host/examples')
@@ -51,5 +53,15 @@ describe ApplicationController do
51
53
  assigns(:breadcrumbs)[4][:url].should eq('/examples/123')
52
54
  end
53
55
  end
56
+
57
+ context '#add_breadcrumbs' do
58
+ it 'sequence is starting from first argument' do
59
+ should be_success
60
+ assigns(:breadcrumbs)[5][:name].should eq('crumb1')
61
+ assigns(:breadcrumbs)[5][:url].should be_nil
62
+ assigns(:breadcrumbs)[6][:name].should eq('crumb2')
63
+ assigns(:breadcrumbs)[6][:url].should eq('/examples/1234')
64
+ end
65
+ end
54
66
  end
55
67
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: breadcrumble
3
3
  version: !ruby/object:Gem::Version
4
- version: 3.0.1
4
+ version: 3.0.2
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2013-05-14 00:00:00.000000000 Z
12
+ date: 2013-05-15 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: rails
@@ -125,7 +125,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
125
125
  version: '0'
126
126
  segments:
127
127
  - 0
128
- hash: -2495426241204470398
128
+ hash: -2832618272314011603
129
129
  required_rubygems_version: !ruby/object:Gem::Requirement
130
130
  none: false
131
131
  requirements:
@@ -134,7 +134,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
134
134
  version: '0'
135
135
  segments:
136
136
  - 0
137
- hash: -2495426241204470398
137
+ hash: -2832618272314011603
138
138
  requirements: []
139
139
  rubyforge_project:
140
140
  rubygems_version: 1.8.23