gretel 3.0.1 → 3.0.2

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: b35944b5de1eba707a9be4b26bc73f5bdc0716fe
4
- data.tar.gz: c36db3b340cc0e3a992c0ed4c7f001cea361e594
3
+ metadata.gz: b3e002fa0feb5ee917e81324762d2d48274e7e35
4
+ data.tar.gz: 16338b4f9d61b4e689ec73c7e4d6bf34152aba11
5
5
  SHA512:
6
- metadata.gz: 0de7bbe764ebedc259521e875dbbfbcaf99de5cef1f71d8240a207366ae5ee1204cd9a61e57cf3739aa97189a6d59a6d0a7acd76d415ea685457c3e667fd5fff
7
- data.tar.gz: a1e5792570f980b9a67aba3e25498844c6b1df043ebe9d72ac13333f0937070090b4f6bebe8937778ebc10f710e3995ee1af69f1cc18322e8d9d46a6c35b93da
6
+ metadata.gz: ae5738c15905088b11940343d2bfdcb4fa9df67cb999038a9df5334b78caf8db3b9c78c8941f74fb7c38fc991c50cc4f6da80990e98bcc201dbe72a05cac4c9e
7
+ data.tar.gz: f5571a9bf4caa6df4d4569c90667aeaab7e8e19d5c8d5f456516afffe1d97cdbe45689487654b8f31c024c0565e90b95c85e8449fc3ec5527d2517ba36aa06d1
@@ -1,12 +1,12 @@
1
- Changelog
2
- =========
1
+ # Changelog
3
2
 
4
- Version 3.0.1
5
- -------------
3
+ ## Version 3.0.2
4
+ * Inferring breadcrumbs is now supported on all instances of objects that respond to `model_name`.
5
+
6
+ ## Version 3.0.1
6
7
  * Breadcrumbs can now be inferred if you pass in an ActiveRecord model instance. E.g. `breadcrumb @product` is short for `breadcrumb :product, @product`.
7
8
 
8
- Version 3.0
9
- -----------
9
+ # Version 3.0
10
10
  * Support for defining breadcrumbs using `Gretel::Crumbs.layout do ... end` in an initializer has been removed. See the readme for details on how to upgrade.
11
11
  * Breadcrumbs rendering is now done in a separate class to unclutter the view with helpers. The public API is still the same.
12
12
  * Support for rendering the breadcrumbs in different styles like ul- and ol lists, and for use with [Twitter Bootstrap](http://getbootstrap.com/). See the `:style` option in the readme for more info.
@@ -15,12 +15,10 @@ Version 3.0
15
15
  * New view helper: `parent_breadcrumb` returns the parent breadcrumb link (with `#key`, `#text`, and `#url`). This can for example be used to create a dynamic back link. You can supply options like `:autoroot` etc.
16
16
  If you supply a block, it will yield the parent breadcrumb if it is present.
17
17
 
18
- Version 2.1
19
- -----------
18
+ # Version 2.1
20
19
  * Breadcrumbs are now configured in `config/breadcrumbs.rb` and `config/breadcrumbs/**/*.rb` and reloaded when changed in the development environment instead of the initializer that required restart when configuration changed.
21
20
 
22
- Version 2.0
23
- -----------
21
+ # Version 2.0
24
22
 
25
23
  * Totally rewritten for better structure.
26
24
  * `options[:autoroot]` is now `true` by default which means it will automatically link to the `:root` breadcrumb if no parent is specified.
data/README.md CHANGED
@@ -18,7 +18,7 @@ Have fun! And please do write, if you (dis)like it – [lassebunk@gmail.com](mai
18
18
  * New view helper: `parent_breadcrumb` returns the parent breadcrumb link (with `#key`, `#text`, and `#url`). This can for example be used to create a dynamic back link.
19
19
  You can supply options like `:autoroot` etc.
20
20
  If you supply a block, it will yield the parent breadcrumb if it is present.
21
- * Breadcrumbs can now be inferred if you pass in an ActiveRecord model instance. E.g. `breadcrumb @product` is short for `breadcrumb :product, @product`.
21
+ * Breadcrumbs can now be inferred if you pass in an instance of an object that responds to `model_name` (like an ActiveRecord model instance). E.g. `breadcrumb @product` is short for `breadcrumb :product, @product`.
22
22
 
23
23
 
24
24
  I hope you find these changes as useful as I did – if you have more suggestions, please create an [Issue](https://github.com/lassebunk/gretel/issues) or [Pull Request](https://github.com/lassebunk/gretel/pulls).
@@ -256,10 +256,19 @@ The format is the same as `config/breadcrumbs.rb` which is also loaded.
256
256
 
257
257
  ### Inferring breadcrumbs
258
258
 
259
- Breadcrumbs can be automatically inferred if you pass in an ActiveRecord model instance.
259
+ Breadcrumbs can be automatically inferred if you pass an instance of an object that responds to `model_name` (like an ActiveRecord model instance).
260
260
 
261
- For example `breadcrumb @product` is short for `breadcrumb :product, @product`.
261
+ For example:
262
262
 
263
+ ```erb
264
+ <% breadcrumb @product %>
265
+ ```
266
+
267
+ is short for
268
+
269
+ ```erb
270
+ <% breadcrumb :product, @product %>
271
+ ```
263
272
 
264
273
  ### Automatic reloading of breadcrumb configuration files
265
274
 
@@ -1,3 +1,3 @@
1
1
  module Gretel
2
- VERSION = "3.0.1"
2
+ VERSION = "3.0.2"
3
3
  end
@@ -1,13 +1,16 @@
1
1
  module Gretel
2
2
  module ViewHelpers
3
3
  # Sets the current breadcrumb to be rendered elsewhere. Put it somewhere in the view, preferably in the top, before you render any breadcrumbs HTML:
4
- # <%
5
- # breadcrumb :category, @category
6
- # %>
4
+ #
5
+ # <% breadcrumb :category, @category %>
6
+ #
7
+ # If you pass an instance of an object that responds to +model_name+ (like an ActiveRecord model instance), the breadcrumb can be automatically inferred, so a shortcut for the above would be:
8
+ #
9
+ # <% breadcrumb @category %>
7
10
  def breadcrumb(key = nil, *args)
8
11
  if key.nil? || key.is_a?(Hash)
9
12
  raise ArgumentError, "The `breadcrumb` method was called with #{key.inspect} as the key. This method is used to set the breadcrumb. Maybe you meant to call the `breadcrumbs` method (with an 's' in the end) which is used to render the breadcrumbs?"
10
- elsif key.is_a?(ActiveRecord::Base)
13
+ elsif key.class.respond_to?(:model_name)
11
14
  # Enables calling `breadcrumb @product` instead of `breadcrumb :product, @product`
12
15
  args.unshift key
13
16
  key = key.class.model_name.to_s.underscore.to_sym
@@ -54,6 +57,10 @@ module Gretel
54
57
  end
55
58
 
56
59
  # Returns or yields parent breadcrumb (second-to-last in the trail) if it is present.
60
+ #
61
+ # <% parent_breadcrumb do |link| %>
62
+ # <%= link_to link.text, link.url %> (<%= link.key %>)
63
+ # <% end %>
57
64
  def parent_breadcrumb(options = {}, &block)
58
65
  if block_given?
59
66
  gretel_renderer.yield_parent_breadcrumb(options, &block)
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: gretel
3
3
  version: !ruby/object:Gem::Version
4
- version: 3.0.1
4
+ version: 3.0.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Lasse Bunk
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2013-11-15 00:00:00.000000000 Z
11
+ date: 2013-11-19 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rails