navigator 5.5.0 → 6.0.3

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: d6d51966858f7e4d95ea10f0ae9f94010b23c7f7f980d89caa717862acb9ff7c
4
- data.tar.gz: d1bb4c5514d1cdc6a56f15ed3a705d0e4ab8417519f5aebd7e11656213b84c35
3
+ metadata.gz: 92e2a3089d84e37618c07782aa36a193a29d689bdb9d34c40e0bebd210e779bb
4
+ data.tar.gz: 3c756422dfb30e9056bb72e7a09445d17f937a91fbe2063718de0969cb913474
5
5
  SHA512:
6
- metadata.gz: 63f0fb171e36398ac79b7c6a1a783285a804f2f90d43c1a33f026f4a7ad528e4703e7debd92068d5ee01f78dba1625917c8745d422699852b69ea9e48abcad63
7
- data.tar.gz: 486778d7294780c7c823163bcf3a47d45e2c826cfe9905b933575f13c87e67ca7dd18ca34ea5777c6fdbc494afb561258e040def7eb5b58f47f484b6d03c9ad3
6
+ metadata.gz: e314d21ad031166736a41b236104bc4cec6fff786af20215c142c62a3ea8ef7a80e85b36da351cb32937ff2235bc8617efe87b747616c86d821161f3591675b1
7
+ data.tar.gz: ac4a00e5ad611bb456c5b5f6ecd1d5542d8ecb3cfe8e26bf3f5b719e01e55e6656206e77330d77ddf5ac7be0653a635ca1b564feb8adf7a7c8c970b6514b8dca
checksums.yaml.gz.sig CHANGED
Binary file
data/README.adoc CHANGED
@@ -11,7 +11,10 @@ image::https://img.shields.io/badge/code_style-alchemists-brightgreen.svg[Alchem
11
11
  [link=https://circleci.com/gh/bkuhlmann/navigator]
12
12
  image::https://circleci.com/gh/bkuhlmann/navigator.svg?style=svg[Circle CI Status]
13
13
 
14
- Enhances Rails with a DSL for menu navigation.
14
+ Navigator is a Rails Engine that provides a domain specific language for menu navigation. Great for
15
+ situations in which you need dynamic, server-side, rendering of site navigation menus complete with
16
+ active page highlighting. You can also style your navigation menus with plain CSS or any CSS
17
+ framework of your choice.
15
18
 
16
19
  toc::[]
17
20
 
@@ -349,7 +352,7 @@ Result:
349
352
  </nav>
350
353
  ----
351
354
 
352
- This is the default behavior for all navigation menus and is how menu items automaticaly get the
355
+ This is the default behavior for all navigation menus and is how menu items automatically get the
353
356
  "`active`" class when the item URL (in this case "`/home`") matches the `+request.env[“PATH_INFO"]+`
354
357
  to indicate current page/active tab.
355
358
 
@@ -13,12 +13,8 @@ module Navigator
13
13
 
14
14
  module_function
15
15
 
16
- def current_path
17
- request.env["PATH_INFO"]
18
- end
16
+ def current_path = request.env["PATH_INFO"]
19
17
 
20
- def navigation_activator
21
- Navigator::TagActivator.new search_value: current_path
22
- end
18
+ def navigation_activator = Navigator::TagActivator.new(search_value: current_path)
23
19
  end
24
20
  end
@@ -5,7 +5,7 @@ module Navigator
5
5
  module Identity
6
6
  NAME = "navigator"
7
7
  LABEL = "Navigator"
8
- VERSION = "5.5.0"
9
- VERSION_LABEL = "#{LABEL} #{VERSION}"
8
+ VERSION = "6.0.3"
9
+ VERSION_LABEL = "#{LABEL} #{VERSION}".freeze
10
10
  end
11
11
  end
@@ -3,11 +3,33 @@
3
3
  module Navigator
4
4
  # Renders a HTML menu.
5
5
  class Menu
6
- # rubocop:disable Layout/LineLength
7
- def self.allowed_methods
8
- /^(div|section|header|h[1-6]|nav|ul|li|a|img|b|em|s|small|span|strong|sub|sup|form|label|select|option|input|button)$/
9
- end
10
- # rubocop:enable Layout/LineLength
6
+ ALLOWED_ELEMENTS = /
7
+ ^(
8
+ div|
9
+ section|
10
+ header|
11
+ h[1-6]|
12
+ nav|
13
+ ul|
14
+ li|
15
+ a|
16
+ img|
17
+ b|
18
+ em|
19
+ s|
20
+ small|
21
+ span|
22
+ strong|
23
+ sub|
24
+ sup|
25
+ form|
26
+ label|
27
+ select|
28
+ option|
29
+ input|
30
+ button
31
+ )$
32
+ /x
11
33
 
12
34
  def initialize template,
13
35
  tag: "ul",
@@ -62,25 +84,21 @@ module Navigator
62
84
  end
63
85
  end
64
86
 
65
- def method_missing name, *args, &block
87
+ def method_missing name, *positionals, **keywords, &block
66
88
  if respond_to_missing? name
67
- add(name, *args, &block)
89
+ add(name, *positionals, **keywords, &block)
68
90
  else
69
- template.public_send(name, *args) || super
91
+ template.public_send(name, *positionals, **keywords) || super
70
92
  end
71
93
  end
72
94
 
73
- def render
74
- [tag.prefix, tag.content, items.compact.join, tag.suffix].compact.join
75
- end
95
+ def render = [tag.prefix, tag.content, items.compact.join, tag.suffix].compact.join
76
96
 
77
97
  private
78
98
 
79
99
  attr_accessor :template, :tag, :menu_activator, :items
80
100
 
81
- def respond_to_missing? name, include_private = false
82
- self.class.allowed_methods.match?(name) || super
83
- end
101
+ def respond_to_missing?(name, include_private = false) = ALLOWED_ELEMENTS.match?(name) || super
84
102
 
85
103
  def activate_item_attributes! attributes, url, activator
86
104
  return unless url == activator.search_value
data/lib/navigator/tag.rb CHANGED
@@ -5,9 +5,7 @@ module Navigator
5
5
  class Tag
6
6
  attr_reader :name, :content
7
7
 
8
- def self.names_without_suffix
9
- %w[img input]
10
- end
8
+ def self.names_without_suffix = %w[img input]
11
9
 
12
10
  # rubocop:disable Metrics/ParameterLists
13
11
  def initialize name, content = nil, attributes: {}, activator: Navigator::TagActivator.new
@@ -18,21 +16,13 @@ module Navigator
18
16
  end
19
17
  # rubocop:enable Metrics/ParameterLists
20
18
 
21
- def prefix
22
- ["<#{name}", format_attributes, ">"].compact * ""
23
- end
19
+ def prefix = ["<#{name}", format_attributes, ">"].compact.join
24
20
 
25
- def computed_content
26
- self.class.names_without_suffix.include?(name) ? nil : content
27
- end
21
+ def computed_content = self.class.names_without_suffix.include?(name) ? nil : content
28
22
 
29
- def suffix
30
- self.class.names_without_suffix.include?(name) ? nil : "</#{name}>"
31
- end
23
+ def suffix = self.class.names_without_suffix.include?(name) ? nil : "</#{name}>"
32
24
 
33
- def render
34
- [prefix, computed_content, suffix].compact * ""
35
- end
25
+ def render = [prefix, computed_content, suffix].compact.join
36
26
 
37
27
  private
38
28
 
@@ -45,7 +35,9 @@ module Navigator
45
35
  end
46
36
 
47
37
  def concatenate_attributes attrs
48
- activator.activate(attrs).map { |key, value| %(#{key}="#{value}") } * " "
38
+ activator.activate(attrs)
39
+ .map { |key, value| %(#{key}="#{value}") }
40
+ .join(" ")
49
41
  end
50
42
 
51
43
  def format_attributes
data.tar.gz.sig CHANGED
Binary file
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: 5.5.0
4
+ version: 6.0.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Brooke Kuhlmann
@@ -10,9 +10,9 @@ bindir: bin
10
10
  cert_chain:
11
11
  - |
12
12
  -----BEGIN CERTIFICATE-----
13
- MIIC/jCCAeagAwIBAgIBAzANBgkqhkiG9w0BAQsFADAlMSMwIQYDVQQDDBpicm9v
14
- a2UvREM9YWxjaGVtaXN0cy9EQz1pbzAeFw0yMDAzMTUxNDQ1MzJaFw0yMTAzMTUx
15
- NDQ1MzJaMCUxIzAhBgNVBAMMGmJyb29rZS9EQz1hbGNoZW1pc3RzL0RDPWlvMIIB
13
+ MIIC/jCCAeagAwIBAgIBBDANBgkqhkiG9w0BAQsFADAlMSMwIQYDVQQDDBpicm9v
14
+ a2UvREM9YWxjaGVtaXN0cy9EQz1pbzAeFw0yMTAzMTkxMjQ4MDZaFw0yMjAzMTkx
15
+ MjQ4MDZaMCUxIzAhBgNVBAMMGmJyb29rZS9EQz1hbGNoZW1pc3RzL0RDPWlvMIIB
16
16
  IjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA6l1qpXTiomH1RfMRloyw7MiE
17
17
  xyVx/x8Yc3EupdH7uhNaTXQGyORN6aOY//1QXXMHIZ9tW74nZLhesWMSUMYy0XhB
18
18
  brs+KkurHnc9FnEJAbG7ebGvl/ncqZt72nQvaxpDxvuCBHgJAz+8i5wl6FhLw+oT
@@ -20,15 +20,15 @@ cert_chain:
20
20
  D5vkU0YlAm1r98BymuJlcQ1qdkVEI1d48ph4kcS0S0nv1RiuyVb6TCAR3Nu3VaVq
21
21
  3fPzZKJLZBx67UvXdbdicWPiUR75elI4PXpLIic3xytaF52ZJYyKZCNZJhNwfQID
22
22
  AQABozkwNzAJBgNVHRMEAjAAMAsGA1UdDwQEAwIEsDAdBgNVHQ4EFgQU0nzow9vc
23
- 2CdikiiE3fJhP/gY4ggwDQYJKoZIhvcNAQELBQADggEBAIHhAlD3po4sTYqacXaQ
24
- XI9jIhrfMy//2PgbHWcETtlJPBeNUbbSNBABcllUHKqYsVDlSvSmss034KSWNR8F
25
- bF1GcloicyvcCC4y6IoW4it0COAcdeaaxkxiBSgKdQFpff9REnDlIKK4uQ9lLxIo
26
- Y2G5xubiziKZkyfWFuSr67PIjW3Bu673D1JVBArhA1qbgQmYQcy1CkGOjo+iO8Nf
27
- 7u/QSfBHb+r/bXhKscDgPpnKwbUmvgO2+94zJG9KsrmIydlzYfsD09aXKx0t6Xy4
28
- 2XV8FRa7/JimI07sPLC13eLY3xd/aYTi85Z782KIA4j0G8XEEWAX0ouBhlXPocZv
29
- QWc=
23
+ 2CdikiiE3fJhP/gY4ggwDQYJKoZIhvcNAQELBQADggEBAEjpaOXHHp8s/7GL2qCb
24
+ YAs7urOLv9VHSPfQWAwaTMVnSsIf3Sw4xzISOP/mmfEPBPXtz61K5esrE/uTFtgb
25
+ FyjxQk2H0sEWgrRXGGNHBWQRhhEs7LP/TByoC15A0br++xLxRz4r7HBLGAWQQDpg
26
+ 66BJ2TBVjxS6K64tKbq7+ACyrOZGgTfNHACh4M076y0x0oRf/rwBrU39/KRfuhbb
27
+ cm+nNCEtO35gTmZ2bVDHLGvWazi3gJt6+huQjfXTCUUG2YYBxwhu+GPdAGQPxpf9
28
+ lkHilIrX69jq8wMPpBhlaw2mRmeSL50Wv5u6xVBvOHhXFSP1crXM95vfLhLyRYod
29
+ W2A=
30
30
  -----END CERTIFICATE-----
31
- date: 2020-12-13 00:00:00.000000000 Z
31
+ date: 2021-09-05 00:00:00.000000000 Z
32
32
  dependencies:
33
33
  - !ruby/object:Gem::Dependency
34
34
  name: rails
@@ -50,14 +50,14 @@ dependencies:
50
50
  requirements:
51
51
  - - "~>"
52
52
  - !ruby/object:Gem::Version
53
- version: '7.16'
53
+ version: '8.0'
54
54
  type: :runtime
55
55
  prerelease: false
56
56
  version_requirements: !ruby/object:Gem::Requirement
57
57
  requirements:
58
58
  - - "~>"
59
59
  - !ruby/object:Gem::Version
60
- version: '7.16'
60
+ version: '8.0'
61
61
  description:
62
62
  email:
63
63
  - brooke@alchemists.io
@@ -92,14 +92,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
92
92
  requirements:
93
93
  - - "~>"
94
94
  - !ruby/object:Gem::Version
95
- version: '2.7'
95
+ version: '3.0'
96
96
  required_rubygems_version: !ruby/object:Gem::Requirement
97
97
  requirements:
98
98
  - - ">="
99
99
  - !ruby/object:Gem::Version
100
100
  version: '0'
101
101
  requirements: []
102
- rubygems_version: 3.2.0
102
+ rubygems_version: 3.2.27
103
103
  signing_key:
104
104
  specification_version: 4
105
105
  summary: Enhances Rails with a DSL for menu navigation.
metadata.gz.sig CHANGED
Binary file