phlex 1.10.3 → 1.11.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/lib/phlex/kit.rb +26 -19
- data/lib/phlex/sgml.rb +10 -1
- data/lib/phlex/version.rb +1 -1
- metadata +3 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 91e06f170cfccd6ef24d00ef34643293d36c9df7540ffb3fe482577c4a115898
|
4
|
+
data.tar.gz: 9eb38a0b368e1543789252f6ba8cb80df204b73fc81d413fc47b758adba191bc
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 4f2587dff9519706d7ec91c2745da7570c74a097b0282c0462504a54cc296312f1aee386a6645f1df5e7f503e1398df72681d345d18e5866f13a4dfcd4c4db1c
|
7
|
+
data.tar.gz: 3de0960cc4510e025620308ed8ae6c0b5594d3ee8a153b11c5c3eabdc74d3aa94193717f9a6fbc47fa378e8b7bbcd171a35bcfa3f486e66800bffd8da01bc033
|
data/lib/phlex/kit.rb
CHANGED
@@ -1,31 +1,38 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
3
|
module Phlex::Kit
|
4
|
-
|
5
|
-
|
6
|
-
|
4
|
+
module LazyLoader
|
5
|
+
def method_missing(name, *args, **kwargs, &block)
|
6
|
+
if name[0] == name[0].upcase && __phlex_kit_constants__.include?(name) && __get_phlex_kit_constant__(name) && methods.include?(name)
|
7
|
+
public_send(name, *args, **kwargs, &block)
|
8
|
+
else
|
9
|
+
super
|
10
|
+
end
|
11
|
+
end
|
12
|
+
|
13
|
+
def respond_to_missing?(name, include_private = false)
|
14
|
+
if name[0] == name[0].upcase && __phlex_kit_constants__.include?(name) && __get_phlex_kit_constant__(name) && methods.include?(name)
|
15
|
+
true
|
16
|
+
else
|
17
|
+
super
|
18
|
+
end
|
19
|
+
end
|
7
20
|
end
|
8
21
|
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
22
|
+
include LazyLoader
|
23
|
+
|
24
|
+
def self.extended(mod)
|
25
|
+
mod.include(LazyLoader)
|
26
|
+
mod.define_method(:__phlex_kit_constants__) { mod.__phlex_kit_constants__ }
|
27
|
+
mod.define_method(:__get_phlex_kit_constant__) { |name| mod.__get_phlex_kit_constant__(name) }
|
13
28
|
end
|
14
29
|
|
15
|
-
def
|
16
|
-
|
17
|
-
public_send(name, *args, **kwargs, &block)
|
18
|
-
else
|
19
|
-
super
|
20
|
-
end
|
30
|
+
def __phlex_kit_constants__
|
31
|
+
constants
|
21
32
|
end
|
22
33
|
|
23
|
-
def
|
24
|
-
|
25
|
-
true
|
26
|
-
else
|
27
|
-
super
|
28
|
-
end
|
34
|
+
def __get_phlex_kit_constant__(name)
|
35
|
+
const_get(name)
|
29
36
|
end
|
30
37
|
|
31
38
|
def const_added(name)
|
data/lib/phlex/sgml.rb
CHANGED
@@ -71,7 +71,7 @@ module Phlex
|
|
71
71
|
|
72
72
|
def self.method_added(method_name)
|
73
73
|
if method_name == :template
|
74
|
-
Kernel.warn "⚠️ [DEPRECATION] Defining the `template` method on a Phlex component will not be supported in Phlex 2.0. Please rename
|
74
|
+
Kernel.warn "⚠️ [DEPRECATION] Defining the `template` method on a Phlex component will not be supported in Phlex 2.0. Please rename `#{name}#template` to `#{name}#view_template` instead."
|
75
75
|
end
|
76
76
|
end
|
77
77
|
|
@@ -105,6 +105,11 @@ module Phlex
|
|
105
105
|
@_context = context
|
106
106
|
@_view_context = view_context
|
107
107
|
@_parent = parent
|
108
|
+
if @_rendered
|
109
|
+
warn "⚠️ [WARNING] You are rendering a component #{self.class.name} twice. This is not supported in Phlex 2.0."
|
110
|
+
end
|
111
|
+
@_rendered = true
|
112
|
+
|
108
113
|
if fragments
|
109
114
|
warn "⚠️ [WARNING] Selective Rendering is experimental, incomplete, and may change in future versions."
|
110
115
|
@_context.target_fragments(fragments)
|
@@ -435,6 +440,10 @@ module Phlex
|
|
435
440
|
raise ArgumentError, "Unsafe attribute name detected: #{k}."
|
436
441
|
end
|
437
442
|
|
443
|
+
if lower_name.to_sym == :id && k != :id
|
444
|
+
warn "⚠️ [WARNING] Starting 2.0 Phlex will raise on non lowercase or string :id attribute."
|
445
|
+
end
|
446
|
+
|
438
447
|
case v
|
439
448
|
when true
|
440
449
|
buffer << " " << name
|
data/lib/phlex/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: phlex
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.
|
4
|
+
version: 1.11.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Joel Drapper
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2024-06
|
11
|
+
date: 2024-07-06 00:00:00.000000000 Z
|
12
12
|
dependencies: []
|
13
13
|
description: A high-performance view framework optimised for fun.
|
14
14
|
email:
|
@@ -62,7 +62,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
62
62
|
- !ruby/object:Gem::Version
|
63
63
|
version: '0'
|
64
64
|
requirements: []
|
65
|
-
rubygems_version: 3.5.
|
65
|
+
rubygems_version: 3.5.13
|
66
66
|
signing_key:
|
67
67
|
specification_version: 4
|
68
68
|
summary: A fun framework for building views in Ruby.
|