fx_awesome_mails 0.5.4 → 0.5.5
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:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: bd2b4740a0862d162ca275c62ebaa8796a72570f6f7efa4c990ffdc0c70eb4d2
|
|
4
|
+
data.tar.gz: 3cbd818cad4ef2c7f46467e50e6eec5578cf333d001215c9caa78f9cbf09ab97
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: b164d6adbd4f1a04bc8ce92f1f35a400cf8063d4fb324b2c354c46a1ee93593200611e2bdc4107f1af6ba34daeef973e9820b5aa54109203a83b3f1668837fc5
|
|
7
|
+
data.tar.gz: 65885c7bccebce3a048bb05a311ed929f03082bbb5c9ffec1ca14e459a702dfc992969e11c568be86fc38cf4c20d06005230ee4b5a51daebce8ebb4e59ccc5ff
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
module FXAwesomeMails
|
|
2
|
+
module Refinements
|
|
3
|
+
refine String do
|
|
4
|
+
def to_css_hash
|
|
5
|
+
Hash[split(';').map { _1.split(':').map(&:strip) }]
|
|
6
|
+
end
|
|
7
|
+
|
|
8
|
+
def merge_css_options(second, key)
|
|
9
|
+
return self&.strip if second.blank?
|
|
10
|
+
return second&.strip if self.blank?
|
|
11
|
+
|
|
12
|
+
case key
|
|
13
|
+
when :style
|
|
14
|
+
return self.strip.to_css_hash.deep_merge_v2(second.strip.to_css_hash).map {|k,v| [k,v].join(':') }.join(';')
|
|
15
|
+
when :class
|
|
16
|
+
self.strip.split(' ').union(second.strip.split(' ')).join(' ')
|
|
17
|
+
else
|
|
18
|
+
return ""
|
|
19
|
+
end
|
|
20
|
+
end
|
|
21
|
+
end
|
|
22
|
+
|
|
23
|
+
refine Hash do
|
|
24
|
+
def deep_merge_v2(second)
|
|
25
|
+
merger = proc { |_, v1, v2| Hash === v1 && Hash === v2 ? v1.merge(v2, &merger) : Array === v1 && Array === v2 ? v1 | v2 : [:undefined, nil, :nil].include?(v2) ? v1 : v2 }
|
|
26
|
+
merge(second.to_h, &merger)
|
|
27
|
+
end
|
|
28
|
+
|
|
29
|
+
def merge_email_options(second)
|
|
30
|
+
merger = proc { |k, v1, v2| Hash === v1 && Hash === v2 ? v1.merge(v2, &merger) : Array === v1 && Array === v2 ? v1 | v2 : [:undefined, nil, :nil].include?(v2) ? v1 : [:style, :class].include?(k) ? v1.merge_css_options(v2, k) : v2}
|
|
31
|
+
merge(second.to_h, &merger)
|
|
32
|
+
end
|
|
33
|
+
end
|
|
34
|
+
end
|
|
35
|
+
end
|
|
@@ -1,9 +1,8 @@
|
|
|
1
|
-
require 'fx_awesome_mails/
|
|
1
|
+
require 'fx_awesome_mails/refinements'
|
|
2
2
|
module FXAwesomeMails
|
|
3
3
|
module EmailHelpers
|
|
4
4
|
|
|
5
|
-
|
|
6
|
-
String.include FXAwesomeMails::CoreExtensions::String::Merging
|
|
5
|
+
using FXAwesomeMails::Refinements
|
|
7
6
|
|
|
8
7
|
def preheader(text)
|
|
9
8
|
"<div style='display: none; max-height: 0px; overflow: hidden;'>
|
metadata
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: fx_awesome_mails
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.5.
|
|
4
|
+
version: 0.5.5
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Felix Gebhard
|
|
@@ -40,8 +40,8 @@ files:
|
|
|
40
40
|
- README.md
|
|
41
41
|
- Rakefile
|
|
42
42
|
- lib/fx_awesome_mails.rb
|
|
43
|
-
- lib/fx_awesome_mails/core_extensions.rb
|
|
44
43
|
- lib/fx_awesome_mails/railtie.rb
|
|
44
|
+
- lib/fx_awesome_mails/refinements.rb
|
|
45
45
|
- lib/fx_awesome_mails/version.rb
|
|
46
46
|
- lib/fx_awesome_mails/view_helpers.rb
|
|
47
47
|
- lib/tasks/fx_awesome_mails_tasks.rake
|
|
@@ -1,39 +0,0 @@
|
|
|
1
|
-
module FXAwesomeMails
|
|
2
|
-
module CoreExtensions
|
|
3
|
-
module Hash
|
|
4
|
-
module Merging
|
|
5
|
-
def deep_merge_v2(second)
|
|
6
|
-
merger = proc { |_, v1, v2| Hash === v1 && Hash === v2 ? v1.merge(v2, &merger) : Array === v1 && Array === v2 ? v1 | v2 : [:undefined, nil, :nil].include?(v2) ? v1 : v2 }
|
|
7
|
-
merge(second.to_h, &merger)
|
|
8
|
-
end
|
|
9
|
-
|
|
10
|
-
def merge_email_options(second)
|
|
11
|
-
merger = proc { |k, v1, v2| Hash === v1 && Hash === v2 ? v1.merge(v2, &merger) : Array === v1 && Array === v2 ? v1 | v2 : [:undefined, nil, :nil].include?(v2) ? v1 : [:style, :class].include?(k) ? v1.merge_css_options(v2, k) : v2}
|
|
12
|
-
merge(second.to_h, &merger)
|
|
13
|
-
end
|
|
14
|
-
end
|
|
15
|
-
end
|
|
16
|
-
|
|
17
|
-
module String
|
|
18
|
-
module Merging
|
|
19
|
-
def merge_css_options(second, key)
|
|
20
|
-
return self&.strip if second.blank?
|
|
21
|
-
return second&.strip if self.blank?
|
|
22
|
-
|
|
23
|
-
case key
|
|
24
|
-
when :style
|
|
25
|
-
return self.strip.to_css_hash.deep_merge_v2(second.strip.to_css_hash).map {|k,v| [k,v].join(':') }.join(';')
|
|
26
|
-
when :class
|
|
27
|
-
self.strip.split(' ').union(second.strip.split(' ')).join(' ')
|
|
28
|
-
else
|
|
29
|
-
return ""
|
|
30
|
-
end
|
|
31
|
-
end
|
|
32
|
-
|
|
33
|
-
def to_css_hash
|
|
34
|
-
Hash[self.split(';').map { _1.split(':').map(&:strip) }]
|
|
35
|
-
end
|
|
36
|
-
end
|
|
37
|
-
end
|
|
38
|
-
end
|
|
39
|
-
end
|