Class: EacTemplates::Variables::Content
- Defined in:
- lib/eac_templates/variables/content.rb
Constant Summary collapse
- VARIABLE_DELIMITER =
::Regexp.quote('%%')
- VARIABLE_PATTERN =
/#{VARIABLE_DELIMITER}([a-z0-9._]*)#{VARIABLE_DELIMITER}/i
Class Method Summary collapse
Instance Method Summary collapse
-
#apply(variables_source) ⇒ Object
variables_providerA [Hash] or object which responds toread_entry(entry_name). - #apply_to_file(variables_source, output_file_path) ⇒ Object
Class Method Details
.from_file(path) ⇒ EacTemplates::Variables::Content
12 13 14 |
# File 'lib/eac_templates/variables/content.rb', line 12 def from_file(path) new(path.to_pathname.read) end |
Instance Method Details
#apply(variables_source) ⇒ Object
variables_provider A [Hash] or object which responds to read_entry(entry_name).
21 22 23 24 25 26 |
# File 'lib/eac_templates/variables/content.rb', line 21 def apply(variables_source) variables_provider = ::EacTemplates::Variables::Providers.build(variables_source) variables.inject(content) do |a, e| a.gsub(variable_pattern(e), variables_provider.variable_value(e).to_s) end end |
#apply_to_file(variables_source, output_file_path) ⇒ Object
28 29 30 |
# File 'lib/eac_templates/variables/content.rb', line 28 def apply_to_file(variables_source, output_file_path) output_file_path.to_pathname.write(apply(variables_source)) end |