Sha256: f49e3e564a2310ac8b0f9f5b40346de2304c5ea78b61f5b964d185de59b8993b

Contents?: true

Size: 1.25 KB

Versions: 1

Compression:

Stored size: 1.25 KB

Contents

require 'mail'
require 'yaml'

Dir[File.expand_path("../idid/**/*.rb", __FILE__)].each {|f| require f}

module Idid
  class << self
    attr_accessor :configuration

    def send *words
      setup_delivery
      Mail.deliver do
        from    Idid.configuration.email
        to      "#{Idid.configuration.project}@team.idonethis.com"
        subject "I did this"
        body    words.flatten.join(" ")
      end
    end

    def setup_delivery
      method = Idid.configuration.delivery['method']
      options = Idid.configuration.delivery['options'] || {}

      options.keys.each do |key|
        options[(key.to_sym rescue key) || key] = options.delete(key)
      end

      puts options

      case method
      when 'smtp'
        setup_smtp options
      when 'sendmail'
        setup_sendmail
      when 'exim'
        setup_exim options
      end
    end

    def setup_smtp options = {}
      Mail.defaults do
        delivery_method :smtp, Idid::Configuration::SMTP_DEFAULTS.merge(options)
      end
    end

    def setup_sendmail
      Mail.defaults do
        delivery_method :sendmail
      end
    end

    def setup_exim options={}
      Mail.defaults do
        delivery_method :exim, Idid::Configuration::EXIM_DEFAULTS.merge(options)
      end
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
idid-0.0.1 lib/idid.rb