xebec 2.5.2 → 2.6.0

Sign up to get free protection for your applications and to get access to all the features.
data/VERSION CHANGED
@@ -1 +1 @@
1
- 2.5.2
1
+ 2.6.0
@@ -15,14 +15,14 @@ module Xebec
15
15
  # @param [Symbol, String] name the name of the navigation bar to look up
16
16
  # @param [Hash] html_attributes additional HTML attributes to add to the
17
17
  # navigation bar
18
- def look_up_nav_bar_and_eval(name = nil, html_attributes = {}, &block)
18
+ def look_up_nav_bar_and_eval(name = nil, html_attributes = {}, options = {}, &block)
19
19
  name ||= Xebec::NavBar::DEFAULT_NAME
20
- look_up_nav_bar(name, html_attributes).tap do |bar|
20
+ look_up_nav_bar(name, html_attributes, options).tap do |bar|
21
21
  block.bind(self).call(bar) if block_given?
22
22
  end
23
23
  end
24
24
 
25
- def look_up_nav_bar(name, html_attributes)
25
+ def look_up_nav_bar(name, html_attributes, options = {})
26
26
  (nav_bars[name] ||= NavBar.new(name, html_attributes)).tap do |bar|
27
27
  bar.html_attributes.merge!(html_attributes)
28
28
  end
@@ -31,8 +31,8 @@ module Xebec
31
31
  # @see Xebec::HasNavBars#nav_bar
32
32
  #
33
33
  # @return [Xebec::NavBarRenderer]
34
- def nav_bar(name = nil, html_attributes = {}, &block)
35
- look_up_nav_bar_and_eval name, html_attributes, &block
34
+ def nav_bar(name = nil, html_attributes = {}, options = {}, &block)
35
+ look_up_nav_bar_and_eval name, html_attributes, options, &block
36
36
  end
37
37
 
38
38
  # Renders a navigation bar if and only if it contains any
@@ -63,10 +63,11 @@ EOS
63
63
 
64
64
  # Override HasNavBars#look_up_nav_bar to replace with a
65
65
  # renderer if necessary.
66
- def look_up_nav_bar(name, html_attributes)
66
+ def look_up_nav_bar(name, html_attributes, options = {})
67
67
  bar = super(name, html_attributes)
68
68
  if bar.kind_of?(Xebec::NavBar)
69
- bar = nav_bars[bar.name] = Xebec::renderer_class.new(bar, self)
69
+ renderer_class = options[:renderer_class] || Xebec::renderer_class
70
+ bar = nav_bars[bar.name] = renderer_class.new(bar, self)
70
71
  end
71
72
  bar
72
73
  end
@@ -45,7 +45,7 @@ module Xebec
45
45
  helper.content_tag(*list_tag) do
46
46
  bar.items.map do |item|
47
47
  render_nav_item item
48
- end
48
+ end.join("")
49
49
  end
50
50
  end
51
51
  end
@@ -25,6 +25,18 @@ class NavBarHelperTest < Test::Unit::TestCase
25
25
  Xebec::renderer_class = @old_renderer_class
26
26
  end
27
27
  end
28
+
29
+ should 'use a custom renderer class if one is passed in' do
30
+ begin
31
+ @old_renderer_class = Xebec::renderer_class
32
+ klass = Class.new do
33
+ def initialize(*args, &block); end;
34
+ end
35
+ assert @helper.nav_bar(nil, {}, :renderer_class => klass).kind_of?(klass)
36
+ ensure
37
+ Xebec::renderer_class = @old_renderer_class
38
+ end
39
+ end
28
40
 
29
41
  should 'return a NavBar with the given name' do
30
42
  assert_equal :snacks, @helper.nav_bar(:snacks).name
@@ -11,7 +11,7 @@ require 'action_controller/test_process'
11
11
 
12
12
  begin
13
13
  require 'redgreen/unicode'
14
- rescue
14
+ rescue MissingSourceFile
15
15
  require 'redgreen'
16
16
  end
17
17
 
@@ -1,15 +1,15 @@
1
1
  # Generated by jeweler
2
- # DO NOT EDIT THIS FILE
3
- # Instead, edit Jeweler::Tasks in Rakefile, and run `rake gemspec`
2
+ # DO NOT EDIT THIS FILE DIRECTLY
3
+ # Instead, edit Jeweler::Tasks in Rakefile, and run the gemspec command
4
4
  # -*- encoding: utf-8 -*-
5
5
 
6
6
  Gem::Specification.new do |s|
7
7
  s.name = %q{xebec}
8
- s.version = "2.5.2"
8
+ s.version = "2.6.0"
9
9
 
10
10
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
11
  s.authors = ["James A. Rosen"]
12
- s.date = %q{2010-04-01}
12
+ s.date = %q{2010-06-04}
13
13
  s.description = %q{Helpers for generating navigation bars}
14
14
  s.email = %q{james.a.rosen@gmail.com}
15
15
  s.extra_rdoc_files = [
@@ -104,3 +104,4 @@ Gem::Specification.new do |s|
104
104
  s.add_dependency(%q<redgreen>, ["~> 1.2.2"])
105
105
  end
106
106
  end
107
+
metadata CHANGED
@@ -4,9 +4,9 @@ version: !ruby/object:Gem::Version
4
4
  prerelease: false
5
5
  segments:
6
6
  - 2
7
- - 5
8
- - 2
9
- version: 2.5.2
7
+ - 6
8
+ - 0
9
+ version: 2.6.0
10
10
  platform: ruby
11
11
  authors:
12
12
  - James A. Rosen
@@ -14,7 +14,7 @@ autorequire:
14
14
  bindir: bin
15
15
  cert_chain: []
16
16
 
17
- date: 2010-04-01 00:00:00 -04:00
17
+ date: 2010-06-04 00:00:00 -04:00
18
18
  default_executable:
19
19
  dependencies:
20
20
  - !ruby/object:Gem::Dependency