Sha256: fbd07af7a12d9d781e4ce815cafb092ec48da3ade9fefe8c994395090494bb77

Contents?: true

Size: 992 Bytes

Versions: 1

Compression:

Stored size: 992 Bytes

Contents

require "singleton"

require "mad_mimi/audience"
require "mad_mimi/mailer"
require "mad_mimi/config"

module MadMimi #:nodoc
  class << self
    # Sets the Mad Mimi configuration options. Best used by passing a block.
    #
    # Example:
    #
    #   MadMimi.configure do |config|
    #     config.username = "YourMadMimiEmailAddress"
    #     config.api_key  = "YourMadMimiApiKey"
    #   end
    #
    # Returns:
    #
    # The MadMimi +Config+ singleton instance.
    def configure
      config = MadMimi::Config.instance
      block_given? ? yield(config) : config
    end
    alias :config :configure

    # Authentication hash
    #
    # return [Hash]
    def authentication
      {
        :username => configure.username,
        :api_key => configure.api_key
      }
    end

    def api_url(ssl = false)
      "#{ssl ? 'https' : 'http'}://api.madmimi.com"
    end

    def audience
      MadMimi::Audience.new
    end

    def mailer
      MadMimi::Mailer.new
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
mad_mimi-0.0.3 lib/mad_mimi.rb