navigator 0.6.0 → 0.7.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- checksums.yaml.gz.sig +0 -0
- data.tar.gz.sig +0 -0
- data/LICENSE.md +1 -1
- data/README.md +113 -32
- data/lib/navigator.rb +2 -1
- data/lib/navigator/action_view/instance_methods.rb +15 -10
- data/lib/navigator/menu.rb +29 -58
- data/lib/navigator/tag.rb +19 -21
- data/lib/navigator/tag_activator.rb +46 -0
- data/lib/navigator/version.rb +1 -1
- metadata +20 -19
- metadata.gz.sig +0 -0
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 4b3adc76b790bfd51e87dc0f635c96dbb87abd6e
|
4
|
+
data.tar.gz: 5c3e6b2f5ab6fe64f60fcef476297495197ae575
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 10766903636733ee83d52ffe1934631336bdc7d3d72c7c6760c2f1c8bcc176f8e68f902e402f6c0b7b6d03899681a7c3ae9fef5a5fa269a0030926ae8ef11e3e
|
7
|
+
data.tar.gz: 7cf5ef2567d2990cb6869d7f92363930f107229f38d61098575849e05423254c031ce7bed0de28ab606fc046b45f964fe8bf5a82f83ed8b5690ee926305884ac
|
checksums.yaml.gz.sig
CHANGED
Binary file
|
data.tar.gz.sig
CHANGED
Binary file
|
data/LICENSE.md
CHANGED
data/README.md
CHANGED
@@ -2,18 +2,20 @@
|
|
2
2
|
|
3
3
|
[![Gem Version](https://badge.fury.io/rb/navigator.png)](http://badge.fury.io/rb/navigator)
|
4
4
|
[![Code Climate GPA](https://codeclimate.com/github/bkuhlmann/navigator.png)](https://codeclimate.com/github/bkuhlmann/navigator)
|
5
|
+
[![Code Climate Coverage](https://codeclimate.com/github/bkuhlmann/navigator/coverage.png)](https://codeclimate.com/github/bkuhlmann/navigator)
|
5
6
|
[![Gemnasium Status](https://gemnasium.com/bkuhlmann/navigator.png)](https://gemnasium.com/bkuhlmann/navigator)
|
6
7
|
[![Travis CI Status](https://secure.travis-ci.org/bkuhlmann/navigator.png)](http://travis-ci.org/bkuhlmann/navigator)
|
7
|
-
[![
|
8
|
+
[![Gittip](http://img.shields.io/gittip/bkuhlmann.svg)](https://www.gittip.com/bkuhlmann)
|
8
9
|
|
9
10
|
Enhances Rails with a DSL for menu navigation.
|
10
11
|
|
11
12
|
# Features
|
12
13
|
|
13
|
-
*
|
14
|
+
* Provides a simple DSL for building navigation menus.
|
15
|
+
* Supports auto-detection/highlighting of active menu items based on current path (customizable for non-path usage too).
|
14
16
|
* Supports sub-menus, nested tags, HTML attributes, etc.
|
15
|
-
* Supports the following HTML tags: ul, li, a, b, em, s, small, span, strong, sub, and sup.
|
16
|
-
* Provides
|
17
|
+
* Supports the following HTML tags: nav, ul, li, a, b, em, s, small, span, strong, sub, and sup.
|
18
|
+
* Provides an "item" convenience method which combines the "li" and "a" HTML tags into a single method for less typing.
|
17
19
|
|
18
20
|
# Requirements
|
19
21
|
|
@@ -27,7 +29,7 @@ Enhances Rails with a DSL for menu navigation.
|
|
27
29
|
|
28
30
|
For a secure install, type the following from the command line (recommended):
|
29
31
|
|
30
|
-
gem cert --add <(curl -Ls http://www.
|
32
|
+
gem cert --add <(curl -Ls http://www.alchemists.io/gem-public.pem)
|
31
33
|
gem install navigator --trust-policy MediumSecurity
|
32
34
|
|
33
35
|
NOTE: A HighSecurity trust policy would be best but MediumSecurity enables signed gem verification while
|
@@ -43,16 +45,18 @@ Add the following to your Gemfile:
|
|
43
45
|
|
44
46
|
# Usage
|
45
47
|
|
46
|
-
The following are examples using the
|
48
|
+
The following are examples using the navigation view helper:
|
47
49
|
|
48
50
|
## Unordered List (simple)
|
49
51
|
|
50
|
-
|
52
|
+
Code:
|
53
|
+
|
54
|
+
navigation do
|
51
55
|
item "Dashboard", "/dashboard"
|
52
56
|
item "News", "/posts"
|
53
57
|
end
|
54
58
|
|
55
|
-
|
59
|
+
Result:
|
56
60
|
|
57
61
|
<ul>
|
58
62
|
<li><a href="/dashboard">Dashboard</a></li>
|
@@ -61,12 +65,14 @@ Yields:
|
|
61
65
|
|
62
66
|
## Unordered List (with attributes)
|
63
67
|
|
64
|
-
|
68
|
+
Code:
|
69
|
+
|
70
|
+
navigation "ul", class: "nav" do
|
65
71
|
item "Dashboard", "/dashboard", class: "active"
|
66
72
|
item "News", "/posts"
|
67
73
|
end
|
68
74
|
|
69
|
-
|
75
|
+
Result:
|
70
76
|
|
71
77
|
<ul class="nav">
|
72
78
|
<li class="active"><a href="/dashboard">Dashboard</a></li>
|
@@ -75,36 +81,62 @@ Yields:
|
|
75
81
|
|
76
82
|
## Nav (with links)
|
77
83
|
|
78
|
-
|
84
|
+
Code:
|
85
|
+
|
86
|
+
navigation "nav" do
|
79
87
|
a "Dashboard", href: "/dashboard"
|
80
88
|
a "News", href: "/posts"
|
81
89
|
end
|
82
90
|
|
83
|
-
|
91
|
+
Result:
|
84
92
|
|
85
93
|
<nav>
|
86
94
|
<a href="/dashboard">Dashboard</a>
|
87
95
|
<a href="/posts">Posts</a>
|
88
96
|
</nav>
|
89
97
|
|
90
|
-
##
|
98
|
+
## Foundation Menu
|
91
99
|
|
92
|
-
|
93
|
-
|
94
|
-
|
95
|
-
|
96
|
-
|
97
|
-
|
98
|
-
|
100
|
+
Code:
|
101
|
+
|
102
|
+
navigation "ul", class: "left" do
|
103
|
+
item "Home", root_path
|
104
|
+
item "About", about_path
|
105
|
+
end
|
106
|
+
|
107
|
+
Result:
|
108
|
+
|
109
|
+
<ul class="ul" class: "left">
|
110
|
+
<li class="active"><a href="/home">Home</a></li>
|
111
|
+
<li><a href="/about">About</a></li>
|
112
|
+
</ul>
|
113
|
+
|
114
|
+
## Bootstrap Dropdown
|
115
|
+
|
116
|
+
Code:
|
117
|
+
|
118
|
+
navigation "nav" do
|
119
|
+
item "Dashboard", admin_dashboard_path
|
120
|
+
li nil, class: "dropdown" do
|
121
|
+
a "Manage", href: "#", class: "dropdown-toggle", "data-toggle" => "dropdown" do
|
122
|
+
b nil, class: "caret"
|
123
|
+
end
|
124
|
+
ul nil, class: "dropdown-menu" do
|
125
|
+
item "Dashboard", admin_dashboard_path
|
126
|
+
item "Users", admin_users_path
|
127
|
+
end
|
99
128
|
end
|
100
129
|
end
|
101
130
|
|
102
|
-
|
131
|
+
Result:
|
103
132
|
|
104
133
|
<ul class="nav">
|
105
|
-
<li><a href="/
|
134
|
+
<li><a href="/admin/dashboard">Dashboard</a></li>
|
106
135
|
<li class="dropdown">
|
107
|
-
<a data-toggle="dropdown" class="dropdown-toggle" href="#">
|
136
|
+
<a data-toggle="dropdown" class="dropdown-toggle" href="#">
|
137
|
+
Manage
|
138
|
+
<b class="caret"></b>
|
139
|
+
</a>
|
108
140
|
<ul class="dropdown-menu">
|
109
141
|
<li><a href="/admin/dashboard">Dashboard</a></li>
|
110
142
|
<li><a href="/admin/users">Users</a></li>
|
@@ -112,13 +144,62 @@ Yields:
|
|
112
144
|
</li>
|
113
145
|
</ul>
|
114
146
|
|
147
|
+
# Customization
|
148
|
+
|
149
|
+
The `navigation` view helper can accept an optional `Navigator::TagActivator` instance. Example:
|
150
|
+
|
151
|
+
# Code
|
152
|
+
activator = Navigator::TagActivator.new search_value: request.env["PATH_INFO"]
|
153
|
+
navigation "nav", {}, activator do
|
154
|
+
a "Home", href: home_path
|
155
|
+
a "About", href: about_path
|
156
|
+
end
|
157
|
+
|
158
|
+
<!-- Result -->
|
159
|
+
<nav>
|
160
|
+
<a href="/home" class="active">Home</a>
|
161
|
+
<a href="/about" class="active">About</a>
|
162
|
+
</nav>
|
163
|
+
|
164
|
+
This is the default behavior for all navigation menus and is how menu items automaticaly get the "active" class when the
|
165
|
+
item URL (in this case "/home") matches the `request.env[“PATH_INFO"]` to indicate current page/active tab.
|
166
|
+
|
167
|
+
`Navigator::TagActivator` instances can be configured as follows:
|
168
|
+
|
169
|
+
* search_key = Optional. The HTML tag attribute to search for. Default: :href.
|
170
|
+
* search_value = Required. The value to match against the search_key value in order to update the value of the
|
171
|
+
target_key. Default: nil.
|
172
|
+
* target_key = Optional. The HTML tag attribute key value to update when the search_value and search_key value match.
|
173
|
+
Default:
|
174
|
+
:class.
|
175
|
+
* target_value = Optional. The value to be applied to the target_key value. If no value exists, then the value is added.
|
176
|
+
Otherwise, if a value exists then the value is appended to the existing value. Default: "active".
|
177
|
+
|
178
|
+
This customization allows for more sophisticated detection/updating of active HTML tags. For example, the example code
|
179
|
+
(above) could be rewritten to use `data-*` attributes and customized styles as follows:
|
180
|
+
|
181
|
+
# Code
|
182
|
+
activator = Navigator::TagActivator.new search_key: "data-id",
|
183
|
+
search_value: "123",
|
184
|
+
target_key: "data-style"
|
185
|
+
target_value: "current"
|
186
|
+
|
187
|
+
navigation "nav", {}, activator do
|
188
|
+
a "Home", href: home_path, "data-id" => "123", data-style="info"
|
189
|
+
a "About", href: about_path, "data-id" => "789"
|
190
|
+
end
|
191
|
+
|
192
|
+
<!-- Result -->
|
193
|
+
<nav>
|
194
|
+
<a href="/home" data-id="123" data-style="info current">Home</a>
|
195
|
+
<a href="/about" data-id="789">About</a>
|
196
|
+
</nav>
|
197
|
+
|
115
198
|
# Tests
|
116
199
|
|
117
|
-
To test,
|
200
|
+
To test, run:
|
118
201
|
|
119
|
-
|
120
|
-
0. bundle install
|
121
|
-
0. bundle exec rspec spec
|
202
|
+
bundle exec rspec spec
|
122
203
|
|
123
204
|
# Versioning
|
124
205
|
|
@@ -130,18 +211,18 @@ Read [Semantic Versioning](http://semver.org) for details. Briefly, it means:
|
|
130
211
|
|
131
212
|
# Contributions
|
132
213
|
|
133
|
-
Read CONTRIBUTING for details.
|
214
|
+
Read [CONTRIBUTING](CONTRIBUTING.md) for details.
|
134
215
|
|
135
216
|
# Credits
|
136
217
|
|
137
|
-
Developed by [Brooke Kuhlmann](http://www.
|
218
|
+
Developed by [Brooke Kuhlmann](http://www.alchemists.io) at [Alchemists](http://www.alchemists.io)
|
138
219
|
|
139
220
|
# License
|
140
221
|
|
141
|
-
Copyright (c)
|
142
|
-
Read the LICENSE for details.
|
222
|
+
Copyright (c) 2012 [Alchemists](http://www.alchemists.io).
|
223
|
+
Read the [LICENSE](LICENSE.md) for details.
|
143
224
|
|
144
225
|
# History
|
145
226
|
|
146
|
-
Read the CHANGELOG for details.
|
227
|
+
Read the [CHANGELOG](CHANGELOG.md) for details.
|
147
228
|
Built with [Gemsmith](https://github.com/bkuhlmann/gemsmith).
|
data/lib/navigator.rb
CHANGED
@@ -1,10 +1,11 @@
|
|
1
|
+
require "navigator/version"
|
2
|
+
require "navigator/tag_activator"
|
1
3
|
require "navigator/tag"
|
2
4
|
require "navigator/menu"
|
3
5
|
|
4
6
|
# Rails Enhancements
|
5
7
|
if defined? Rails
|
6
8
|
# Dependencies
|
7
|
-
require "navigator/version"
|
8
9
|
require "navigator/action_view/instance_methods"
|
9
10
|
|
10
11
|
# View
|
@@ -1,17 +1,22 @@
|
|
1
1
|
module Navigator
|
2
2
|
module ActionView
|
3
|
-
|
4
|
-
|
5
|
-
|
3
|
+
def self.included base
|
4
|
+
base.send :include, InstanceMethods
|
5
|
+
end
|
6
6
|
|
7
7
|
module InstanceMethods
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
8
|
+
def navigation tag = "ul", attributes = {}, activator = navigation_activator, &block
|
9
|
+
raw Menu.new(self, tag, attributes, activator, &block).render
|
10
|
+
end
|
11
|
+
|
12
|
+
module_function
|
13
|
+
|
14
|
+
def current_path
|
15
|
+
request.env["PATH_INFO"]
|
16
|
+
end
|
17
|
+
|
18
|
+
def navigation_activator
|
19
|
+
Navigator::TagActivator.new search_value: current_path
|
15
20
|
end
|
16
21
|
end
|
17
22
|
end
|
data/lib/navigator/menu.rb
CHANGED
@@ -1,82 +1,53 @@
|
|
1
1
|
module Navigator
|
2
|
-
#
|
3
|
-
# Example 1:
|
4
|
-
# <ul>
|
5
|
-
# <li>One</li>
|
6
|
-
# <li>Two</li>
|
7
|
-
# </ul>
|
8
|
-
# Example 2:
|
9
|
-
# <nav>
|
10
|
-
# <a href="/one">One</a>
|
11
|
-
# <a href="/two">Two</a>
|
12
|
-
# </nav>
|
2
|
+
# Renders a HTML menu.
|
13
3
|
class Menu
|
14
|
-
|
15
|
-
|
16
|
-
# Initializes the menu.
|
17
|
-
# ==== Parameters
|
18
|
-
# * +template+ - Required. The view template.
|
19
|
-
# * +tag+ - Optional. The menu tag. Default: "ul"
|
20
|
-
# * +attributes+ - Optional. The tag attributes. Default: {}
|
21
|
-
# * +options+ - Optional. The menu options. Default: {active: "active"}
|
22
|
-
# * +block+ - Optional. The code block.
|
23
|
-
def initialize template, tag = "ul", attributes = {}, options = {}, &block
|
4
|
+
def initialize template, tag = "ul", attributes = {}, menu_activator = Navigator::TagActivator.new, &block
|
24
5
|
@template = template
|
25
|
-
@tag = Tag.new tag, nil, attributes
|
26
|
-
@
|
6
|
+
@tag = Tag.new tag, nil, attributes, menu_activator
|
7
|
+
@menu_activator = menu_activator
|
27
8
|
@items = []
|
28
9
|
instance_eval(&block) if block_given?
|
29
10
|
end
|
30
11
|
|
31
|
-
|
32
|
-
|
33
|
-
# * +name+ - Required. The tag name.
|
34
|
-
# * +content+ - Optional. The tag content. Default: nil
|
35
|
-
# * +attributes+ - Optional. The HTML attributes (hash) for the tag. Default: {}
|
36
|
-
# * +block+ - Optional. The tag code block.
|
37
|
-
def add name, content = nil, attributes = {}, &block
|
38
|
-
tag = Tag.new name, content, attributes
|
12
|
+
def add name, content = nil, attributes = {}, activator = menu_activator, &block
|
13
|
+
tag = Tag.new name, content, attributes, activator
|
39
14
|
if block_given?
|
40
|
-
|
41
|
-
|
15
|
+
items << tag.prefix
|
16
|
+
items << tag.content
|
42
17
|
instance_eval(&block)
|
43
|
-
|
18
|
+
items << tag.suffix
|
44
19
|
else
|
45
|
-
|
20
|
+
items << tag.render
|
46
21
|
end
|
47
22
|
end
|
48
23
|
|
49
|
-
|
50
|
-
|
51
|
-
|
52
|
-
|
53
|
-
|
54
|
-
|
55
|
-
|
56
|
-
|
57
|
-
|
58
|
-
add "a", content, {href: url}.reverse_merge!(link_attributes)
|
24
|
+
def item content, url, item_attributes = {}, link_attributes = {}, activator = menu_activator
|
25
|
+
link_attributes.reverse_merge! href: url
|
26
|
+
|
27
|
+
if link_attributes[:href] == activator.search_value
|
28
|
+
item_attributes[activator.target_key] = activator.target_value
|
29
|
+
end
|
30
|
+
|
31
|
+
add "li", nil, item_attributes, activator do
|
32
|
+
add "a", content, link_attributes, Navigator::TagActivator.new
|
59
33
|
end
|
60
34
|
end
|
61
35
|
|
62
|
-
# Delegates missing method names to the .add method for supported tags only.
|
63
|
-
# Supported Tags: ul, li, a, b, em, s, small, span, strong, sub, and sup.
|
64
|
-
# All other method calls are sent to the view template for processing (if apt).
|
65
|
-
# ==== Parameters
|
66
|
-
# * +name+ - Required. The method name.
|
67
|
-
# * +args+ - Optional. The method arguments.
|
68
|
-
# * +block+ - Optional. The code block.
|
69
36
|
def method_missing name, *args, &block
|
70
|
-
|
71
|
-
|
72
|
-
|
73
|
-
|
37
|
+
case name.to_s
|
38
|
+
when %r(^(ul|li|a|b|em|s|small|span|strong|sub|sup)$)
|
39
|
+
add(*args.unshift(name), &block)
|
40
|
+
else
|
41
|
+
template.public_send name, *args
|
74
42
|
end
|
75
43
|
end
|
76
44
|
|
77
|
-
# Renders the menu.
|
78
45
|
def render
|
79
|
-
[
|
46
|
+
[tag.prefix, tag.content, items.compact.join(''), tag.suffix].compact * ''
|
80
47
|
end
|
48
|
+
|
49
|
+
private
|
50
|
+
|
51
|
+
attr_accessor :template, :tag, :menu_activator, :items
|
81
52
|
end
|
82
53
|
end
|
data/lib/navigator/tag.rb
CHANGED
@@ -1,36 +1,34 @@
|
|
1
1
|
module Navigator
|
2
|
-
#
|
2
|
+
# Renders a HTML tag.
|
3
3
|
class Tag
|
4
|
-
|
4
|
+
attr_reader :name, :content
|
5
5
|
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
def initialize name, content = nil, attributes = {}
|
12
|
-
@name, @content, @attributes = name, content, attributes
|
6
|
+
def initialize name, content = nil, attributes = {}, activator = Navigator::TagActivator.new
|
7
|
+
@name = name
|
8
|
+
@content = content
|
9
|
+
@attributes = attributes.with_indifferent_access
|
10
|
+
@activator = activator
|
13
11
|
end
|
14
12
|
|
15
|
-
# Answers the attributes as fully formed HTML attributes for the tag.
|
16
|
-
def html_attributes
|
17
|
-
@attributes.map {|key, value| "#{key}=\"#{value}\""}.compact * ' '
|
18
|
-
end
|
19
|
-
|
20
|
-
# Answers the HTML tag prefix (i.e. the opening tag). Example: <li>.
|
21
13
|
def prefix
|
22
|
-
|
23
|
-
["<#{@name}", attrs, '>'].compact * ''
|
14
|
+
["<#{name}", formatted_attributes, '>'].compact * ''
|
24
15
|
end
|
25
16
|
|
26
|
-
# Answers the HTML tag suffix (i.e. the closing tag). Example: </li>.
|
27
17
|
def suffix
|
28
|
-
"</#{
|
18
|
+
"</#{name}>"
|
29
19
|
end
|
30
20
|
|
31
|
-
# Renders the fully assembled HTML tag with attributes and content (if apt).
|
32
21
|
def render
|
33
|
-
[prefix,
|
22
|
+
[prefix, content, suffix].compact * ''
|
23
|
+
end
|
24
|
+
|
25
|
+
private
|
26
|
+
|
27
|
+
attr_reader :attributes, :activator
|
28
|
+
|
29
|
+
def formatted_attributes
|
30
|
+
attrs = activator.activate(attributes).map { |key, value| %(#{key}="#{value}") } * ' '
|
31
|
+
attrs.empty? ? nil : " #{attrs}"
|
34
32
|
end
|
35
33
|
end
|
36
34
|
end
|
@@ -0,0 +1,46 @@
|
|
1
|
+
module Navigator
|
2
|
+
# Conditionally activates a tag.
|
3
|
+
class TagActivator
|
4
|
+
def initialize settings = {}
|
5
|
+
@settings = settings.with_indifferent_access.reverse_merge search_key: :href,
|
6
|
+
search_value: nil,
|
7
|
+
target_key: :class,
|
8
|
+
target_value: "active"
|
9
|
+
end
|
10
|
+
|
11
|
+
def search_key
|
12
|
+
settings.fetch :search_key
|
13
|
+
end
|
14
|
+
|
15
|
+
def search_value
|
16
|
+
settings.fetch :search_value
|
17
|
+
end
|
18
|
+
|
19
|
+
def target_key
|
20
|
+
settings.fetch :target_key
|
21
|
+
end
|
22
|
+
|
23
|
+
def target_value
|
24
|
+
settings.fetch :target_value
|
25
|
+
end
|
26
|
+
|
27
|
+
def activatable? attributes = {}
|
28
|
+
attributes = attributes.with_indifferent_access
|
29
|
+
search_value.present? && attributes[search_key] == search_value
|
30
|
+
end
|
31
|
+
|
32
|
+
def activate attributes = {}
|
33
|
+
attributes = attributes.with_indifferent_access
|
34
|
+
|
35
|
+
if activatable? attributes
|
36
|
+
attributes[target_key] = [attributes[target_key], target_value].compact * ' '
|
37
|
+
end
|
38
|
+
|
39
|
+
attributes
|
40
|
+
end
|
41
|
+
|
42
|
+
private
|
43
|
+
|
44
|
+
attr_reader :settings
|
45
|
+
end
|
46
|
+
end
|
data/lib/navigator/version.rb
CHANGED
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: navigator
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.7.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Brooke Kuhlmann
|
@@ -12,25 +12,25 @@ cert_chain:
|
|
12
12
|
-----BEGIN CERTIFICATE-----
|
13
13
|
MIIDhTCCAm2gAwIBAgIBATANBgkqhkiG9w0BAQUFADBEMQ8wDQYDVQQDDAZicm9v
|
14
14
|
a2UxHDAaBgoJkiaJk/IsZAEZFgxyZWRhbGNoZW1pc3QxEzARBgoJkiaJk/IsZAEZ
|
15
|
-
|
15
|
+
FgNjb20wHhcNMTQwNzA0MDIzNDA4WhcNMTUwNzA0MDIzNDA4WjBEMQ8wDQYDVQQD
|
16
16
|
DAZicm9va2UxHDAaBgoJkiaJk/IsZAEZFgxyZWRhbGNoZW1pc3QxEzARBgoJkiaJ
|
17
|
-
k/
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
17
|
+
k/IsZAEZFgNjb20wggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCaHJaV
|
18
|
+
JKqaafmBJCnYo9NCe35cK0RaxJMUdzF1SXQjQ+Z1wqfjHb36BgVymGnRficJ8WFc
|
19
|
+
ek6Bo2OIgijt+FWBV6OPQfCMLkNWB+2zgjnSqaasQyxmZs/ZRiRF5TgsAXFwdg3D
|
20
|
+
Oo2JaY39R/gPc30dCmYMYNjYgYBW3R2zGc4la3UsMGWk8TUfS9/pZSWKAmMV1LN9
|
21
|
+
KefGthgkwbbJfX7WBzViXR1h2OTgYj0AmbI4gMjztuOj/rCQJ6ejf1/xPVZzvJ3U
|
22
|
+
Z5FhSMK2E0JERJxufjVDFRnLdPECy+BwqQXwQAYR3WO13qYBwsvxiwpdLWvu/c7y
|
23
|
+
yXcXoLjLPm6wgUtLAgMBAAGjgYEwfzAJBgNVHRMEAjAAMAsGA1UdDwQEAwIEsDAd
|
24
|
+
BgNVHQ4EFgQUVDqKhvFvxnoA5rKLdhZjZtXe7UAwIgYDVR0RBBswGYEXYnJvb2tl
|
25
25
|
QHJlZGFsY2hlbWlzdC5jb20wIgYDVR0SBBswGYEXYnJvb2tlQHJlZGFsY2hlbWlz
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
26
|
+
dC5jb20wDQYJKoZIhvcNAQEFBQADggEBAEnc1OmBwCt5taZdQXVUA+SgZvNs7hxE
|
27
|
+
Q8i8+6wkvVxR0O7w6RqyxCk49G6frffq+UccTigoBKXGZAbH7QUteGQ+/71pX/oY
|
28
|
+
R06S9eLxgkFCyDwijCO0cWHtdsnGkYlDB/VbPQyeGGScVezkhriXt48f2pCd2pHe
|
29
|
+
wApukaugK6AT8OisVXWNI02DgH0a2hBS8kPdsydXOBmuiGxrvzFmaKwFwlIVngGO
|
30
|
+
fMlZDUGx3lQarp/vPjK+6XH7DLXjBEKqeIGBIpLthYUvDxJRp23C+T3liGSL32vg
|
31
|
+
mSpxxwmK95GDFuEy2mNPaxnazdkw8c+7DbrSpzd/CnNZkRgitxOavs8=
|
32
32
|
-----END CERTIFICATE-----
|
33
|
-
date: 2014-
|
33
|
+
date: 2014-07-06 00:00:00.000000000 Z
|
34
34
|
dependencies:
|
35
35
|
- !ruby/object:Gem::Dependency
|
36
36
|
name: pry-byebug
|
@@ -173,7 +173,7 @@ dependencies:
|
|
173
173
|
- !ruby/object:Gem::Version
|
174
174
|
version: '0'
|
175
175
|
- !ruby/object:Gem::Dependency
|
176
|
-
name:
|
176
|
+
name: codeclimate-test-reporter
|
177
177
|
requirement: !ruby/object:Gem::Requirement
|
178
178
|
requirements:
|
179
179
|
- - ">="
|
@@ -201,6 +201,7 @@ files:
|
|
201
201
|
- lib/navigator/action_view/instance_methods.rb
|
202
202
|
- lib/navigator/menu.rb
|
203
203
|
- lib/navigator/tag.rb
|
204
|
+
- lib/navigator/tag_activator.rb
|
204
205
|
- lib/navigator/version.rb
|
205
206
|
homepage: https://github.com/bkuhlmann/navigator
|
206
207
|
licenses:
|
@@ -222,7 +223,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
222
223
|
version: '0'
|
223
224
|
requirements: []
|
224
225
|
rubyforge_project:
|
225
|
-
rubygems_version: 2.
|
226
|
+
rubygems_version: 2.3.0
|
226
227
|
signing_key:
|
227
228
|
specification_version: 4
|
228
229
|
summary: Enhances Rails with a DSL for menu navigation.
|
metadata.gz.sig
CHANGED
Binary file
|