bootstrap-navbar 1.0.0.pre8 → 1.0.1
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.
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 0486f20fd1cce816f2193140268cecc4d586e043
|
4
|
+
data.tar.gz: 2b581e4521985b728f3b72ae5341d219459529d9
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 53f00d99073df7999fd2e7f4e2ce02029730d964d5e647a6c0968d93e7cf068bc362b2a6421c3a61a0ec2519c08bd7b0ce5d5058565019777331eb7e8fb6ebfc
|
7
|
+
data.tar.gz: 8c6a54de102d5777e22e692fbbdcbc102358c329797cdb2f012297d43e5a2110b3a38a11dd2dc05865a21a1371a108bee3dce66a0bb615383c6e77b4db34acfd
|
@@ -2,7 +2,7 @@ module BootstrapNavbar::Helpers::Bootstrap3
|
|
2
2
|
def navbar(options = {}, &block)
|
3
3
|
container = options.has_key?(:container) ? options[:container] : true
|
4
4
|
navbar_content =
|
5
|
-
header(options
|
5
|
+
header(options.delete(:brand), options.delete(:brand_link)) <<
|
6
6
|
collapsable(&block)
|
7
7
|
wrapper options do
|
8
8
|
if container
|
@@ -15,7 +15,8 @@ module BootstrapNavbar::Helpers::Bootstrap3
|
|
15
15
|
|
16
16
|
def navbar_group(options = {}, &block)
|
17
17
|
css_classes = %w(nav navbar-nav).tap do |css_classes|
|
18
|
-
css_classes << "navbar-#{options
|
18
|
+
css_classes << "navbar-#{options.delete(:align)}" if options.has_key?(:align)
|
19
|
+
css_classes << options.delete(:class) if options.has_key?(:class)
|
19
20
|
end
|
20
21
|
attributes = attributes_for_tag({ class: css_classes.join(' ') }.merge(options))
|
21
22
|
prepare_html <<-HTML.chomp!
|
@@ -25,35 +26,38 @@ module BootstrapNavbar::Helpers::Bootstrap3
|
|
25
26
|
HTML
|
26
27
|
end
|
27
28
|
|
28
|
-
def navbar_item(text, url)
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
<li#{attributes}>
|
34
|
-
<a href="#{url}">#{text}</a>
|
35
|
-
</li>
|
36
|
-
HTML
|
37
|
-
end
|
29
|
+
def navbar_item(text, url = nil, list_item_options = nil, link_options = nil, &block)
|
30
|
+
text, url, list_item_options, link_options = capture(&block), text, list_item_options if block_given?
|
31
|
+
url ||= '#'
|
32
|
+
list_item_options ||= {}
|
33
|
+
link_options ||= {}
|
38
34
|
|
39
|
-
|
35
|
+
list_item_css_classes = [].tap do |css_classes|
|
36
|
+
css_classes << 'active' if current_url?(url)
|
37
|
+
css_classes << list_item_options.delete(:class) if list_item_options.has_key?(:class)
|
38
|
+
end
|
39
|
+
list_item_attributes = attributes_for_tag(
|
40
|
+
{ class: list_item_css_classes.join(' ') }
|
41
|
+
.delete_if { |k, v| v.empty? }
|
42
|
+
.merge(list_item_options)
|
43
|
+
)
|
44
|
+
link_attributes = attributes_for_tag(link_options)
|
40
45
|
prepare_html <<-HTML.chomp!
|
41
|
-
<li
|
42
|
-
<a href="#"
|
43
|
-
|
44
|
-
|
45
|
-
</ul>
|
46
|
+
<li#{list_item_attributes}>
|
47
|
+
<a href="#{url}"#{link_attributes}>
|
48
|
+
#{text}
|
49
|
+
</a>
|
46
50
|
</li>
|
47
51
|
HTML
|
48
52
|
end
|
49
53
|
|
50
54
|
def navbar_form(options = {}, &block)
|
51
55
|
css_classes = %w(navbar-form).tap do |css_classes|
|
52
|
-
css_classes << "navbar-#{options
|
56
|
+
css_classes << "navbar-#{options.delete(:align)}" if options.has_key?(:align)
|
57
|
+
css_classes << options.delete(:class) if options.has_key?(:class)
|
53
58
|
end
|
54
|
-
role = options
|
55
|
-
|
56
|
-
attributes = attributes_for_tag(attribute_hash)
|
59
|
+
role = options.delete(:role) || 'form'
|
60
|
+
attributes = attributes_for_tag({ class: css_classes.join(' '), role: role }.merge(options))
|
57
61
|
prepare_html <<-HTML.chomp!
|
58
62
|
<form#{attributes}>
|
59
63
|
#{capture(&block) if block_given?}
|
@@ -61,31 +65,54 @@ HTML
|
|
61
65
|
HTML
|
62
66
|
end
|
63
67
|
|
64
|
-
def
|
65
|
-
prepare_html <<-HTML.chomp!
|
66
|
-
<li class="divider"></li>
|
67
|
-
HTML
|
68
|
-
end
|
69
|
-
|
70
|
-
def navbar_text(text = nil, &block)
|
68
|
+
def navbar_text(text = nil, options = {}, &block)
|
71
69
|
raise StandardError, 'Please provide either the "text" parameter or a block.' if (text.nil? && !block_given?) || (!text.nil? && block_given?)
|
72
70
|
text ||= capture(&block)
|
71
|
+
css_classes = %w(navbar-text).tap do |css_classes|
|
72
|
+
css_classes << options.delete(:class) if options.has_key?(:class)
|
73
|
+
end
|
74
|
+
attributes = attributes_for_tag({ class: css_classes.join(' ') }.merge(options))
|
73
75
|
prepare_html <<-HTML.chomp!
|
74
|
-
<p
|
76
|
+
<p#{attributes}>#{text}</p>
|
75
77
|
HTML
|
76
78
|
end
|
77
79
|
|
78
80
|
def navbar_button(text, options = {})
|
79
81
|
css_classes = %w(btn navbar-btn).tap do |css_classes|
|
80
|
-
css_classes << options
|
82
|
+
css_classes << options.delete(:class) if options.has_key?(:class)
|
81
83
|
end
|
82
|
-
|
83
|
-
attributes = attributes_for_tag(
|
84
|
+
type = options.delete(:type) || 'button'
|
85
|
+
attributes = attributes_for_tag({ class: css_classes.join(' '), type: type }.merge(options))
|
84
86
|
prepare_html <<-HTML.chomp!
|
85
87
|
<button#{attributes}>#{text}</button>
|
86
88
|
HTML
|
87
89
|
end
|
88
90
|
|
91
|
+
def navbar_dropdown(text, &block)
|
92
|
+
prepare_html <<-HTML.chomp!
|
93
|
+
<li class="dropdown">
|
94
|
+
<a href="#" class="dropdown-toggle" data-toggle="dropdown">#{text} <b class="caret"></b></a>
|
95
|
+
<ul class="dropdown-menu">
|
96
|
+
#{capture(&block) if block_given?}
|
97
|
+
</ul>
|
98
|
+
</li>
|
99
|
+
HTML
|
100
|
+
end
|
101
|
+
|
102
|
+
def navbar_dropdown_header(text)
|
103
|
+
prepare_html <<-HTML.chomp!
|
104
|
+
<li class="dropdown-header">
|
105
|
+
#{text}
|
106
|
+
</li>
|
107
|
+
HTML
|
108
|
+
end
|
109
|
+
|
110
|
+
def navbar_dropdown_divider
|
111
|
+
prepare_html <<-HTML.chomp!
|
112
|
+
<li class="divider"></li>
|
113
|
+
HTML
|
114
|
+
end
|
115
|
+
|
89
116
|
private
|
90
117
|
|
91
118
|
def container(content)
|
@@ -105,7 +132,7 @@ HTML
|
|
105
132
|
<span class="icon-bar"></span>
|
106
133
|
<span class="icon-bar"></span>
|
107
134
|
</button>
|
108
|
-
#{brand_link brand, brand_link}
|
135
|
+
#{brand_link brand, brand_link unless brand.nil?}
|
109
136
|
</div>
|
110
137
|
HTML
|
111
138
|
end
|
@@ -119,19 +146,24 @@ HTML
|
|
119
146
|
end
|
120
147
|
|
121
148
|
def brand_link(name, url = nil)
|
122
|
-
|
149
|
+
url ||= '/'
|
150
|
+
prepare_html <<-HTML.chomp!
|
151
|
+
<a href="#{url}" class="navbar-brand">
|
152
|
+
#{name}
|
153
|
+
</a>
|
154
|
+
HTML
|
123
155
|
end
|
124
156
|
|
125
157
|
def wrapper(options, &block)
|
126
|
-
style = options
|
158
|
+
style = options.delete(:inverse) ? 'inverse' : 'default'
|
127
159
|
css_classes = %w(navbar).tap do |css_classes|
|
128
|
-
css_classes << "navbar-fixed-#{options
|
129
|
-
css_classes << 'navbar-static-top' if options
|
130
|
-
css_classes << 'navbar-inverse' if options
|
160
|
+
css_classes << "navbar-fixed-#{options.delete(:fixed)}" if options.has_key?(:fixed)
|
161
|
+
css_classes << 'navbar-static-top' if options.delete(:static)
|
162
|
+
css_classes << 'navbar-inverse' if options.delete(:inverse)
|
131
163
|
css_classes << "navbar-#{style}"
|
132
164
|
end
|
133
|
-
|
134
|
-
attributes = attributes_for_tag(
|
165
|
+
role = options.delete(:role) || 'navigation'
|
166
|
+
attributes = attributes_for_tag({ class: css_classes.join(' '), role: role }.merge(options))
|
135
167
|
prepare_html <<-HTML.chomp!
|
136
168
|
<nav#{attributes}>
|
137
169
|
#{capture(&block) if block_given?}
|
@@ -40,7 +40,6 @@ describe BootstrapNavbar::Helpers::Bootstrap3 do
|
|
40
40
|
with_tag :span, with: { class: 'icon-bar' }
|
41
41
|
end
|
42
42
|
end
|
43
|
-
with_tag :a, with: { class: 'navbar-brand', href: '/' }
|
44
43
|
end
|
45
44
|
with_tag :div, with: { class: 'collapse navbar-collapse', id: 'navbar-collapsable' }, text: /foo/
|
46
45
|
end
|
@@ -92,7 +91,6 @@ describe BootstrapNavbar::Helpers::Bootstrap3 do
|
|
92
91
|
with_all_3_dot_x_versions do
|
93
92
|
expect(renderer.navbar(brand: 'foo')).to have_tag(:a, with: { href: '/', class: 'navbar-brand' }, text: /foo/)
|
94
93
|
expect(renderer.navbar(brand: 'foo', brand_link: 'http://google.com')).to have_tag(:a, with: { href: 'http://google.com', class: 'navbar-brand' }, text: /foo/)
|
95
|
-
expect(renderer.navbar(brand_link: 'http://google.com')).to have_tag(:a, with: { href: 'http://google.com', class: 'navbar-brand' })
|
96
94
|
end
|
97
95
|
end
|
98
96
|
end
|
@@ -215,14 +213,6 @@ describe BootstrapNavbar::Helpers::Bootstrap3 do
|
|
215
213
|
end
|
216
214
|
end
|
217
215
|
|
218
|
-
describe '#navbar_divider' do
|
219
|
-
it 'generates the correct HTML' do
|
220
|
-
with_all_3_dot_x_versions do
|
221
|
-
expect(renderer.navbar_divider).to have_tag(:li, with: { class: 'divider' })
|
222
|
-
end
|
223
|
-
end
|
224
|
-
end
|
225
|
-
|
226
216
|
describe '#navbar_text' do
|
227
217
|
context 'without parameters' do
|
228
218
|
it 'raises an error' do
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: bootstrap-navbar
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.0.
|
4
|
+
version: 1.0.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Manuel Meurer
|
@@ -132,9 +132,9 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
132
132
|
version: '0'
|
133
133
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
134
134
|
requirements:
|
135
|
-
- - '
|
135
|
+
- - '>='
|
136
136
|
- !ruby/object:Gem::Version
|
137
|
-
version:
|
137
|
+
version: '0'
|
138
138
|
requirements: []
|
139
139
|
rubyforge_project:
|
140
140
|
rubygems_version: 2.1.5
|