Class: HtmlEmailCreator::Settings
- Inherits:
-
Object
- Object
- HtmlEmailCreator::Settings
- Defined in:
- lib/html_email_creator/settings.rb
Instance Method Summary collapse
- #built_in_extensions ⇒ Object
- #cdn_url ⇒ Object
- #emails_path ⇒ Object
- #extension_data ⇒ Object
- #fill_extension_data(source) ⇒ Object
- #includes_path ⇒ Object
-
#initialize(root = nil) ⇒ Settings
constructor
Create settings configuration file.
- #layouts_path ⇒ Object
- #output_path ⇒ Object
Constructor Details
#initialize(root = nil) ⇒ Settings
Create settings configuration file.
If the root is not set, the configuration is not searched from the file system but instead the defaults are used.
8 9 10 11 12 |
# File 'lib/html_email_creator/settings.rb', line 8 def initialize(root = nil) @root = root @root ||= File.('~') @config = create_configuration end |
Instance Method Details
#built_in_extensions ⇒ Object
53 54 55 |
# File 'lib/html_email_creator/settings.rb', line 53 def built_in_extensions (@config["extensions"] || {})["built_in"] || [] end |
#cdn_url ⇒ Object
30 31 32 |
# File 'lib/html_email_creator/settings.rb', line 30 def cdn_url @config["cdn_url"] end |
#emails_path ⇒ Object
22 23 24 |
# File 'lib/html_email_creator/settings.rb', line 22 def emails_path @config["emails_path"] end |
#extension_data ⇒ Object
44 45 46 47 48 49 50 51 |
# File 'lib/html_email_creator/settings.rb', line 44 def extension_data return @extension_data if @extension_data extensions = HtmlEmailCreator::Extensions.new built_in_data = extensions.built_in(built_in_extensions) # use built in data for creating custom data custom_data = extensions.custom(built_in_data, custom_extensions) @extension_data = built_in_data.merge(custom_data) end |
#fill_extension_data(source) ⇒ Object
34 35 36 37 38 39 40 41 42 |
# File 'lib/html_email_creator/settings.rb', line 34 def fill_extension_data(source) filled = source.dup extension_data.each_pair do |key, value| filled.gsub!(/\{\{\s*#{key}\s*\}\}/, value) end filled end |
#includes_path ⇒ Object
26 27 28 |
# File 'lib/html_email_creator/settings.rb', line 26 def includes_path @config["includes_path"] end |
#layouts_path ⇒ Object
14 15 16 |
# File 'lib/html_email_creator/settings.rb', line 14 def layouts_path @config["layouts_path"] end |
#output_path ⇒ Object
18 19 20 |
# File 'lib/html_email_creator/settings.rb', line 18 def output_path @config["output_path"] end |