simple_active_link_to 1.0.4 → 1.1.0
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 +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
|
[](http://rubygems.org/gems/simple_active_link_to)
|
8
8
|
[](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
|