simple_active_link_to 1.0.1 → 1.0.2
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 +24 -0
- data/README.md +4 -10
- data/lib/simple_active_link_to/simple_active_link_to.rb +8 -19
- data/lib/simple_active_link_to/version.rb +1 -1
- metadata +3 -3
- data/simple_active_link_to-1.0.0.gem +0 -0
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: b1daf4ee0af356ebe31c54f1a18911f6b0b94228b9a3703cbdc064785595cb44
|
4
|
+
data.tar.gz: d740a7746f0327c55fd576abf6107fa9bb3fc5893c5cc1e10dab0dc18da53944
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: df30e6aef083dfd01c8b282256d3de83a063aead51f2c3112a927941c57fa7c1ac32a11eda07b46f18f025df5c1ebfbe037ff20720d421b623c9f2b4b6c47934
|
7
|
+
data.tar.gz: b97fb762f8f26339e58d5b84cdbf1c4f71e364cb06fc315951841341e429a213c9cdf09ecbca7ec247323655c8dcded6a06c76a7c644e9f494a60b0abb4cbaef
|
@@ -0,0 +1,24 @@
|
|
1
|
+
name: Ruby Gem
|
2
|
+
|
3
|
+
on:
|
4
|
+
push:
|
5
|
+
branches: [ master ]
|
6
|
+
pull_request:
|
7
|
+
branches: [ master ]
|
8
|
+
|
9
|
+
jobs:
|
10
|
+
build:
|
11
|
+
name: Test + Build
|
12
|
+
runs-on: ubuntu-latest
|
13
|
+
|
14
|
+
steps:
|
15
|
+
- uses: actions/checkout@v2
|
16
|
+
- name: Set up Ruby 2.4
|
17
|
+
uses: actions/setup-ruby@v1
|
18
|
+
with:
|
19
|
+
ruby-version: 2.4.x
|
20
|
+
|
21
|
+
- name: Install bundle gems
|
22
|
+
run: bundle install
|
23
|
+
- name: Test
|
24
|
+
run: bundle exec rake
|
data/README.md
CHANGED
@@ -1,13 +1,13 @@
|
|
1
1
|
# simple_active_link_to
|
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), but with active state by adding an extra css class `active` by default.
|
4
|
+
|
5
|
+
This project is fork of [active_link_to](https://github.com/comfy/active_link_to), but without wrap tag, and some code improvement.
|
4
6
|
|
5
7
|
[](http://rubygems.org/gems/simple_active_link_to)
|
6
8
|
[](http://rubygems.org/gems/simple_active_link_to)
|
7
|
-
[](https://travis-ci.org/comfy/simple_active_link_to)
|
8
|
-
[](https://gitter.im/comfy/comfortable-mexican-sofa)
|
9
9
|
|
10
|
-
|
10
|
+
Require ruby >= 2.4
|
11
11
|
|
12
12
|
## Installation
|
13
13
|
add `gem 'simple_active_link_to'` to Gemfile and run `bundle install`.
|
@@ -16,8 +16,6 @@ or using `bundle add` command
|
|
16
16
|
|
17
17
|
`bundle add simple_active_link_to`
|
18
18
|
|
19
|
-
For older Rails apps add `config.gem 'simple_active_link_to'` in config/environment.rb and run `rake gems:install`. Or just checkout this repo into /vendor/plugins directory.
|
20
|
-
|
21
19
|
## Super Simple Example
|
22
20
|
Here's a link that will have a class attached if it happens to be rendered
|
23
21
|
on page with path `/users` or any child of that page, like `/users/123`
|
@@ -143,7 +141,3 @@ is_active_link?(users_path, :inclusive)
|
|
143
141
|
active_link_to_class(users_path, active: :inclusive)
|
144
142
|
# => 'active'
|
145
143
|
```
|
146
|
-
|
147
|
-
### Copyright
|
148
|
-
|
149
|
-
Copyright (c) 2009-18 Oleg Khabarov. See LICENSE for details.
|
@@ -1,31 +1,20 @@
|
|
1
1
|
module SimpleActiveLinkTo
|
2
|
+
ACTIVE_OPTIONS = %i[active class_active class_inactive active_disable].freeze
|
3
|
+
|
2
4
|
# Wrapper around link_to. Accepts following params:
|
3
5
|
# :active => Boolean | Symbol | Regex | Controller/Action Pair
|
4
6
|
# :class_active => String
|
5
7
|
# :class_inactive => String
|
6
8
|
# :active_disable => Boolean
|
7
|
-
# :wrap_tag => Symbol
|
8
9
|
# Example usage:
|
9
10
|
# simple_active_link_to('/users', class_active: 'enabled')
|
10
|
-
# simple_active_link_to(users_path, active: :exclusive, wrap_tag: :li)
|
11
11
|
def simple_active_link_to(*args, &block)
|
12
12
|
name = block_given? ? capture(&block) : args.shift
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
url = url_for(options)
|
17
|
-
|
18
|
-
active_options = {}
|
19
|
-
link_options = {}
|
20
|
-
html_options.each do |k, v|
|
21
|
-
if %i[active class_active class_inactive active_disable].member?(k)
|
22
|
-
active_options[k] = v
|
23
|
-
else
|
24
|
-
link_options[k] = v
|
25
|
-
end
|
26
|
-
end
|
13
|
+
url = url_for(args.shift)
|
14
|
+
link_options = args.shift&.dup || {}
|
15
|
+
active_options = link_options.extract!(*ACTIVE_OPTIONS)
|
27
16
|
|
28
|
-
css_class = "#{link_options
|
17
|
+
css_class = "#{link_options[:class]} #{active_link_to_class(url, active_options)}"
|
29
18
|
css_class.strip!
|
30
19
|
link_options[:class] = css_class if css_class != ''
|
31
20
|
|
@@ -81,8 +70,8 @@ module SimpleActiveLinkTo
|
|
81
70
|
when Regexp
|
82
71
|
path.match?(condition)
|
83
72
|
when Array
|
84
|
-
controllers =
|
85
|
-
actions =
|
73
|
+
controllers = Array(condition[0])
|
74
|
+
actions = Array(condition[1])
|
86
75
|
(controllers.blank? || controllers.member?(params[:controller])) &&
|
87
76
|
(actions.blank? || actions.member?(params[:action])) ||
|
88
77
|
controllers.any? do |controller, action|
|
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.0.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Fajarullah
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2020-09-
|
11
|
+
date: 2020-09-20 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: actionpack
|
@@ -47,6 +47,7 @@ executables: []
|
|
47
47
|
extensions: []
|
48
48
|
extra_rdoc_files: []
|
49
49
|
files:
|
50
|
+
- ".github/workflows/gem.yml"
|
50
51
|
- ".gitignore"
|
51
52
|
- ".travis.yml"
|
52
53
|
- Gemfile
|
@@ -56,7 +57,6 @@ files:
|
|
56
57
|
- lib/simple_active_link_to.rb
|
57
58
|
- lib/simple_active_link_to/simple_active_link_to.rb
|
58
59
|
- lib/simple_active_link_to/version.rb
|
59
|
-
- simple_active_link_to-1.0.0.gem
|
60
60
|
- simple_active_link_to.gemspec
|
61
61
|
- test/gemfiles/5.0.gemfile
|
62
62
|
- test/gemfiles/5.1.gemfile
|
Binary file
|