xebec 2.1.0 → 2.2.0
Sign up to get free protection for your applications and to get access to all the features.
- data/.gitignore +0 -1
- data/VERSION +1 -1
- data/developer_tasks/gem.rake +2 -2
- data/doc/example_app/app/controllers/application_controller.rb +0 -3
- data/lib/xebec.rb +9 -0
- data/lib/xebec/nav_bar_helper.rb +6 -6
- data/lib/xebec/{nav_bar_proxy.rb → nav_bar_renderer.rb} +13 -7
- data/lib/xebec/web_app_theme_renderer.rb +22 -0
- data/rails/init.rb +7 -0
- data/test/nav_bar_helper_test.rb +3 -3
- data/test/{nav_bar_proxy_test.rb → nav_bar_renderer_test.rb} +26 -26
- data/test/web_app_theme_renderer_test.rb +24 -0
- data/xebec.gemspec +103 -0
- metadata +9 -5
data/.gitignore
CHANGED
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
2.
|
1
|
+
2.2.0
|
data/developer_tasks/gem.rake
CHANGED
@@ -18,9 +18,9 @@ namespace :gem do
|
|
18
18
|
puts "Jeweler not available. Install it with [sudo] gem install jeweler -s http://gemscutter.org"
|
19
19
|
end
|
20
20
|
|
21
|
-
task :push do
|
21
|
+
task :push => 'gem:build' do
|
22
22
|
command = ('gem push')
|
23
|
-
command << " -p $#{ENV['http_proxy']}" if ENV['http_proxy']
|
23
|
+
command << " -p $#{ENV['http_proxy']}" if ENV['http_proxy'] && !ENV['http_proxy'].empty?
|
24
24
|
command << " #{latest_gem}"
|
25
25
|
puts "Pushing gem..."
|
26
26
|
IO.popen(command) { |io| io.each { |line| puts ' ' + line } }
|
@@ -2,9 +2,6 @@
|
|
2
2
|
# many features of Xebec.
|
3
3
|
class ApplicationController < ActionController::Base
|
4
4
|
|
5
|
-
# Add Xebec's view helper methods:
|
6
|
-
helper Xebec::NavBarHelper
|
7
|
-
|
8
5
|
# If you prefer to declare your navigation in your
|
9
6
|
# controllers, start by including Xebec's controller support:
|
10
7
|
include Xebec::ControllerSupport
|
data/lib/xebec.rb
CHANGED
@@ -1,3 +1,5 @@
|
|
1
|
+
require 'xebec/nav_bar_renderer'
|
2
|
+
|
1
3
|
module Xebec
|
2
4
|
|
3
5
|
class <<self
|
@@ -6,8 +8,15 @@ module Xebec
|
|
6
8
|
# "active." Defaults to "current."
|
7
9
|
attr_accessor :currently_selected_nav_item_class
|
8
10
|
|
11
|
+
# The navigation bar renderer class. Defaults to
|
12
|
+
# Xebec::NavBarRenderer
|
13
|
+
#
|
14
|
+
# @see Xebec::NavBarRenderer
|
15
|
+
attr_accessor :renderer_class
|
16
|
+
|
9
17
|
end
|
10
18
|
self.currently_selected_nav_item_class = :current
|
19
|
+
self.renderer_class = Xebec::NavBarRenderer
|
11
20
|
|
12
21
|
autoload :NavBarHelper, 'xebec/nav_bar_helper'
|
13
22
|
autoload :ControllerSupport, 'xebec/controller_support'
|
data/lib/xebec/nav_bar_helper.rb
CHANGED
@@ -1,5 +1,5 @@
|
|
1
1
|
require 'xebec/nav_bar'
|
2
|
-
require 'xebec/
|
2
|
+
require 'xebec/nav_bar_renderer'
|
3
3
|
require 'xebec/has_nav_bars'
|
4
4
|
|
5
5
|
module Xebec
|
@@ -16,7 +16,7 @@ module Xebec
|
|
16
16
|
# <%= navbar :tabs %>
|
17
17
|
# # => <ul class="navbar tabs">...</ul>
|
18
18
|
#
|
19
|
-
# @see Xebec::
|
19
|
+
# @see Xebec::NavBarRenderer#to_s
|
20
20
|
#
|
21
21
|
# If called with a block, yields the underlying NavBar for
|
22
22
|
# modification.
|
@@ -30,7 +30,7 @@ module Xebec
|
|
30
30
|
# @see Xebec::NavBar#nav_item
|
31
31
|
# @see Xebec::HasNavBars#nav_bar
|
32
32
|
#
|
33
|
-
# @return [Xebec::
|
33
|
+
# @return [Xebec::NavBarRenderer]
|
34
34
|
def nav_bar(name = nil, html_attributes = {}, &block)
|
35
35
|
look_up_nav_bar_and_eval name, html_attributes, &block
|
36
36
|
end
|
@@ -39,7 +39,7 @@ module Xebec
|
|
39
39
|
# navigation items. Unlike +nav_bar+, this method does not
|
40
40
|
# accept a block.
|
41
41
|
#
|
42
|
-
# @return [String, Xebec::
|
42
|
+
# @return [String, Xebec::NavBarRenderer]
|
43
43
|
def nav_bar_unless_empty(name = nil, html_attributes = {})
|
44
44
|
bar = look_up_nav_bar name, html_attributes
|
45
45
|
bar.empty? ? '' : bar
|
@@ -62,11 +62,11 @@ EOS
|
|
62
62
|
protected
|
63
63
|
|
64
64
|
# Override HasNavBars#look_up_nav_bar to replace with a
|
65
|
-
#
|
65
|
+
# renderer if necessary.
|
66
66
|
def look_up_nav_bar(name, html_attributes)
|
67
67
|
bar = super(name, html_attributes)
|
68
68
|
if bar.kind_of?(Xebec::NavBar)
|
69
|
-
bar = nav_bars[bar.name] =
|
69
|
+
bar = nav_bars[bar.name] = NavBarRenderer.new(bar, self)
|
70
70
|
end
|
71
71
|
bar
|
72
72
|
end
|
@@ -3,15 +3,15 @@ require 'xebec/html5'
|
|
3
3
|
|
4
4
|
module Xebec
|
5
5
|
|
6
|
-
# A
|
6
|
+
# A renderer for a Xebec::NavBar that knows how to turn the NavBar
|
7
7
|
# into an HTML list using ActionView helper methods.
|
8
|
-
class
|
8
|
+
class NavBarRenderer
|
9
9
|
|
10
|
-
# Create a new NavBar
|
10
|
+
# Create a new NavBar renderer object. The renderer will pass all
|
11
11
|
# methods on to the NavBar except for +to_s+, which will
|
12
12
|
# render the NavBar as an HTML list.
|
13
13
|
#
|
14
|
-
# @param [Xebec::NavBar] bar the navigation bar to
|
14
|
+
# @param [Xebec::NavBar] bar the navigation bar to renderer
|
15
15
|
# @param [#tag AND #content_tag AND #link_to] helper the ActionView helper
|
16
16
|
def initialize(bar, helper)
|
17
17
|
raise ArgumentError.new("#{bar || '<nil>'} is not a NavBar") unless bar.kind_of?(NavBar)
|
@@ -37,12 +37,12 @@ module Xebec
|
|
37
37
|
# defined, use that value
|
38
38
|
# * else, use <tt>nav_item.name.titleize</tt>
|
39
39
|
def to_s
|
40
|
-
root_element, options = *
|
40
|
+
root_element, options = *root_navbar_tag
|
41
41
|
if bar.empty?
|
42
42
|
helper.tag(root_element, options, false)
|
43
43
|
else
|
44
44
|
helper.content_tag(root_element, options) do
|
45
|
-
helper.content_tag
|
45
|
+
helper.content_tag(*list_tag) do
|
46
46
|
bar.items.map do |item|
|
47
47
|
render_nav_item item
|
48
48
|
end
|
@@ -69,7 +69,7 @@ module Xebec
|
|
69
69
|
|
70
70
|
attr_reader :bar, :helper
|
71
71
|
|
72
|
-
def
|
72
|
+
def root_navbar_tag
|
73
73
|
html_attributes = bar.html_attributes
|
74
74
|
html_attributes[:class] ||= ''
|
75
75
|
(html_attributes[:class] << " #{bar.name}").strip!
|
@@ -81,6 +81,12 @@ module Xebec
|
|
81
81
|
end
|
82
82
|
end
|
83
83
|
|
84
|
+
# @return the first two arguments to a <tt>content_tag</tt> call --
|
85
|
+
# the name and HTML properties of the tag
|
86
|
+
def list_tag
|
87
|
+
return :ul, {}
|
88
|
+
end
|
89
|
+
|
84
90
|
def render_nav_item(item)
|
85
91
|
text = text_for_nav_item item
|
86
92
|
href = href_for_nav_item item
|
@@ -0,0 +1,22 @@
|
|
1
|
+
require 'xebec/nav_bar_renderer'
|
2
|
+
|
3
|
+
module Xebec
|
4
|
+
|
5
|
+
# Replaces the default Xebec::NavBarRenderer with a version
|
6
|
+
# that includes the CSS classes used by WebAppThemes.
|
7
|
+
#
|
8
|
+
# @see Xebec::NavBarRenderer
|
9
|
+
# @see http://github.com/pilu/web-app-theme
|
10
|
+
class WebAppThemeRenderer < ::Xebec::NavBarRenderer
|
11
|
+
|
12
|
+
protected
|
13
|
+
|
14
|
+
def list_tag
|
15
|
+
return :ul, :class => 'wat-cf'
|
16
|
+
end
|
17
|
+
|
18
|
+
end
|
19
|
+
|
20
|
+
end
|
21
|
+
|
22
|
+
Xebec::renderer_class = Xebec::WebAppThemeRenderer
|
data/rails/init.rb
CHANGED
data/test/nav_bar_helper_test.rb
CHANGED
@@ -9,8 +9,8 @@ class NavBarHelperTest < Test::Unit::TestCase
|
|
9
9
|
@helper = new_nav_bar_helper
|
10
10
|
end
|
11
11
|
|
12
|
-
should 'return a NavBar
|
13
|
-
assert @helper.nav_bar.kind_of?(Xebec::
|
12
|
+
should 'return a NavBar renderer' do
|
13
|
+
assert @helper.nav_bar.kind_of?(Xebec::NavBarRenderer)
|
14
14
|
end
|
15
15
|
|
16
16
|
should 'return a NavBar with the given name' do
|
@@ -39,7 +39,7 @@ class NavBarHelperTest < Test::Unit::TestCase
|
|
39
39
|
end
|
40
40
|
end
|
41
41
|
|
42
|
-
should "yield the NavBar
|
42
|
+
should "yield the NavBar renderer to the given block" do
|
43
43
|
bar = @helper.nav_bar
|
44
44
|
bar.expects :zoink!
|
45
45
|
@helper.nav_bar do |nb|
|
@@ -1,58 +1,58 @@
|
|
1
1
|
require File.join(File.dirname(__FILE__), 'test_helper')
|
2
2
|
require 'xebec'
|
3
3
|
|
4
|
-
class
|
4
|
+
class NavBarRendererTest < Test::Unit::TestCase
|
5
5
|
|
6
|
-
context 'creating a NavBar
|
6
|
+
context 'creating a NavBar renderer' do
|
7
7
|
should 'require a NavBar' do
|
8
8
|
assert_raises(ArgumentError) do
|
9
|
-
Xebec::
|
9
|
+
Xebec::NavBarRenderer.new('foobar', new_nav_bar_helper)
|
10
10
|
end
|
11
11
|
end
|
12
12
|
should 'require a NavBarHelper' do
|
13
13
|
assert_raises(ArgumentError) do
|
14
|
-
Xebec::
|
14
|
+
Xebec::NavBarRenderer.new(Xebec::NavBar.new, 'baz')
|
15
15
|
end
|
16
16
|
end
|
17
17
|
end
|
18
18
|
|
19
|
-
context 'a NavBar
|
19
|
+
context 'a NavBar renderer' do
|
20
20
|
|
21
21
|
setup do
|
22
22
|
clear_translations!
|
23
23
|
@bar = Xebec::NavBar.new('elephants')
|
24
24
|
@helper = new_nav_bar_helper
|
25
|
-
@
|
25
|
+
@renderer = Xebec::NavBarRenderer.new(@bar, @helper)
|
26
26
|
end
|
27
27
|
|
28
28
|
should 'respond to :name' do
|
29
|
-
assert @
|
29
|
+
assert @renderer.respond_to?(:name)
|
30
30
|
end
|
31
31
|
|
32
32
|
should "return the NavBar's name when sent :name" do
|
33
|
-
assert_equal 'elephants', @
|
33
|
+
assert_equal 'elephants', @renderer.name
|
34
34
|
end
|
35
35
|
|
36
36
|
should 'support additional HTML properties' do
|
37
37
|
@bar.html_attributes.merge!(:id => 'salads-nav')
|
38
|
-
assert_equal({:id => 'salads-nav'}, @
|
39
|
-
assert_select_from @
|
38
|
+
assert_equal({:id => 'salads-nav'}, @renderer.html_attributes)
|
39
|
+
assert_select_from @renderer.to_s, '#salads-nav'
|
40
40
|
end
|
41
41
|
|
42
42
|
should 'not respond to a method that the underlying NavBar does not' do
|
43
|
-
assert !@
|
43
|
+
assert !@renderer.respond_to?(:cromulize)
|
44
44
|
end
|
45
45
|
|
46
46
|
context 'for a browser that supports HTML5' do
|
47
|
-
setup { @
|
47
|
+
setup { @renderer.stubs(:user_agent_supports_html5?).returns(true) }
|
48
48
|
|
49
49
|
should "render a navigation bar with the bar's name" do
|
50
|
-
assert_select_from @
|
50
|
+
assert_select_from @renderer.to_s, "nav.elephants"
|
51
51
|
end
|
52
52
|
|
53
53
|
context 'with an empty NavBar' do
|
54
54
|
should 'render an empty navigation bar' do
|
55
|
-
assert_select_from @
|
55
|
+
assert_select_from @renderer.to_s, 'nav', /$^/
|
56
56
|
end
|
57
57
|
end
|
58
58
|
end
|
@@ -61,12 +61,12 @@ class NavBarProxyTest < Test::Unit::TestCase
|
|
61
61
|
setup { @helper.stubs(:user_agent_supports_html5?).returns(false) }
|
62
62
|
|
63
63
|
should "render a div.navbar the bar's name" do
|
64
|
-
assert_select_from @
|
64
|
+
assert_select_from @renderer.to_s, "div.navbar.elephants"
|
65
65
|
end
|
66
66
|
|
67
67
|
context 'with an empty NavBar' do
|
68
68
|
should 'render an empty navigation bar' do
|
69
|
-
assert_select_from @
|
69
|
+
assert_select_from @renderer.to_s, 'div.navbar', /$^/
|
70
70
|
end
|
71
71
|
end
|
72
72
|
end
|
@@ -77,7 +77,7 @@ class NavBarProxyTest < Test::Unit::TestCase
|
|
77
77
|
@bar.nav_item :foo
|
78
78
|
end
|
79
79
|
should 'render a navigation bar with the appropriate items' do
|
80
|
-
assert_select_from @
|
80
|
+
assert_select_from @renderer.to_s, 'ul' do
|
81
81
|
assert_select 'li' do
|
82
82
|
assert_select 'a[href="/foo"]', 'Foo'
|
83
83
|
end
|
@@ -91,7 +91,7 @@ class NavBarProxyTest < Test::Unit::TestCase
|
|
91
91
|
@bar.current = :foo
|
92
92
|
end
|
93
93
|
should 'render a navigation bar with the item marked as current' do
|
94
|
-
assert_select_from @
|
94
|
+
assert_select_from @renderer.to_s, 'ul' do
|
95
95
|
assert_select 'li.current', 'Foo'
|
96
96
|
end
|
97
97
|
end
|
@@ -101,7 +101,7 @@ class NavBarProxyTest < Test::Unit::TestCase
|
|
101
101
|
Xebec.currently_selected_nav_item_class = 'active'
|
102
102
|
end
|
103
103
|
should 'use the configured CSS class' do
|
104
|
-
assert_select_from @
|
104
|
+
assert_select_from @renderer.to_s, 'ul' do
|
105
105
|
assert_select 'li.active', 'Foo'
|
106
106
|
end
|
107
107
|
end
|
@@ -117,13 +117,13 @@ class NavBarProxyTest < Test::Unit::TestCase
|
|
117
117
|
@bar.current = :baz
|
118
118
|
end
|
119
119
|
should 'render a navigation bar with the item not marked as current' do
|
120
|
-
assert_select_from @
|
120
|
+
assert_select_from @renderer.to_s, 'ul' do
|
121
121
|
assert_select 'li', 'Foo'
|
122
122
|
assert_select 'li.current', { :count => 0, :text=> 'Foo' }
|
123
123
|
end
|
124
124
|
end
|
125
125
|
should 'not render an empty "class" attribute' do
|
126
|
-
assert(!(/class\s*=\s*["']\s*["']/ === @
|
126
|
+
assert(!(/class\s*=\s*["']\s*["']/ === @renderer.to_s))
|
127
127
|
end
|
128
128
|
end
|
129
129
|
|
@@ -132,7 +132,7 @@ class NavBarProxyTest < Test::Unit::TestCase
|
|
132
132
|
@bar.nav_item :foo, 'http://foo.com'
|
133
133
|
end
|
134
134
|
should 'render a navigation bar with the appropriate items' do
|
135
|
-
assert_select_from @
|
135
|
+
assert_select_from @renderer.to_s, 'ul' do
|
136
136
|
assert_select 'li' do
|
137
137
|
assert_select 'a[href="http://foo.com"]', 'Foo'
|
138
138
|
end
|
@@ -147,21 +147,21 @@ class NavBarProxyTest < Test::Unit::TestCase
|
|
147
147
|
@bar.nav_item :sign_up, '/sign_up'
|
148
148
|
end
|
149
149
|
should 'render a non-link navigation item' do
|
150
|
-
assert_select_from @
|
150
|
+
assert_select_from @renderer.to_s, 'ul' do
|
151
151
|
assert_select 'li', 'Home' do
|
152
152
|
assert_select 'a', 0
|
153
153
|
end
|
154
154
|
end
|
155
155
|
end
|
156
156
|
should 'render other items as links' do
|
157
|
-
assert_select_from @
|
157
|
+
assert_select_from @renderer.to_s, 'ul' do
|
158
158
|
assert_select 'li' do
|
159
159
|
assert_select 'a[href="/sign_up"]', 'Sign Up'
|
160
160
|
end
|
161
161
|
end
|
162
162
|
end
|
163
163
|
should 'add the "current" class to the current item' do
|
164
|
-
assert_select_from @
|
164
|
+
assert_select_from @renderer.to_s, 'ul' do
|
165
165
|
assert_select 'li.current', 'Home'
|
166
166
|
end
|
167
167
|
end
|
@@ -174,7 +174,7 @@ class NavBarProxyTest < Test::Unit::TestCase
|
|
174
174
|
@bar.nav_item :foo
|
175
175
|
end
|
176
176
|
should 'render a navigation bar using the internationalized text' do
|
177
|
-
assert_select_from @
|
177
|
+
assert_select_from @renderer.to_s, 'ul' do
|
178
178
|
assert_select 'li' do
|
179
179
|
assert_select 'a', 'My Foos'
|
180
180
|
end
|
@@ -0,0 +1,24 @@
|
|
1
|
+
require File.join(File.dirname(__FILE__), 'test_helper')
|
2
|
+
require 'xebec'
|
3
|
+
require 'xebec/web_app_theme_renderer'
|
4
|
+
|
5
|
+
class WebAppThemeRendererTest < Test::Unit::TestCase
|
6
|
+
|
7
|
+
def setup
|
8
|
+
@bar = Xebec::NavBar.new('plants')
|
9
|
+
@helper = new_nav_bar_helper
|
10
|
+
@renderer = Xebec::renderer_class.new(@bar, @helper)
|
11
|
+
@bar.nav_item :baz, '/baz'
|
12
|
+
end
|
13
|
+
|
14
|
+
context 'using the Web-App-Theme support' do
|
15
|
+
should 'replace the default renderer class automatically' do
|
16
|
+
assert_equal Xebec::WebAppThemeRenderer, Xebec::renderer_class
|
17
|
+
end
|
18
|
+
|
19
|
+
should 'render navigation <ul>s with wat-cf' do
|
20
|
+
assert_select_from @renderer.to_s, 'ul.wat-cf'
|
21
|
+
end
|
22
|
+
end
|
23
|
+
|
24
|
+
end
|
data/xebec.gemspec
ADDED
@@ -0,0 +1,103 @@
|
|
1
|
+
# Generated by jeweler
|
2
|
+
# DO NOT EDIT THIS FILE
|
3
|
+
# Instead, edit Jeweler::Tasks in Rakefile, and run `rake gemspec`
|
4
|
+
# -*- encoding: utf-8 -*-
|
5
|
+
|
6
|
+
Gem::Specification.new do |s|
|
7
|
+
s.name = %q{xebec}
|
8
|
+
s.version = "2.2.0"
|
9
|
+
|
10
|
+
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
11
|
+
s.authors = ["James A. Rosen"]
|
12
|
+
s.date = %q{2010-03-13}
|
13
|
+
s.description = %q{Helpers for generating navigation bars}
|
14
|
+
s.email = %q{james.a.rosen@gmail.com}
|
15
|
+
s.extra_rdoc_files = [
|
16
|
+
"README.md"
|
17
|
+
]
|
18
|
+
s.files = [
|
19
|
+
".gitignore",
|
20
|
+
"README.md",
|
21
|
+
"Rakefile",
|
22
|
+
"VERSION",
|
23
|
+
"developer_tasks/doc.rake",
|
24
|
+
"developer_tasks/gem.rake",
|
25
|
+
"developer_tasks/test.rake",
|
26
|
+
"doc/example_app/Gemfile",
|
27
|
+
"doc/example_app/README.md",
|
28
|
+
"doc/example_app/app/controllers/application_controller.rb",
|
29
|
+
"doc/example_app/app/controllers/pages_controller.rb",
|
30
|
+
"doc/example_app/app/controllers/projects_controller.rb",
|
31
|
+
"doc/example_app/app/views/layouts/_site_nav_bar.html.erb",
|
32
|
+
"doc/example_app/app/views/layouts/application.html.erb",
|
33
|
+
"doc/example_app/app/views/pages/about_us.html.erb",
|
34
|
+
"doc/example_app/app/views/pages/faq.html.erb",
|
35
|
+
"doc/example_app/app/views/pages/feedback.html.erb",
|
36
|
+
"doc/example_app/app/views/pages/home.html.erb",
|
37
|
+
"doc/example_app/app/views/pages/privacy_policy.html.erb",
|
38
|
+
"doc/example_app/app/views/projects/budget.html.erb",
|
39
|
+
"doc/example_app/app/views/projects/edit.html.erb",
|
40
|
+
"doc/example_app/app/views/projects/history.html.erb",
|
41
|
+
"doc/example_app/app/views/projects/index.html.erb",
|
42
|
+
"doc/example_app/app/views/projects/show.html.erb",
|
43
|
+
"doc/example_app/config/environment.rb",
|
44
|
+
"doc/example_app/config/locales/en.yml",
|
45
|
+
"doc/example_app/config/routes.rb",
|
46
|
+
"generators/xebec_stylesheet/templates/xebec.css.erb",
|
47
|
+
"generators/xebec_stylesheet/xebec_stylesheet_generator.rb",
|
48
|
+
"init.rb",
|
49
|
+
"lib/xebec.rb",
|
50
|
+
"lib/xebec/controller_support.rb",
|
51
|
+
"lib/xebec/has_nav_bars.rb",
|
52
|
+
"lib/xebec/html5.rb",
|
53
|
+
"lib/xebec/nav_bar.rb",
|
54
|
+
"lib/xebec/nav_bar_helper.rb",
|
55
|
+
"lib/xebec/nav_bar_renderer.rb",
|
56
|
+
"lib/xebec/nav_item.rb",
|
57
|
+
"lib/xebec/stylesheet_generator.rb",
|
58
|
+
"lib/xebec/web_app_theme_renderer.rb",
|
59
|
+
"rails/init.rb",
|
60
|
+
"tasks/README.md",
|
61
|
+
"test/controller_support_test.rb",
|
62
|
+
"test/html5_test.rb",
|
63
|
+
"test/nav_bar_helper_test.rb",
|
64
|
+
"test/nav_bar_renderer_test.rb",
|
65
|
+
"test/nav_bar_test.rb",
|
66
|
+
"test/test_helper.rb",
|
67
|
+
"test/web_app_theme_renderer_test.rb",
|
68
|
+
"xebec.gemspec"
|
69
|
+
]
|
70
|
+
s.homepage = %q{http://github.com/jamesarosen/xebec}
|
71
|
+
s.rdoc_options = ["--line-numbers", "--inline-source", "--title", "Xebec Documentation", "--charset", "utf-8"]
|
72
|
+
s.require_paths = ["lib"]
|
73
|
+
s.rubygems_version = %q{1.3.6}
|
74
|
+
s.summary = %q{Navigation helpers}
|
75
|
+
s.test_files = [
|
76
|
+
"test/controller_support_test.rb",
|
77
|
+
"test/html5_test.rb",
|
78
|
+
"test/nav_bar_helper_test.rb",
|
79
|
+
"test/nav_bar_renderer_test.rb",
|
80
|
+
"test/nav_bar_test.rb",
|
81
|
+
"test/test_helper.rb",
|
82
|
+
"test/web_app_theme_renderer_test.rb"
|
83
|
+
]
|
84
|
+
|
85
|
+
if s.respond_to? :specification_version then
|
86
|
+
current_version = Gem::Specification::CURRENT_SPECIFICATION_VERSION
|
87
|
+
s.specification_version = 3
|
88
|
+
|
89
|
+
if Gem::Version.new(Gem::RubyGemsVersion) >= Gem::Version.new('1.2.0') then
|
90
|
+
s.add_development_dependency(%q<shoulda>, ["~> 2.10.3"])
|
91
|
+
s.add_development_dependency(%q<mocha>, ["~> 0.9.8"])
|
92
|
+
s.add_development_dependency(%q<redgreen>, ["~> 1.2.2"])
|
93
|
+
else
|
94
|
+
s.add_dependency(%q<shoulda>, ["~> 2.10.3"])
|
95
|
+
s.add_dependency(%q<mocha>, ["~> 0.9.8"])
|
96
|
+
s.add_dependency(%q<redgreen>, ["~> 1.2.2"])
|
97
|
+
end
|
98
|
+
else
|
99
|
+
s.add_dependency(%q<shoulda>, ["~> 2.10.3"])
|
100
|
+
s.add_dependency(%q<mocha>, ["~> 0.9.8"])
|
101
|
+
s.add_dependency(%q<redgreen>, ["~> 1.2.2"])
|
102
|
+
end
|
103
|
+
end
|
metadata
CHANGED
@@ -4,9 +4,9 @@ version: !ruby/object:Gem::Version
|
|
4
4
|
prerelease: false
|
5
5
|
segments:
|
6
6
|
- 2
|
7
|
-
-
|
7
|
+
- 2
|
8
8
|
- 0
|
9
|
-
version: 2.
|
9
|
+
version: 2.2.0
|
10
10
|
platform: ruby
|
11
11
|
authors:
|
12
12
|
- James A. Rosen
|
@@ -104,17 +104,20 @@ files:
|
|
104
104
|
- lib/xebec/html5.rb
|
105
105
|
- lib/xebec/nav_bar.rb
|
106
106
|
- lib/xebec/nav_bar_helper.rb
|
107
|
-
- lib/xebec/
|
107
|
+
- lib/xebec/nav_bar_renderer.rb
|
108
108
|
- lib/xebec/nav_item.rb
|
109
109
|
- lib/xebec/stylesheet_generator.rb
|
110
|
+
- lib/xebec/web_app_theme_renderer.rb
|
110
111
|
- rails/init.rb
|
111
112
|
- tasks/README.md
|
112
113
|
- test/controller_support_test.rb
|
113
114
|
- test/html5_test.rb
|
114
115
|
- test/nav_bar_helper_test.rb
|
115
|
-
- test/
|
116
|
+
- test/nav_bar_renderer_test.rb
|
116
117
|
- test/nav_bar_test.rb
|
117
118
|
- test/test_helper.rb
|
119
|
+
- test/web_app_theme_renderer_test.rb
|
120
|
+
- xebec.gemspec
|
118
121
|
has_rdoc: true
|
119
122
|
homepage: http://github.com/jamesarosen/xebec
|
120
123
|
licenses: []
|
@@ -154,6 +157,7 @@ test_files:
|
|
154
157
|
- test/controller_support_test.rb
|
155
158
|
- test/html5_test.rb
|
156
159
|
- test/nav_bar_helper_test.rb
|
157
|
-
- test/
|
160
|
+
- test/nav_bar_renderer_test.rb
|
158
161
|
- test/nav_bar_test.rb
|
159
162
|
- test/test_helper.rb
|
163
|
+
- test/web_app_theme_renderer_test.rb
|