Sha256: 8d954795510047cf74f0def297ef193eae72f82c34fcbfe7744aa34c69f2cbe3

Contents?: true

Size: 682 Bytes

Versions: 1

Compression:

Stored size: 682 Bytes

Contents

module Maily
  module Generator
    def self.run
      Maily.init!

      fixtures = []
      hooks    = []

      Maily::Mailer.list.each do |mailer|
        hooks << "\nMaily.hooks_for('#{mailer.name.classify}') do |mailer|"
        mailer.emails_list.each do |email|
          if email.require_hook?
            fixtures << email.required_arguments
            hooks << "  mailer.register_hook(:#{email.name}, #{email.required_arguments.join(', ')})"
          end
        end
        hooks << "end"
      end

      fixtures = fixtures.flatten.uniq.map { |f| "#{f.to_s} = ''" }.join("\n")
      hooks    = hooks.join("\n")

      fixtures + "\n" + hooks + "\n"
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
maily-0.7.2 lib/maily/generator.rb