gretel 2.0.0.beta1 → 2.0.0

Sign up to get free protection for your applications and to get access to all the features.
data/.travis.yml CHANGED
@@ -3,4 +3,6 @@ rvm:
3
3
  - 1.9.3
4
4
  - 1.8.7
5
5
  before_script:
6
- - "cd test/dummy; rake db:migrate; rake db:test:prepare; cd ../.."
6
+ - "cd test/dummy; rake db:migrate; rake db:test:prepare; cd ../.."
7
+ notifications:
8
+ email: false
data/CHANGELOG.md CHANGED
@@ -12,4 +12,5 @@ Version 2.0
12
12
  * The `link` method in `crumb :xx do ... end` no longer takes HTML options. The method for this is now by building the breadcrumbs manually (see the readme).
13
13
  * No longer supports procs for link text or URL as this is unnecessary when you can pass arguments to the block anyway.
14
14
  * It now accepts multiple arguments for `crumb` and `parent` (see the readme).
15
- * Breadcrumbs are now rendered with `<%= breadcrumbs %>`, although you can still use the old `<%= breadcrumb %>` (without *s*).
15
+ * Breadcrumbs are now rendered with `<%= breadcrumbs %>`, although you can still use the old `<%= breadcrumb %>` (without *s*).
16
+ * You can now access view helpers from inside `Gretel::Crumbs.layout do .. end`.
data/README.md CHANGED
@@ -12,6 +12,12 @@ In your *Gemfile*:
12
12
  gem 'gretel', '2.0.0.beta1'
13
13
  ```
14
14
 
15
+ Or, if you want to run the stable version ([see documentation](https://github.com/lassebunk/gretel/tree/v1.2.1)):
16
+
17
+ ```ruby
18
+ gem 'gretel', '1.2.1'
19
+ ```
20
+
15
21
  And run:
16
22
 
17
23
  ```bash
@@ -29,6 +35,89 @@ $ rails generate gretel:install
29
35
 
30
36
  Then, in *config/initializers/breadcrumbs.rb*:
31
37
 
