view_component-fragment_caching 0.2.1 → 0.3.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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: cc762ffb0feb715f3c3bf3d621c783871453926765109c40d4cd827f50494580
4
- data.tar.gz: 717f0a81506a140d71d0b717149662fe073eb006bdfd0cbeae59f2419bf9a6a3
3
+ metadata.gz: 21103a5d9df674efecebb73f125a10625180fb3b87e5fccd59f9ed3e67956fda
4
+ data.tar.gz: cd03c59b1c3fb16f6b87e3a0a4e586674961e3dc6dc339a29e86c608bab1944f
5
5
  SHA512:
6
- metadata.gz: 642b6eef5c8669122224a26b1090f3bb1ce242c1b322126c967effc4361048014de35486007aeb8d7f7a9f3dff7b60ce8c4e7fa100cc9391de787112944c30ae
7
- data.tar.gz: a523f790eaf7747ab425a5d5279294fa5f96bfcf3d958fe50f1472ecc3c5083cf13e882e0ccebee5ea7ff4b2620a4b7062751ed88680b060a8c7609688080617
6
+ metadata.gz: ebaf8c548694121e1eccfaef06211957ed10c9bb562f9bdee6d4c975c0dca908aeae37ac640b6c8aad8755d186f7566c18b2baba2ccb8a952d1bd3fcc8af7901
7
+ data.tar.gz: 23af3729cd0ae8eda74f87ed9fb6d7b2aaa5a6f30e7ffd178796cc8619471be87c2e7364ab1d9dc065e08ddf09d14fcc9177c12975c1f4d72fd8398ceb55686e
@@ -9,38 +9,46 @@ module ViewComponent
9
9
 
10
10
  class PathParser < ActionView::Resolver::PathParser
11
11
  class MatchedAttributes
12
- FORMATS = (ActionView::Template::Types.symbols | %i(rb)).map(&Regexp.method(:escape)).join('|').freeze
13
- private_constant :FORMATS
14
-
15
- HANDLERS = ActionView::Template::Handlers.extensions.map(&Regexp.method(:escape)).join('|').freeze
16
- private_constant :HANDLERS
17
-
18
- LOCALES = '(?!rb)[a-z]{2}(?:-[A-Z]{2})?'.freeze
19
- private_constant :LOCALES
20
-
21
- VARIANTS = '[^.]*'.freeze
22
- private_constant :VARIANTS
23
-
24
- MATCH_NAMES = %i(prefix partial action locale format variant handler).freeze
25
- private_constant :MATCH_NAMES
26
-
27
- REGEX = %r{
28
- \A
29
- (?:(?<prefix>.*)/)?
30
- (?<partial>_)?
31
- (?<action>.*?)
32
- (?:\.(?<locale>#{LOCALES}))??
33
- (?:\.(?<format>#{FORMATS}))??
34
- (?:\+(?<variant>#{VARIANTS}))??
35
- (?:\.(?<handler>#{HANDLERS}))?
36
- \z
37
- }x.freeze
38
- private_constant :REGEX
12
+ class << self
13
+ def formats
14
+ @formats ||= (ActionView::Template::Types.symbols | %i(rb)).map(&Regexp.method(:escape)).join('|').freeze
15
+ end
16
+
17
+ def handlers
18
+ @handlers ||= ActionView::Template::Handlers.extensions.map(&Regexp.method(:escape)).join('|').freeze
19
+ end
20
+
21
+ def locales
22
+ @locales ||= '(?!rb)[a-z]{2}(?:-[A-Z]{2})?'.freeze
23
+ end
24
+
25
+ def variants
26
+ @variants ||= '[^.]*'.freeze
27
+ end
28
+
29
+ def match_names
30
+ @match_names ||= %i(prefix partial action locale format variant handler).freeze
31
+ end
32
+
33
+ def regex
34
+ @regex ||= %r{
35
+ \A
36
+ (?:(?<prefix>.*)/)?
37
+ (?<partial>_)?
38
+ (?<action>.*?)
39
+ (?:\.(?<locale>#{locales}))??
40
+ (?:\.(?<format>#{formats}))??
41
+ (?:\+(?<variant>#{variants}))??
42
+ (?:\.(?<handler>#{handlers}))?
43
+ \z
44
+ }x.freeze
45
+ end
46
+ end
39
47
 
40
48
  delegate :[], to: :match
41
49
 
42
50
  def initialize(path)
43
- @match = REGEX.match path
51
+ @match = self.class.regex.match path
44
52
  end
45
53
 
46
54
  def format
@@ -60,11 +68,11 @@ module ViewComponent
60
68
  end
61
69
 
62
70
  def method_missing(method_name, *)
63
- match[method_name] if MATCH_NAMES.include? method_name
71
+ match[method_name] if self.class.match_names.include? method_name
64
72
  end
65
73
 
66
74
  def respond_to_missing?(method_name)
67
- MATCH_NAMES.include? method_name
75
+ self.class.match_names.include? method_name
68
76
  end
69
77
 
70
78
  private
@@ -1,6 +1,6 @@
1
1
  module ViewComponent
2
2
  module FragmentCaching
3
- VERSION = '0.2.1'.freeze
3
+ VERSION = '0.3.2'.freeze
4
4
  public_constant :VERSION
5
5
  end
6
6
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: view_component-fragment_caching
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.1
4
+ version: 0.3.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Patrick Arnett
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2022-06-17 00:00:00.000000000 Z
11
+ date: 2024-02-02 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rails
@@ -30,14 +30,14 @@ dependencies:
30
30
  requirements:
31
31
  - - "~>"
32
32
  - !ruby/object:Gem::Version
33
- version: '2.43'
33
+ version: '3.9'
34
34
  type: :runtime
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
38
  - - "~>"
39
39
  - !ruby/object:Gem::Version
40
- version: '2.43'
40
+ version: '3.9'
41
41
  - !ruby/object:Gem::Dependency
42
42
  name: capybara
43
43
  requirement: !ruby/object:Gem::Requirement
@@ -163,7 +163,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
163
163
  - !ruby/object:Gem::Version
164
164
  version: '0'
165
165
  requirements: []
166
- rubygems_version: 3.2.22
166
+ rubygems_version: 3.4.10
167
167
  signing_key:
168
168
  specification_version: 4
169
169
  summary: Bust fragment caches when view components update