Sha256: bae6a3085ede1781c4feb973966ed0cf13b7fbf6464561c5cf57dc38a6d376c8

Contents?: true

Size: 856 Bytes

Versions: 1

Compression:

Stored size: 856 Bytes

Contents

require 'faraday'

require_relative "mailstro/version"
require_relative "mailstro/configuration"
require_relative "mailstro/error"
require_relative "mailstro/resource"
require_relative "mailstro/delivery"

module Mailstro

  # Allows us to remove default behaviour during testing.
  class RealStrategy
    class << self
      def deliver(email_name, options)
        Delivery.new(email_name, options).deliver
      end
    end
  end

  class << self
    attr_accessor :configuration, :strategy
  end

  @strategy      = RealStrategy
  @configuration = Configuration.new

  def self.configure
    yield(@configuration) && @configuration.validate!
  end

  def self.deliver(email_name, options)
    @strategy.deliver(email_name, options)
  end

  def self.has_delivered?(email_name, options={})
    TestStrategy.has_delivered?(email_name, options)
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
mailstro-0.0.10 lib/mailstro.rb