Method: SimpleSpark::Client#initialize
- Defined in:
- lib/simple_spark/client.rb
#initialize(opts = {}) ⇒ Client
Returns a new instance of Client.
10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 |
# File 'lib/simple_spark/client.rb', line 10 def initialize(opts = {}) @api_key = opts[:api_key] || ENV['SPARKPOST_API_KEY'] @api_host = opts[:api_host] || 'https://api.sparkpost.com' @base_path = opts[:base_path] || '/api/v1/' @subaccount_id = opts[:subaccount_id] @headers = opts[:headers] @logger = opts[:logger] || SimpleSpark::Client.default_logger fail Exceptions::InvalidConfiguration.new, 'You must provide a SparkPost API key' unless @api_key fail Exceptions::InvalidConfiguration.new, 'You must provide a SparkPost API host' unless @api_host # this should never occur unless the default above is changed fail Exceptions::InvalidConfiguration.new, 'You must provide a SparkPost base path' unless @base_path # this should never occur unless the default above is changed fail Exceptions::InvalidConfiguration.new, 'The headers options provided must be a valid Hash' if @headers && !@headers.is_a?(Hash) rails_development = true & defined?(Rails) && Rails.env.development? @debug = opts[:debug].nil? ? rails_development : opts[:debug] @session = Excon.new(@api_host, debug: @debug) end |