simple_active_link_to 1.0.4 → 1.1.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.github/workflows/gem.yml +30 -15
- data/.gitignore +2 -0
- data/README.md +11 -3
- data/lib/simple_active_link_to/simple_active_link_to.rb +7 -2
- data/lib/simple_active_link_to/version.rb +1 -1
- data/test/gemfiles/6.1.gemfile +5 -0
- data/test/simple_active_link_to_test.rb +11 -1
- metadata +4 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 4ee7d38d7d8e2969e92e9b321691ae59909aa9eea01dc99d32bfd038c17aaa51
|
4
|
+
data.tar.gz: 00be5598705e2cfdf357bacc4cc84a1fd0c517130774ef0c56ce5f753c94c0be
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 4c742be3260769116b75cab5c24491f0a67fcb9982bc6b49109c87ad107d2a912c25005f90dac0dcf552f4ce7dd6fd0bce2bfa226ef7890d11448546afb3244b
|
7
|
+
data.tar.gz: 10979d2be24cae63f91cae04b229affb84bd338cb4ada349e1414fcb58a7ae8a166f420844eb4da41985de98e08afd47266b30cbe4079612361971bf220e1e6e
|
data/.github/workflows/gem.yml
CHANGED
@@ -2,9 +2,13 @@ name: Ruby Gem
|
|
2
2
|
|
3
3
|
on:
|
4
4
|
push:
|
5
|
-
branches: [ master ]
|
5
|
+
branches: [ master, dev ]
|
6
|
+
paths-ignore:
|
7
|
+
- "**/README.md"
|
6
8
|
pull_request:
|
7
|
-
branches: [ master ]
|
9
|
+
branches: [ master, dev ]
|
10
|
+
paths-ignore:
|
11
|
+
- "**/README.md"
|
8
12
|
|
9
13
|
jobs:
|
10
14
|
tests:
|
@@ -12,17 +16,28 @@ jobs:
|
|
12
16
|
runs-on: ubuntu-latest
|
13
17
|
strategy:
|
14
18
|
matrix:
|
15
|
-
ruby: [2.5, 2.6, 2.7]
|
16
|
-
rails: ['5.0', '5.1', '5.2', '6.0']
|
19
|
+
ruby: [2.5, 2.6, 2.7, 3.0]
|
20
|
+
rails: ['5.0', '5.1', '5.2', '6.0', '6.1']
|
17
21
|
steps:
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
22
|
+
- uses: actions/checkout@v2
|
23
|
+
- name: always-upload-cache
|
24
|
+
# You may pin to the exact commit or the version.
|
25
|
+
# uses: pat-s/always-upload-cache@8bf65902d2f73eea094eb913323ef6fb84f4bcb8
|
26
|
+
uses: pat-s/always-upload-cache@v2.1.3
|
27
|
+
with:
|
28
|
+
# A list of files, directories, and wildcard patterns to cache and restore
|
29
|
+
path: $(pwd)/vendor/bundle
|
30
|
+
key: ${{ runner.os }}-gems-${{ hashFiles('test/gemfiles/*.gemfile') }}
|
31
|
+
restore-keys: |
|
32
|
+
${{ runner.os }}-gems-
|
33
|
+
- name: Set up Ruby
|
34
|
+
uses: ruby/setup-ruby@v1
|
35
|
+
with:
|
36
|
+
ruby-version: ${{ matrix.ruby }}
|
37
|
+
- name: Bundle install
|
38
|
+
run: |
|
39
|
+
bundle config path $(pwd)/vendor/bundle
|
40
|
+
bundle install --jobs 4 --retry 3
|
41
|
+
env:
|
42
|
+
BUNDLE_GEMFILE: "test/gemfiles/${{ matrix.rails }}.gemfile"
|
43
|
+
- run: bundle exec rake
|
data/.gitignore
CHANGED
data/README.md
CHANGED
@@ -2,17 +2,17 @@
|
|
2
2
|
|
3
3
|
`simple_active_link_to` is a wrapper for [link_to](http://api.rubyonrails.org/classes/ActionView/Helpers/UrlHelper.html#method-i-link_to), with active state by adding an extra css class `active` by default.
|
4
4
|
|
5
|
-
This
|
5
|
+
This gem works like [active_link_to](https://github.com/comfy/active_link_to), but with additional ```active_disable``` option and without wrap tag.
|
6
6
|
|
7
7
|
[![Gem Version](https://img.shields.io/gem/v/simple_active_link_to.svg?style=flat)](http://rubygems.org/gems/simple_active_link_to)
|
8
8
|
[![Gem Downloads](https://img.shields.io/gem/dt/simple_active_link_to.svg?style=flat)](http://rubygems.org/gems/simple_active_link_to)
|
9
9
|
|
10
|
-
Tested with ruby
|
10
|
+
Tested with ruby 2.5 to 2.7 and rails 5.0 to 6.1
|
11
11
|
|
12
12
|
## Installation
|
13
13
|
add `gem 'simple_active_link_to'` to Gemfile and run `bundle install`.
|
14
14
|
|
15
|
-
or
|
15
|
+
or if you want to add with bundle command
|
16
16
|
|
17
17
|
`bundle add simple_active_link_to`
|
18
18
|
|
@@ -125,6 +125,14 @@ simple_active_link_to 'Users', users_path, active_disable: true
|
|
125
125
|
# => <span class="active">Users</span>
|
126
126
|
```
|
127
127
|
|
128
|
+
or you want to append it with hash (`#`) at the end of url, it will be useful when you use Turbolinks
|
129
|
+
and don't want the link load the page content
|
130
|
+
|
131
|
+
```ruby
|
132
|
+
simple_active_link_to 'Users', users_path, active_disable: :hash
|
133
|
+
# => <a href="/users" class="active">Users</a>
|
134
|
+
```
|
135
|
+
|
128
136
|
## Helper Methods
|
129
137
|
You may directly use methods that `simple_active_link_to` relies on.
|
130
138
|
|
@@ -12,7 +12,7 @@ module SimpleActiveLinkTo
|
|
12
12
|
# :active => Boolean | Symbol | Regex | Controller/Action Pair
|
13
13
|
# :class_active => String
|
14
14
|
# :class_inactive => String
|
15
|
-
# :active_disable => Boolean
|
15
|
+
# :active_disable => Boolean | :hash
|
16
16
|
# Example usage:
|
17
17
|
# simple_active_link_to('/users', class_active: 'enabled')
|
18
18
|
def simple_active_link_to(name = nil, options = nil, html_options = nil, &block)
|
@@ -41,7 +41,12 @@ module SimpleActiveLinkTo
|
|
41
41
|
|
42
42
|
if is_active_link?(url, active_options[:active])
|
43
43
|
link_options[:'aria-current'] = 'page'
|
44
|
-
|
44
|
+
case active_options[:active_disable]
|
45
|
+
when true
|
46
|
+
return content_tag(:span, name, link_options)
|
47
|
+
when :hash
|
48
|
+
url += "#"
|
49
|
+
end
|
45
50
|
end
|
46
51
|
|
47
52
|
link_to(name, url, link_options)
|
@@ -9,6 +9,10 @@ class SimpleActiveLinkToTest < MiniTest::Test
|
|
9
9
|
refute is_active_link?('/', false)
|
10
10
|
end
|
11
11
|
|
12
|
+
def test_is_active_link_handle_empty_string
|
13
|
+
assert is_active_link?('', true)
|
14
|
+
end
|
15
|
+
|
12
16
|
def test_is_active_link_symbol_inclusive
|
13
17
|
set_path('/root')
|
14
18
|
assert is_active_link?('/root', :inclusive)
|
@@ -186,12 +190,18 @@ class SimpleActiveLinkToTest < MiniTest::Test
|
|
186
190
|
assert_html link, 'a.off[href="/other"]', 'label'
|
187
191
|
end
|
188
192
|
|
189
|
-
def
|
193
|
+
def test_active_link_to_with_active_disable_as_true
|
190
194
|
set_path('/root')
|
191
195
|
link = simple_active_link_to('label', '/root', active_disable: true)
|
192
196
|
assert_html link, 'span.active', 'label'
|
193
197
|
end
|
194
198
|
|
199
|
+
def test_active_link_to_with_active_disable_as_hash
|
200
|
+
set_path('/root')
|
201
|
+
link = simple_active_link_to('label', '/root', active_disable: :hash)
|
202
|
+
assert_html link, 'a.active[href="/root#"]', 'label'
|
203
|
+
end
|
204
|
+
|
195
205
|
def test_should_not_modify_passed_params
|
196
206
|
set_path('/root')
|
197
207
|
params = {class: 'testing', active: :inclusive}
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: simple_active_link_to
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.0
|
4
|
+
version: 1.1.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Fajarullah
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2021-01-02 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: minitest
|
@@ -117,6 +117,7 @@ files:
|
|
117
117
|
- test/gemfiles/5.1.gemfile
|
118
118
|
- test/gemfiles/5.2.gemfile
|
119
119
|
- test/gemfiles/6.0.gemfile
|
120
|
+
- test/gemfiles/6.1.gemfile
|
120
121
|
- test/simple_active_link_to_test.rb
|
121
122
|
- test/test_helper.rb
|
122
123
|
homepage: http://github.com/frullah/simple_active_link_to
|
@@ -138,7 +139,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
138
139
|
- !ruby/object:Gem::Version
|
139
140
|
version: '0'
|
140
141
|
requirements: []
|
141
|
-
rubygems_version: 3.1.
|
142
|
+
rubygems_version: 3.1.4
|
142
143
|
signing_key:
|
143
144
|
specification_version: 4
|
144
145
|
summary: ActionView helper to render currently active links
|