module Flexirest::Configuration::ClassMethods

Constants

DEFAULT_BASIC_URL_METHOD

Public Instance Methods

_reset_configuration!() click to toggle source
# File lib/flexirest/configuration.rb, line 320
def _reset_configuration!
  @base_url             = nil
  @@base_url            = nil
  @request_body_type    = nil
  @@request_body_type   = nil
  @whiny_missing        = nil
  @lazy_load            = false
  @faraday_config       = default_faraday_config
  @adapter              = Faraday.default_adapter
  @api_auth_access_id   = nil
  @api_auth_secret_key  = nil
  @basic_auth_method    = :url
end
adapter() click to toggle source
# File lib/flexirest/configuration.rb, line 221
def adapter
  @adapter ||= Faraday.default_adapter
end
adapter=(adapter) click to toggle source
# File lib/flexirest/configuration.rb, line 216
def adapter=(adapter)
  Flexirest::Logger.info "\033[1;4;32m#{name}\033[0m Adapter set to be #{adapter}"
  @adapter = adapter
end
alias_type(value = nil) click to toggle source
# File lib/flexirest/configuration.rb, line 155
def alias_type(value = nil)
  @alias_type ||= nil
  if value.nil?
    if @alias_type.nil?
      if value.nil? && superclass.respond_to?(:alias_type)
        superclass.alias_type
      else
        @@alias_type || nil
      end
    else
      @alias_type
    end
  else
    @alias_type = value
  end
end
api_auth_access_id() click to toggle source
# File lib/flexirest/configuration.rb, line 262
def api_auth_access_id
  @api_auth_access_id ||= nil
  if !@api_auth_access_id.nil?
    return @api_auth_access_id
  elsif self.superclass.respond_to?(:api_auth_access_id)
    return self.superclass.api_auth_access_id
  end

  return nil
end
api_auth_credentials(access_id, secret_key, options = {}) click to toggle source
# File lib/flexirest/configuration.rb, line 246
def api_auth_credentials(access_id, secret_key, options = {})
  begin
    require 'api-auth'
  rescue LoadError
    raise MissingOptionalLibraryError.new("You must include the gem 'api-auth' in your Gemfile to set api-auth credentials.")
  end

  @api_auth_access_id = access_id
  @api_auth_secret_key = secret_key
  @api_auth_options = options
end
api_auth_options() click to toggle source
# File lib/flexirest/configuration.rb, line 283
def api_auth_options
  if !@api_auth_options.nil?
    return @api_auth_options
  elsif self.superclass.respond_to?(:api_auth_options)
    return self.superclass.api_auth_options
  end

  return {}
end
api_auth_secret_key() click to toggle source
# File lib/flexirest/configuration.rb, line 273
def api_auth_secret_key
  if !@api_auth_secret_key.nil?
    return @api_auth_secret_key
  elsif self.superclass.respond_to?(:api_auth_secret_key)
    return self.superclass.api_auth_secret_key
  end

  return nil
end
base_url(value = nil) click to toggle source
# File lib/flexirest/configuration.rb, line 43
def base_url(value = nil)
  @base_url ||= nil
  @@base_url ||= nil
  if value.nil?
    value = if @base_url.nil?
      @@base_url
    else
      @base_url
    end
    if value.nil? && superclass.respond_to?(:base_url)
      value = superclass.base_url
    end
    value
  else
    if value.is_a?(Array)
      value.each_with_index do |v, k|
        value[k] = v.gsub(/\/$/, '')
      end
    else
      value = value.gsub(/\/$/, '')
    end
    @base_url = value
  end
end
base_url=(value) click to toggle source
# File lib/flexirest/configuration.rb, line 68
def base_url=(value)
  Flexirest::Logger.info "\033[1;4;32m#{name}\033[0m Base URL set to be #{value}"
  value = value.gsub(/\/+$/, '')
  @@base_url = value
