Class: EffectiveEmailTemplates::Importer
- Inherits:
-
Object
- Object
- EffectiveEmailTemplates::Importer
- Defined in:
- lib/effective_email_templates/importer.rb
Class Method Summary collapse
Instance Method Summary collapse
Class Method Details
.import(quiet: false, paths: nil) ⇒ Object
3 4 5 |
# File 'lib/effective_email_templates/importer.rb', line 3 def self.import(quiet: false, paths: nil) new().execute(overwrite: false, paths: paths, quiet: quiet) end |
.overwrite(quiet: false, paths: nil) ⇒ Object
7 8 9 |
# File 'lib/effective_email_templates/importer.rb', line 7 def self.overwrite(quiet: false, paths: nil) new().execute(overwrite: true, paths: paths, quiet: quiet) end |
Instance Method Details
#execute(overwrite:, paths: nil, quiet: false) ⇒ Object
11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 |
# File 'lib/effective_email_templates/importer.rb', line 11 def execute(overwrite:, paths: nil, quiet: false) return false unless ActiveRecord::Base.connection.table_exists?(EffectiveEmailTemplates.email_templates_table_name) paths ||= ActionController::Base.view_paths.map(&:path) paths.each do |path| Dir[Rails.root.join(path, '**', '*_mailer/', '*.liquid')].each do |filepath| name = File.basename(filepath, '.liquid') email_template = Effective::EmailTemplate.find_or_initialize_by(template_name: name) if email_template.persisted? && !overwrite puts("SKIPPED #{filename(filepath)}") unless quiet next end save(email_template, filepath, quiet: quiet) end end end |