phlex 1.9.2 → 1.10.1
Sign up to get free protection for your applications and to get access to all the features.
Potentially problematic release.
This version of phlex might be problematic. Click here for more details.
- checksums.yaml +4 -4
- data/.rubocop.yml +12 -0
- data/.ruby-version +1 -1
- data/.solargraph.yml +11 -0
- data/CHANGELOG.md +16 -1
- data/Gemfile +12 -8
- data/README.md +3 -1
- data/SECURITY.md +7 -6
- data/config/sus.rb +0 -2
- data/fixtures/components/say_hi.rb +15 -0
- data/fixtures/components.rb +7 -0
- data/fixtures/layout.rb +1 -1
- data/fixtures/page.rb +19 -17
- data/gd/phlex/sgml/attributes.rb +30 -2
- data/lib/phlex/black_hole.rb +1 -1
- data/lib/phlex/context.rb +45 -8
- data/lib/phlex/csv.rb +133 -0
- data/lib/phlex/deferred_render.rb +1 -1
- data/lib/phlex/elements.rb +72 -19
- data/lib/phlex/helpers.rb +21 -5
- data/lib/phlex/html/standard_elements.rb +138 -96
- data/lib/phlex/html/void_elements.rb +17 -17
- data/lib/phlex/html.rb +16 -2
- data/lib/phlex/kit.rb +62 -0
- data/lib/phlex/sgml.rb +108 -60
- data/lib/phlex/svg/standard_elements.rb +64 -64
- data/lib/phlex/svg.rb +10 -0
- data/lib/phlex/version.rb +1 -1
- data/lib/phlex.rb +34 -12
- metadata +8 -46
- data/lib/phlex/overrides/symbol/name.rb +0 -6
data/lib/phlex/helpers.rb
CHANGED
@@ -1,8 +1,6 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
|
-
|
4
|
-
using Phlex::Overrides::Symbol::Name
|
5
|
-
end
|
3
|
+
require "set"
|
6
4
|
|
7
5
|
module Phlex::Helpers
|
8
6
|
private
|
@@ -76,13 +74,31 @@ module Phlex::Helpers
|
|
76
74
|
def mix(*args)
|
77
75
|
args.each_with_object({}) do |object, result|
|
78
76
|
result.merge!(object) do |_key, old, new|
|
77
|
+
next new if old.nil?
|
78
|
+
|
79
79
|
case new
|
80
80
|
when Hash
|
81
81
|
old.is_a?(Hash) ? mix(old, new) : new
|
82
82
|
when Array
|
83
|
-
|
83
|
+
case old
|
84
|
+
when Array then old + new
|
85
|
+
when Set then old.to_a + new
|
86
|
+
when Hash then new
|
87
|
+
else
|
88
|
+
[old] + new
|
89
|
+
end
|
90
|
+
when Set
|
91
|
+
case old
|
92
|
+
when Set then old + new
|
93
|
+
when Array then old + new.to_a
|
94
|
+
when Hash then new
|
95
|
+
else
|
96
|
+
new + [old]
|
97
|
+
end
|
84
98
|
when String
|
85
|
-
old.is_a?(String) ? "#{old} #{new}" : new
|
99
|
+
old.is_a?(String) ? "#{old} #{new}" : old + old.class[new]
|
100
|
+
when nil
|
101
|
+
old
|
86
102
|
else
|
87
103
|
new
|
88
104
|
end
|