end
basic_auth_method(value = nil) click to toggle source
# File lib/flexirest/configuration.rb, line 140
def basic_auth_method(value = nil)
  if value.nil? # Used as a getter method
    if @basic_auth_method.nil? && superclass.respond_to?(:basic_auth_method)
      superclass.basic_auth_method
    else
      @basic_auth_method || DEFAULT_BASIC_URL_METHOD
    end
  else # Used as a setter method
    unless [:header, :url].include?(value)
      raise %(Invalid basic_auth_method #{value.inspect}. Valid methods are :url (default) and :header.)
    end
    @basic_auth_method = value
  end
end
disable_automatic_date_parsing(value = nil) click to toggle source
# File lib/flexirest/configuration.rb, line 194
def disable_automatic_date_parsing(value = nil)
  @disable_automatic_date_parsing ||= nil
  if value.nil?
    if @disable_automatic_date_parsing.nil?
      if value.nil? && superclass.respond_to?(:disable_automatic_date_parsing)
        superclass.disable_automatic_date_parsing
      else
        @@disable_automatic_date_parsing || false
      end
    else
      @disable_automatic_date_parsing
    end
  else
    @disable_automatic_date_parsing = value
  end
end
disable_automatic_date_parsing=(value) click to toggle source
# File lib/flexirest/configuration.rb, line 211
def disable_automatic_date_parsing=(value)
  Flexirest::Logger.info "\033[1;4;32m#{name}\033[0m Request Body Type set to be #{value}"
  @@disable_automatic_date_parsing = value
end
faraday_config(&block) click to toggle source
# File lib/flexirest/configuration.rb, line 225
def faraday_config(&block)
  if block
    @faraday_config = block
  else
    @faraday_config ||= default_faraday_config
  end
end
ignore_root(value=nil) click to toggle source
# File lib/flexirest/configuration.rb, line 19
def ignore_root(value=nil)
  if value.nil?
    value = if @ignore_root.nil? && superclass.respond_to?(:ignore_root)
      superclass.ignore_root
    else
      @ignore_root
    end
  else
    @ignore_root = value
  end
end
lazy_load!() click to toggle source
# File lib/flexirest/configuration.rb, line 233
def lazy_load!
  @lazy_load = true
end
lazy_load?() click to toggle source
# File lib/flexirest/configuration.rb, line 237
def lazy_load?
  @lazy_load ||= false
end
password(value = nil, &block) click to toggle source
# File lib/flexirest/configuration.rb, line 107
def password(value = nil, &block)
  if value.nil?
    if block_given?
      @password = block
    else
      value = if @password.nil?
        @@password
      else
        @password
      end
      if value.nil? && superclass.respond_to?(:password)
        value = superclass.password
      end
      value
    end
  else
    if value.respond_to?(:call)
      @password = value
    else
      value = CGI::escape(value) if value.present? && !value.include?("%")
      @password = value
    end
  end
end
password=(value) click to toggle source
# File lib/flexirest/configuration.rb, line 132
def password=(value)
  Flexirest::Logger.info "\033[1;4;32m#{name}\033[0m Password set..."
  value = CGI::escape(value) if value.present? && !value.include?("%")
  @@password = value
end
proxy(value = nil) click to toggle source
# File lib/flexirest/configuration.rb, line 308
def proxy(value = nil)
  @proxy ||= nil
  value ? @proxy = value : @proxy || nil

  if !@proxy.nil?
    return @proxy
  elsif self.superclass.respond_to?(:proxy)
    return self.superclass.proxy
  end
  nil
end
request_body_type(value = nil) click to toggle source
# File lib/flexirest/configuration.rb, line 172
def request_body_type(value = nil)
  @request_body_type ||= nil
  if value.nil?
    if @request_body_type.nil?
      if value.nil? && superclass.respond_to?(:request_body_type)
        superclass.request_body_type
      else
        @@request_body_type || :form_encoded
      end
    else
      @request_body_type
    end
  else
    @request_body_type = value
  end
end
request_body_type=(value) click to toggle source
# File lib/flexirest/configuration.rb, line 189
def request_body_type=(value)
  Flexirest::Logger.info "\033[1;4;32m#{name}\033[0m Request Body Type set to be #{value}"
  @@request_body_type = value
end
translator(value = nil) click to toggle source
# File lib/flexirest/configuration.rb, line 302
def translator(value = nil)
  Flexirest::Logger.warn("DEPRECATION: The translator functionality of Flexirest has been replaced with proxy functionality, see https://github.com/andyjeffries/flexirest#proxying-apis for more information") unless value.nil?
  @translator ||= nil
  value ? @translator = value : @translator
end
username(value = nil, &block) click to toggle source
# File lib/flexirest/configuration.rb, line 74
def username(value = nil, &block)
  @username ||= nil
  @@username ||= nil
  if value.nil?
    if block_given?
      @username = block
    else
      value = if @username.nil?
        @@username
      else
        @username
      end
      if value.nil? && superclass.respond_to?(:username)
        value = superclass.username
      end
      value
    end
  else
    if value.respond_to?(:call)
      @username = value
    else
      value = CGI::escape(value) if value.present? && !value.include?("%")
      @username = value
    end
  end
end
username=(value) click to toggle source
# File lib/flexirest/configuration.rb, line 101
def username=(value)
  Flexirest::Logger.info "\033[1;4;32m#{name}\033[0m Username set to be #{value}"
  value = CGI::escape(value) if value.present? && !value.include?("%")
  @@username = value
end
using_api_auth?() click to toggle source
# File lib/flexirest/configuration.rb, line 258
def using_api_auth?
  !self.api_auth_access_id.nil? && !self.api_auth_secret_key.nil?
end
verbose(value = nil) click to toggle source
# File lib/flexirest/configuration.rb, line 297
def verbose(value = nil)
  @verbose ||= false
  value ? @verbose = value : @verbose
end
verbose!() click to toggle source
# File lib/flexirest/configuration.rb, line 293
def verbose!
  @verbose = true
end
whiny_missing(value = nil) click to toggle source
# File lib/flexirest/configuration.rb, line 241
def whiny_missing(value = nil)
  @whiny_missing ||= false
  value ? @whiny_missing = value : @whiny_missing
end
wrap_root(value=nil) click to toggle source
# File lib/flexirest/configuration.rb, line 31
def wrap_root(value=nil)
  if value.nil?
    value = if @wrap_root.nil? && superclass.respond_to?(:wrap_root)
      superclass.wrap_root
    else
      @wrap_root
    end
  else
    @wrap_root = value
  end
end

Private Instance Methods

default_faraday_config() click to toggle source
# File lib/flexirest/configuration.rb, line 336
def default_faraday_config
  Proc.new do |faraday|
    faraday.adapter(adapter)

    if faraday.options.respond_to?(:timeout=)
      faraday.options.timeout         = 10
      faraday.options.open_timeout    = 10
    else
      faraday.options['timeout']      = 10
      faraday.options['open_timeout'] = 10
    end

    faraday.headers['User-Agent'] = "Flexirest/#{Flexirest::VERSION}"
    faraday.headers['Connection'] = "Keep-Alive"
    faraday.headers['Accept']     = "application/json"
  end
end