html_email_creator 1.0.8 → 1.0.9
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.
@@ -90,12 +90,7 @@ module HtmlEmailCreator
|
|
90
90
|
filled_layout.gsub!(/\{\{\s*#{key}\s*\}\}/, value)
|
91
91
|
end
|
92
92
|
|
93
|
-
|
94
|
-
@settings.extension_data.each_pair do |key, value|
|
95
|
-
filled_layout.gsub!(/\{\{\s*#{key}\s*\}\}/, value)
|
96
|
-
end
|
97
|
-
|
98
|
-
filled_layout
|
93
|
+
@settings.fill_extension_data(filled_layout)
|
99
94
|
end
|
100
95
|
|
101
96
|
end
|
@@ -2,13 +2,13 @@ module HtmlEmailCreator
|
|
2
2
|
class Settings
|
3
3
|
|
4
4
|
# Create settings configuration file.
|
5
|
-
#
|
5
|
+
#
|
6
6
|
# If the root is not set, the configuration is not searched from the file system
|
7
7
|
# but instead the defaults are used.
|
8
8
|
def initialize(root = nil)
|
9
9
|
@root = root
|
10
10
|
@root ||= File.expand_path('~')
|
11
|
-
@config = create_configuration
|
11
|
+
@config = create_configuration
|
12
12
|
end
|
13
13
|
|
14
14
|
def layouts_path
|
@@ -22,7 +22,7 @@ module HtmlEmailCreator
|
|
22
22
|
def emails_path
|
23
23
|
@config["emails_path"]
|
24
24
|
end
|
25
|
-
|
25
|
+
|
26
26
|
def includes_path
|
27
27
|
@config["includes_path"]
|
28
28
|
end
|
@@ -31,6 +31,16 @@ module HtmlEmailCreator
|
|
31
31
|
@config["cdn_url"]
|
32
32
|
end
|
33
33
|
|
34
|
+
def fill_extension_data(source)
|
35
|
+
filled = source.dup
|
36
|
+
|
37
|
+
extension_data.each_pair do |key, value|
|
38
|
+
filled.gsub!(/\{\{\s*#{key}\s*\}\}/, value)
|
39
|
+
end
|
40
|
+
|
41
|
+
filled
|
42
|
+
end
|
43
|
+
|
34
44
|
def extension_data
|
35
45
|
return @extension_data if @extension_data
|
36
46
|
extensions = HtmlEmailCreator::Extensions.new(self)
|
@@ -43,7 +53,7 @@ module HtmlEmailCreator
|
|
43
53
|
def built_in_extensions
|
44
54
|
(@config["extensions"] || {})["built_in"] || []
|
45
55
|
end
|
46
|
-
|
56
|
+
|
47
57
|
private
|
48
58
|
|
49
59
|
def custom_extensions
|
@@ -56,23 +66,23 @@ module HtmlEmailCreator
|
|
56
66
|
config_root_dir = File.dirname(config_file)
|
57
67
|
loaded_config = YAML.load_file(config_file)
|
58
68
|
# fill missing values with defaults if missing
|
59
|
-
default_config.each_pair do |key, value|
|
69
|
+
default_config.each_pair do |key, value|
|
60
70
|
loaded_config[key] = value unless loaded_config[key]
|
61
71
|
end
|
62
|
-
|
72
|
+
|
63
73
|
# make absolute paths if is relative for all _path ending keys
|
64
74
|
loaded_config.each_pair do |key, value|
|
65
75
|
if key.match(/_path$/) && !value.match(/^\//)
|
66
76
|
loaded_config[key] = File.join(config_root_dir, value)
|
67
77
|
end
|
68
78
|
end
|
69
|
-
|
79
|
+
|
70
80
|
loaded_config
|
71
81
|
else
|
72
82
|
default_config
|
73
83
|
end
|
74
84
|
end
|
75
|
-
|
85
|
+
|
76
86
|
def default_config
|
77
87
|
{
|
78
88
|
"layouts_path" => find_dir("Layouts"),
|
@@ -83,11 +93,11 @@ module HtmlEmailCreator
|
|
83
93
|
"extensions" => {}
|
84
94
|
}
|
85
95
|
end
|
86
|
-
|
96
|
+
|
87
97
|
def find_dir(dir)
|
88
98
|
HtmlEmailCreator::Helper.find_recursively(@root, dir, File.join(@root, dir))
|
89
99
|
end
|
90
|
-
|
100
|
+
|
91
101
|
def find_config_file
|
92
102
|
HtmlEmailCreator::Helper.find_recursively(@root, ".html_config.yaml")
|
93
103
|
end
|
@@ -60,7 +60,7 @@ module HtmlEmailCreator
|
|
60
60
|
if File.exists?(template)
|
61
61
|
# run through a formatter
|
62
62
|
formatter = HtmlEmailCreator::Formatter.new(IO.read(template), settings)
|
63
|
-
formatter.find_by_filename(template).format
|
63
|
+
settings.fill_extension_data(formatter.find_by_filename(template).format)
|
64
64
|
else
|
65
65
|
"Included file '#{template}' not found."
|
66
66
|
end
|
metadata
CHANGED
@@ -5,8 +5,8 @@ version: !ruby/object:Gem::Version
|
|
5
5
|
segments:
|
6
6
|
- 1
|
7
7
|
- 0
|
8
|
-
-
|
9
|
-
version: 1.0.
|
8
|
+
- 9
|
9
|
+
version: 1.0.9
|
10
10
|
platform: ruby
|
11
11
|
authors:
|
12
12
|
- Pekka Mattila
|
@@ -14,7 +14,7 @@ autorequire:
|
|
14
14
|
bindir: bin
|
15
15
|
cert_chain: []
|
16
16
|
|
17
|
-
date: 2011-11-
|
17
|
+
date: 2011-11-21 00:00:00 +02:00
|
18
18
|
default_executable: html_email_creator
|
19
19
|
dependencies:
|
20
20
|
- !ruby/object:Gem::Dependency
|