38
+ ```ruby
39
+ Gretel::Crumbs.layout do
40
+ # Root crumb
41
+ crumb :root do
42
+ link "Home", root_path
43
+ end
44
+
45
+ # Issue list
46
+ crumb :issues do
47
+ link "All issues", issues_path
48
+ end
49
+
50
+ # Issue
51
+ crumb :issue do |issue|
52
+ link issue.title, issue
53
+ parent :issues
54
+ end
55
+ end
56
+ ```
57
+
58
+ At the top of *app/views/issues/show.html.erb*, set the current breadcrumb (assuming you have loaded `@issue` with an issue):
59
+
60
+ ```erb
61
+ <% breadcrumb :issue, @issue %>
62
+ ```
63
+
64
+ Then, in *app/views/layouts/application.html.erb*:
65
+
66
+ ```erb
67
+ <%= breadcrumbs :pretext => "You are here: ",
68
+ :separator => " &rsaquo; " %>
69
+ ```
70
+
71
+ This will generate the following HTML (indented for readability):
72
+
73
+ ```html
74
+ <div class="breadcrumbs">
75
+ You are here:
76
+ <a href="/">Home</a> &rsaquo;
77
+ <a href="/issues">All issues</a> &rsaquo;
78
+ <span class="current">My Issue</span>
79
+ </div>
80
+ ```
81
+
82
+ Options
83
+ -------
84
+
85
+ You can pass options to `<%= breadcrumbs %>`, e.g. `<%= breadcrumbs :pretext => "You are here: " %>`:
86
+
87
+ Option | Description | Default
88
+ ---------------- | -------------------------------------------------------------------------------------------------------------------------- | -------
89
+ :pretext | Text to be rendered before breadcrumb, e.g. `"You are here: "` | None
90
+ :posttext | Text to be appended after breadcrumb, e.g. `"Text after breacrumb"` | None
91
+ :separator | Separator between links, e.g. `" &rsaquo; "` | `" &gt; "`
92
+ :autoroot | Whether it should automatically link to the `:root` crumb if no parent is given. | True
93
+ :show_root_alone | Whether it should show `:root` if that is the only link. | False
94
+ :link_current | Whether the current crumb should be linked to. | False
95
+ :semantic | Whether it should generate [semantic breadcrumbs](http://support.google.com/webmasters/bin/answer.py?hl=en&answer=185417). | False
96
+ :id | ID for the breadcrumbs container. | None
97
+ :class | CSS class for the breadcrumbs container. | `"breadcrumbs"`
98
+ :current_class | CSS class for the current link or span. | `"current"`
99
+
100
+ Building the breadcrumbs manually
101
+ ---------------------------------
102
+
103
+ If you supply a block to the `breadcrumbs` method, it will yield an array with the breadcrumb links so you can build the breadcrumbs HTML manually:
104
+
105
+ ```erb
106
+ <% breadcrumbs do |links| %>
107
+ <% if links.any? %>
108
+ You are here:
109
+ <% links.each do |link| %>
110
+ <%= link_to link.text, link.url %> (<%= link.key %>)
111
+ <% end %>
112
+ <% end %>
113
+ <% end %>
114
+ ```
115
+
116
+ More examples
117
+ -------------
118
+
119
+ In *config/initializers/breadcrumbs.rb*:
120
+
32
121
  ```ruby
33
122
  Gretel::Crumbs.layout do
34
123
  # Root crumb
@@ -80,63 +169,34 @@ Gretel::Crumbs.layout do
80
169
  link "Test #{a}, #{b}, #{c}", test_path
81
170
  parent :other_test, 3, 4, 5
82
171
  end
83
- end
84
- ```
85
-
86
- At the top of *app/views/issues/show.html.erb*, set the current breadcrumb:
87
172
 
88
- ```erb
89
- <% breadcrumb :issue, @issue %>
90
- ```
91
-
92
- Then, in *app/views/layouts/application.html.erb*:
93
-
94
- ```erb
95
- <%= breadcrumbs :pretext => "You are here: ",
96
- :separator => " &rsaquo; ",
97
- :semantic => true %>
98
- ```
99
-
100
- This will generate a `<div class="breadcrumbs">` containing the breadcrumbs.
101
-
102
- Building the breadcrumbs manually
103
- ---------------------------------
173
+ # Breadcrumb without link URL; will not generate a link
174
+ crumb :without_link do
175
+ link "Breadcrumb without link"
176
+ end
104
177
 
105
- If you supply a block to the `breadcrumbs` method, it will yield an array with the breadcrumb links so you can build the breadcrumbs HTML manually:
178
+ # Breadcrumb using view helper
179
+ module UsersHelper
180
+ def user_name_for(user)
181
+ user.name
182
+ end
183
+ end
106
184
 
107
- ```erb
108
- <% breadcrumbs do |links| %>
109
- <% if links.any? %>
110
- You are here:
111
- <% links.each do |link| %>
112
- <%= link_to link.text, link.url %> (<%= link.key %>) %>
113
- <% end %>
114
- <% end %>
115
- <% end %>
185
+ crumb :user do |user|
186
+ link user_name_for(user), user
187
+ end
188
+ end
116
189
  ```
117
190
 
118
- Options
119
- -------
120
-
121
- You can pass options to `<%= breadcrumb %>`, e.g. `<%= breadcrumb :pretext => "You are here:" %>`:
191
+ Access to view helpers
192
+ ----------------------
122
193
 
123
- Option | Description | Default
124
- ---------------- | -------------------------------------------------------------------------------------------------------------------------- | -------
125
- :pretext | Text to be rendered before breadcrumb, e.g. `"You are here: "` | None
126
- :posttext | Text to be appended after breadcrumb, e.g. `"Text after breacrumb"` | None
127
- :separator | Separator between links, e.g. `" &rsaquo; "` | `" &gt; "`
128
- :autoroot | Whether it should automatically link to the `:root` crumb if no parent is given. | False
129
- :show_root_alone | Whether it should show `:root` if that is the only link. | False
130
- :link_current | Whether the current crumb should be linked to. | False
131
- :semantic | Whether it should generate [semantic breadcrumbs](http://support.google.com/webmasters/bin/answer.py?hl=en&answer=185417). | False
132
- :class | CSS class for the breadcrumbs container. | `"breadcrumbs"`
133
- :current_class | CSS class for the current link / span. | `"current"`
134
- :id | ID for the `<div class="breadcrumbs">` element. | None
194
+ When inside `Gretel::Crumbs.layout do .. end`, you have access to all view helpers of the current view where the breadcrumbs are inserted.
135
195
 
136
196
  Documentation
137
197
  -------------
138
198
 
139
- * [Full documentation](http://rubydoc.info/github/lassebunk/gretel)
199
+ * [Full documentation](http://rubydoc.info/gems/gretel)
140
200
  * [Changelog](https://github.com/lassebunk/gretel/blob/master/CHANGELOG.md)
141
201
 
142
202
  Contributors
data/lib/gretel/crumb.rb CHANGED
@@ -2,15 +2,16 @@ module Gretel
2
2
  class Crumb
3
3
  # Initializes a new crumb from the given +key+.
4
4
  # It finds the breadcrumb created in +Gretel::Crumbs.layout+ and renders the block using the arguments supplied in +args+.
5
- def initialize(key, *args)
5
+ def initialize(context, key, *args)
6
6
  block = Gretel::Crumbs.crumbs[key]
7
7
  raise ArgumentError, "Breadcrumb :#{key} not found." unless block
8
8
  @key = key
9
+ @context = context
9
10
  instance_exec *args, &block
10
11
  end
11
12
 
12
13
  # Sets link of the breadcrumb.
13
- def link(text, url)
14
+ def link(text, url = nil)
14
15
  links << Gretel::Link.new(key, text, url)
15
16
  end
16
17
 
@@ -28,11 +29,17 @@ module Gretel
28
29
  def parent(*args)
29
30
  return @parent unless args.any?
30
31
  key = args.shift
31
-
32
- @parent ||= Gretel::Crumb.new(key, *args)
32
+
33
+ @parent = Gretel::Crumb.new(context, key, *args)
33
34
  end
34
35
 
35
36
  # Key of the breadcrumb.
36
37
  attr_reader :key
38
+ attr_reader :context
39
+
40
+ # Proxy to view context
41
+ def method_missing(method, *args, &block)
42
+ context.send(method, *args, &block)
43
+ end
37
44
  end
38
- end
45
+ end
data/lib/gretel/crumbs.rb CHANGED
@@ -4,17 +4,12 @@ module Gretel
4
4
  # Lay out the breadcrumbs.
5
5
  #
6
6
  # Example:
7
- #
8
7
  # Gretel::Crumbs.layout do
9
8
  # crumb :root do
10
9
  # link "Home", root_path
11
10
  # end
12
11
  # end
13
12
  def layout(&block)
14
- # The URL helpers include needs to be done here because
15
- # Rails.application isn't set when this file is required
16
- # TODO: Can this be done otherwise?
17
- Gretel::Crumb.send :include, Rails.application.routes.url_helpers
18
13
  instance_eval &block
19
14
  end
20
15
 
@@ -27,6 +22,11 @@ module Gretel
27
22
  def crumbs
28
23
  @crumbs ||= {}
29
24
  end
25
+
26
+ # Returns true if a crumb with the given key has been set.
27
+ def crumb_defined?(key)
28
+ crumbs.has_key?(key)
29
+ end
30
30
  end
31
31
  end
32
- end
32
+ end
@@ -1,3 +1,3 @@
1
1
  module Gretel
2
- VERSION = "2.0.0.beta1"
2
+ VERSION = "2.0.0"
3
3
  end
@@ -23,7 +23,7 @@ module Gretel
23
23
  # <% if links.any? %>
24
24
  # You are here:
25
25
  # <% links.each do |link| %>
26
- # <%= link_to link.text, link.url %> (<%= link.key %>) %>
26
+ # <%= link_to link.text, link.url %> (<%= link.key %>)
27
27
  # <% end %>
28
28
  # <% end %>
29
29
  # <% end %>
@@ -40,9 +40,9 @@ module Gretel
40
40
  # Returns an array of links for the path of the breadcrumb set by +breadcrumb+.
41
41
  def get_breadcrumb_links(options = {})
42
42
  return [] if @_breadcrumb_key.blank?
43
-
43
+
44
44
  # Get breadcrumb set by the `breadcrumb` method
45
- crumb = Gretel::Crumb.new(@_breadcrumb_key, *@_breadcrumb_args)
45
+ crumb = Gretel::Crumb.new(self, @_breadcrumb_key, *@_breadcrumb_args)
46
46
 
47
47
  # Links of first crumb
48
48
  links = crumb.links.dup
@@ -53,8 +53,8 @@ module Gretel
53
53
  end
54
54
 
55
55
  # Handle autoroot
56
- if options[:autoroot] && links.map(&:key).exclude?(:root)
57
- links.unshift *Gretel::Crumb.new(:root).links
56
+ if options[:autoroot] && links.map(&:key).exclude?(:root) && Gretel::Crumbs.crumb_defined?(:root)
57
+ links.unshift *Gretel::Crumb.new(self, :root).links
58
58
  end
59
59
 
60
60
  # Handle show root alone
@@ -86,7 +86,7 @@ module Gretel
86
86
  content_tag(:div, html, :id => options[:id], :class => options[:class])
87
87
  end
88
88
 
89
- # Renders HTML for at breadcrumb fragment, i.e. a breadcrumb link.
89
+ # Renders HTML for a breadcrumb fragment, i.e. a breadcrumb link.
90
90
  def render_breadcrumb_fragment(text, url, semantic, options = {})
91
91
  if semantic
92
92
  if url.present?
@@ -110,7 +110,7 @@ module Gretel
110
110
  { :pretext => "",
111
111
  :posttext => "",
112
112
  :separator => " &gt; ",
113
- :autoroot => false,
113
+ :autoroot => true,
114
114
  :show_root_alone => false,
115
115
  :link_current => false,
116
116
  :semantic => false,
@@ -119,4 +119,4 @@ module Gretel
119
119
  :id => nil }
120
120
  end
121
121
  end
122
- end
122
+ end
@@ -1,2 +1,5 @@
1
1
  module ApplicationHelper
2
+ def times_two(text)
3
+ text * 2
4
+ end
2
5
  end
@@ -45,12 +45,12 @@ Gretel::Crumbs.layout do
45
45
  link Proc.new { "Name from proc" }, Proc.new { "URL from proc" }
46
46
  end
47
47
 
48
- crumb :with_multiple_params do |a, b, c|
48
+ crumb :with_multiple_arguments do |a, b, c|
49
49
  link "#{a} and #{b} and #{c}", contact_path
50
- parent :parent_with_multiple_params, a * 2, b * 2, c * 2
50
+ parent :parent_with_multiple_arguments, a * 2, b * 2, c * 2
51
51
  end
52
52
 
53
- crumb :parent_with_multiple_params do |d, e, f|
53
+ crumb :parent_with_multiple_arguments do |d, e, f|
54
54
  link "First #{d} then #{e} then #{f}", about_path
55
55
  end
56
56
 
@@ -61,4 +61,17 @@ Gretel::Crumbs.layout do
61
61
  crumb :with_safe_html do
62
62
  link "Test <strong>bold text</strong>".html_safe, about_path
63
63
  end
64
+
65
+ crumb :without_link do
66
+ link "Without link"
67
+ parent :parent_without_link
68
+ end
69
+
70
+ crumb :parent_without_link do
71
+ link "Also without link"
72
+ end
73
+
74
+ crumb :using_view_helper do
75
+ link times_two("Test"), about_path
76
+ end
64
77
  end
@@ -3,10 +3,11 @@ require 'test_helper'
3
3
  class HelperMethodsTest < ActionView::TestCase
4
4
  include Gretel::ViewHelpers
5
5
  fixtures :all
6
+ helper :application
6
7
 
7
8
  test "shows basic breadcrumb" do
8
9
  breadcrumb :basic
9
- assert_equal %{<div class="breadcrumbs"><span class="current">About</span></div>},
10
+ assert_equal %{<div class="breadcrumbs"><a href="/">Home</a> &gt; <span class="current">About</span></div>},
10
11
  breadcrumbs
11
12
  end
12
13
 
@@ -18,31 +19,31 @@ class HelperMethodsTest < ActionView::TestCase
18
19
 
19
20
  test "shows breadcrumb with parent" do
20
21
  breadcrumb :with_parent
21
- assert_equal %{<div class="breadcrumbs"><a href="/about">About</a> &gt; <span class="current">Contact</span></div>},
22
+ assert_equal %{<div class="breadcrumbs"><a href="/">Home</a> &gt; <a href="/about">About</a> &gt; <span class="current">Contact</span></div>},
22
23
  breadcrumbs
23
24
  end
24
25
 
25
26
  test "shows breadcrumb with autopath" do
26
27
  breadcrumb :with_autopath, projects(:one)
27
- assert_equal %{<div class="breadcrumbs"><span class="current">Test Project</span></div>},
28
+ assert_equal %{<div class="breadcrumbs"><a href="/">Home</a> &gt; <span class="current">Test Project</span></div>},
28
29
  breadcrumbs
29
30
  end
30
31
 
31
32
  test "shows breadcrumb with parent object" do
32
33
  breadcrumb :with_parent_object, issues(:one)
33
- assert_equal %{<div class="breadcrumbs"><a href="/projects/1">Test Project</a> &gt; <span class="current">Test Issue</span></div>},
34
+ assert_equal %{<div class="breadcrumbs"><a href="/">Home</a> &gt; <a href="/projects/1">Test Project</a> &gt; <span class="current">Test Issue</span></div>},
34
35
  breadcrumbs
35
36
  end
36
37
 
37
38
  test "shows multiple links" do
38
39
  breadcrumb :multiple_links
39
- assert_equal %{<div class="breadcrumbs"><a href="/about/contact">Contact</a> &gt; <span class="current">Contact form</span></div>},
40
+ assert_equal %{<div class="breadcrumbs"><a href="/">Home</a> &gt; <a href="/about/contact">Contact</a> &gt; <span class="current">Contact form</span></div>},
40
41
  breadcrumbs
41
42
  end
42
43
 
43
44
  test "shows multiple links with parent" do
44
45
  breadcrumb :multiple_links_with_parent
45
- assert_equal %{<div class="breadcrumbs"><a href="/about">About</a> &gt; <a href="/about/contact">Contact</a> &gt; <span class="current">Contact form</span></div>},
46
+ assert_equal %{<div class="breadcrumbs"><a href="/">Home</a> &gt; <a href="/about">About</a> &gt; <a href="/about/contact">Contact</a> &gt; <span class="current">Contact form</span></div>},
46
47
  breadcrumbs
47
48
  end
48
49
 
@@ -52,6 +53,17 @@ class HelperMethodsTest < ActionView::TestCase
52
53
  breadcrumbs(:semantic => true)
53
54
  end
54
55
 
56
+ test "doesn't show root alone" do
57
+ breadcrumb :root
58
+ assert_equal "", breadcrumbs
59
+ end
60
+
61
+ test "shows root alone" do
62
+ breadcrumb :root
63
+ assert_equal %{<div class="breadcrumbs"><span class="current">Home</span></div>},
64
+ breadcrumbs(:show_root_alone => true)
65
+ end
66
+
55
67
  test "shows no breadcrumb" do
56
68
  assert_equal "", breadcrumbs
57
69
  end
@@ -64,20 +76,20 @@ class HelperMethodsTest < ActionView::TestCase
64
76
 
65
77
  test "shows pretext" do
66
78
  breadcrumb :basic
67
- assert_equal %{<div class="breadcrumbs">You are here: <span class="current">About</span></div>},
79
+ assert_equal %{<div class="breadcrumbs">You are here: <a href="/">Home</a> &gt; <span class="current">About</span></div>},
68
80
  breadcrumbs(:pretext => "You are here: ")
69
81
  end
70
82
 
71
83
  test "shows posttext" do
72
84
  breadcrumb :basic
73
- assert_equal %{<div class="breadcrumbs"><span class="current">About</span> - text after breadcrumbs</div>},
85
+ assert_equal %{<div class="breadcrumbs"><a href="/">Home</a> &gt; <span class="current">About</span> - text after breadcrumbs</div>},
74
86
  breadcrumbs(:posttext => " - text after breadcrumbs")
75
87
  end
76
88
 
77
- test "shows autoroot" do
89
+ test "autoroot disabled" do
78
90
  breadcrumb :basic
79
- assert_equal %{<div class="breadcrumbs"><a href="/">Home</a> &gt; <span class="current">About</span></div>},
80
- breadcrumbs(:autoroot => true)
91
+ assert_equal %{<div class="breadcrumbs"><span class="current">About</span></div>},
92
+ breadcrumbs(:autoroot => false)
81
93
  end
82
94
 
83
95
  test "shows separator" do
@@ -88,38 +100,77 @@ class HelperMethodsTest < ActionView::TestCase
88
100
 
89
101
  test "shows element id" do
90
102
  breadcrumb :basic
91
- assert_equal %{<div class="breadcrumbs" id="custom_id"><span class="current">About</span></div>},
103
+ assert_equal %{<div class="breadcrumbs" id="custom_id"><a href="/">Home</a> &gt; <span class="current">About</span></div>},
92
104
  breadcrumbs(:id => "custom_id")
93
105
  end
94
106
 
107
+ test "shows custom container class" do
108
+ breadcrumb :basic
109
+ assert_equal %{<div class="custom_class"><a href="/">Home</a> &gt; <span class="current">About</span></div>},
110
+ breadcrumbs(:class => "custom_class")
111
+ end
112
+
113
+ test "shows custom current class" do
114
+ breadcrumb :basic
115
+ assert_equal %{<div class="breadcrumbs"><a href="/">Home</a> &gt; <span class="custom_current_class">About</span></div>},
116
+ breadcrumbs(:current_class => "custom_current_class")
117
+ end
118
+
95
119
  test "unsafe html" do
96
120
  breadcrumb :with_unsafe_html
97
- assert_equal %{<div class="breadcrumbs"><span class="current">Test &lt;strong&gt;bold text&lt;/strong&gt;</span></div>},
121
+ assert_equal %{<div class="breadcrumbs"><a href="/">Home</a> &gt; <span class="current">Test &lt;strong&gt;bold text&lt;/strong&gt;</span></div>},
98
122
  breadcrumbs
99
123
  end
100
124
 
101
125
  test "safe html" do
102
126
  breadcrumb :with_safe_html
103
- assert_equal %{<div class="breadcrumbs"><span class="current">Test <strong>bold text</strong></span></div>},
127
+ assert_equal %{<div class="breadcrumbs"><a href="/">Home</a> &gt; <span class="current">Test <strong>bold text</strong></span></div>},
104
128
  breadcrumbs
105
129
  end
106
130
 
107
131
  test "works with legacy breadcrumb rendering method" do
108
132
  breadcrumb :basic
109
- assert_equal %{<div class="breadcrumbs"><span class="current">About</span></div>},
133
+ assert_equal %{<div class="breadcrumbs"><a href="/">Home</a> &gt; <span class="current">About</span></div>},
110
134
  breadcrumb
111
135
  end
112
136
 
113
137
  test "yields a block containing breadcrumb links array" do
114
138
  breadcrumb :multiple_links_with_parent
115
139
 
116
- out = nil # Needs to be defined here to be set inside block
140
+ out = nil # Needs to be defined here to be set inside block and then accessed outside
117
141
  breadcrumbs do |links|
118
142
  out = links.map { |link| [link.key, link.text, link.url] }
119
143
  end
120
144
 
121
- assert_equal [[:basic, "About", "/about"],
145
+ assert_equal [[:root, "Home", "/"],
146
+ [:basic, "About", "/about"],
122
147
  [:multiple_links_with_parent, "Contact", "/about/contact"],
123
148
  [:multiple_links_with_parent, "Contact form", "/about/contact/form"]], out
124
149
  end
150
+
151
+ test "without link" do
152
+ breadcrumb :without_link
153
+ assert_equal %{<div class="breadcrumbs"><a href="/">Home</a> &gt; Also without link &gt; <span class="current">Without link</span></div>},
154
+ breadcrumbs
155
+ end
156
+
157
+ test "view context" do
158
+ breadcrumb :using_view_helper
159
+ assert_equal %{<div class="breadcrumbs"><a href="/">Home</a> &gt; <span class="current">TestTest</span></div>},
160
+ breadcrumbs
161
+ end
162
+
163
+ test "multiple arguments" do
164
+ breadcrumb :with_multiple_arguments, "One", "Two", "Three"
165
+ assert_equal %{<div class="breadcrumbs"><a href="/">Home</a> &gt; <a href="/about">First OneOne then TwoTwo then ThreeThree</a> &gt; <span class="current">One and Two and Three</span></div>},
166
+ breadcrumb
167
+ end
168
+
169
+ test "calling breadcrumbs helper twice" do
170
+ breadcrumb :with_parent
171
+ 2.times do
172
+ assert_equal %{<div class="breadcrumbs"><a href="/">Home</a> &gt; <a href="/about">About</a> &gt; <span class="current">Contact</span></div>},
173
+ breadcrumbs
174
+ end
175
+ end
125
176
  end
metadata CHANGED
@@ -1,15 +1,15 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: gretel
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.0.0.beta1
5
- prerelease: 6
4
+ version: 2.0.0
5
+ prerelease:
6
6
  platform: ruby
7
7
  authors:
8
8
  - Lasse Bunk
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2013-02-10 00:00:00.000000000 Z
12
+ date: 2013-02-25 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: rails
@@ -125,13 +125,16 @@ required_ruby_version: !ruby/object:Gem::Requirement
125
125
  version: '0'
126
126
  segments:
127
127
  - 0
128
- hash: -511168212548034673
128
+ hash: -3983291336719230651
129
129
  required_rubygems_version: !ruby/object:Gem::Requirement
130
130
  none: false
131
131
  requirements:
132
- - - ! '>'
132
+ - - ! '>='
133
133
  - !ruby/object:Gem::Version
134
- version: 1.3.1
134
+ version: '0'
135
+ segments:
136
+ - 0
137
+ hash: -3983291336719230651
135
138
  requirements: []
136
139
  rubyforge_project:
137
140
  rubygems_version: 1.8.25