module Responsys

Attributes

configuration[RW]

Public Class Methods

configure() { |configuration| ... } click to toggle source
# File lib/responsys/configuration.rb, line 50
def self.configure
  yield(configuration)

  check_configuration

  prepare!

  Responsys::Api::SessionPool.init
end

Private Class Methods

absent_api_credentials?() click to toggle source
# File lib/responsys/configuration.rb, line 103
def self.absent_api_credentials?
  @configuration.settings[:username].blank? || @configuration.settings[:password].blank?
end
absent_api_description?() click to toggle source
# File lib/responsys/configuration.rb, line 91
def self.absent_api_description?
  wsdl = @configuration.settings[:wsdl].present?
  endpoint = @configuration.settings[:endpoint].present?
  namespace = @configuration.settings[:namespace].present?

  return false if wsdl

  return !(endpoint && namespace) if endpoint || namespace

  true
end
add_debug_options!() click to toggle source
# File lib/responsys/configuration.rb, line 83
def self.add_debug_options!
  @configuration.settings[:savon_settings] = debug_savon_options.merge!(@configuration.settings[:savon_settings])
end
check_configuration() click to toggle source
# File lib/responsys/configuration.rb, line 62
def self.check_configuration
  raise Responsys::Exceptions::GenericException.new("configuration.api_description_not_provided") if absent_api_description?
  raise Responsys::Exceptions::GenericException.new("configuration.api_credentials_not_provided") if absent_api_credentials?
end
debug_savon_options() click to toggle source
# File lib/responsys/configuration.rb, line 87
def self.debug_savon_options
  { log_level: :debug, log: true, pretty_print_xml: true }
end
default_settings_hash() click to toggle source
# File lib/responsys/configuration.rb, line 107
def self.default_settings_hash
  {
    enabled: true,
    debug: false,
    sessions: {
      size: 80,
      timeout: 30
    },
    savon_settings: {
      ssl_version: :TLSv1,
      element_form_default: :qualified
    }
  }
end
prepare!() click to toggle source
# File lib/responsys/configuration.rb, line 67
def self.prepare!
  @configuration.settings = default_settings_hash.merge(@configuration.settings)
  @configuration.settings[:savon_settings] = savon_settings
  @configuration.settings[:sessions] = sessions

  add_debug_options! if @configuration.debug?
end
savon_settings() click to toggle source
# File lib/responsys/configuration.rb, line 75
def self.savon_settings
  default_settings_hash[:savon_settings].merge!(@configuration.settings[:savon_settings])
end
sessions() click to toggle source
# File lib/responsys/configuration.rb, line 79
def self.sessions
  default_settings_hash[:sessions].merge!(@configuration.settings[:sessions])
end