vident 0.2.0 → 0.2.2

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: 43ac831925166a175434c569389eb4c2a035fd07fbe1166da8deeef8c96b9b6b
4
- data.tar.gz: ba8ac8e5c95cbecbf8952fd2ac3dcf476a777f52f420d3c126abce7c63368c27
3
+ metadata.gz: 2279071e93c86a27cab51ac5e30ce0d84ae5696434120043c6a2ebfaab40a4a3
4
+ data.tar.gz: 0e85654cb617dfffdfd42c6263f09c41c20a6d527dfb70d74fc71404b97cda13
5
5
  SHA512:
6
- metadata.gz: 4b9f4399542e09fbe1bf5b9de41b7b0b7069c2e27a7b479ee65c6be09c54df1f78309c0ad1e2ed378299617e5b73fb99dc6e3dc5d9af89e8e4dbecf82c868fca
7
- data.tar.gz: 4d39061d988c2b2b25c3a11c098d4e3328ab1e9d094ef09312278aa290574c227bd6bea9ba9086697cb213960fce5b87ac7abd0acb815816bf28035d10ac64a0
6
+ metadata.gz: 127bf0f2146fed5560fac39c40ec15f967ca55e96af800cb128d1524ed91be7aef13078d070de1b06a7801af32d7f79563a583709dbd0a20e0f72913ea9c0c02
7
+ data.tar.gz: 75aee42b5f6942857bcbd3267914ec3aa031c9a2bfa3ef2b3489f57fde5d172f75508a17b8ce6a89a95791a2b270d182e1194906a1e21eee818ffdc8068f3c70
data/lib/vident/base.rb CHANGED
@@ -33,7 +33,7 @@ module Vident
33
33
  end
34
34
 
35
35
  def identifier_name_path
36
- if ancestors.include?(Phlex::HTML)
36
+ if phlex_component?
37
37
  name.remove("Views::").underscore
38
38
  else
39
39
  name.underscore
@@ -44,6 +44,10 @@ module Vident
44
44
  path.split("/").map { |p| p.to_s.dasherize }.join("--")
45
45
  end
46
46
 
47
+ def phlex_component?
48
+ @phlex_component ||= ancestors.map(&:name).include?("Phlex::HTML")
49
+ end
50
+
47
51
  private
48
52
 
49
53
  # Define reader & presence check method, for performance use ivar directly
@@ -99,7 +103,7 @@ module Vident
99
103
  def parent_element(**options)
100
104
  @parent_element ||= begin
101
105
  # Note: we cant mix phlex and view_component render contexts
102
- klass = if self.class.ancestors.include?(Phlex::HTML)
106
+ klass = if self.class.phlex_component?
103
107
  RootComponent::UsingPhlexHTML
104
108
  else
105
109
  RootComponent::UsingViewComponent
@@ -20,6 +20,9 @@ module Vident
20
20
  end
21
21
 
22
22
  def with_cache_key(*attrs, name: :_collection)
23
+ raise StandardError, "with_cache_key can only be used on components *without* slots as there is no eary way to track their content changes so too risky" if respond_to?(:slots?) && slots?
24
+ # Add view file to cache key
25
+ attrs << :component_modified_time
23
26
  named_cache_key_includes(name, *attrs)
24
27
  end
25
28
 
@@ -51,13 +54,6 @@ module Vident
51
54
 
52
55
  attr_reader :component_dependencies
53
56
 
54
- def with_cache_key(*attrs, name: :_collection)
55
- raise StandardError, "with_cache_key can only be used on components *without* slots as there is no eary way to track their content changes so too risky" if slots?
56
- # Add view file to cache key
57
- attrs << :component_modified_time
58
- super
59
- end
60
-
61
57
  def component_modified_time
62
58
  return @component_modified_time if Rails.env.production? && @component_modified_time
63
59
  # FIXME: This could stack overflow if there are circular dependencies
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Vident
4
- VERSION = "0.2.0"
4
+ VERSION = "0.2.2"
5
5
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: vident
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.0
4
+ version: 0.2.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Stephen Ierodiaconou
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2022-12-26 00:00:00.000000000 Z
11
+ date: 2023-01-04 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activesupport