Module: Karatekit::Default

Defined in:
lib/karatekit/default.rb

Overview

Default configuration options for Client

Constant Summary collapse

API_ENDPOINT =

Default API endpoint

"https://api.kampfsport.center".freeze
USER_AGENT =

Default User Agent header string

"Karatekit Ruby Gem #{Karatekit::VERSION}".freeze
MEDIA_TYPE =

Default media type

"application/json".freeze
RACK_BUILDER_CLASS =

In Faraday 0.9, Faraday::Builder was renamed to Faraday::RackBuilder

defined?(Faraday::RackBuilder) ? Faraday::RackBuilder : Faraday::Builder
MIDDLEWARE =

Default Faraday middleware stack

RACK_BUILDER_CLASS.new do |builder|
  builder.use Faraday::Request::Retry, exceptions: [Karatekit::ServerError]
  # builder.use Karatekit::Middleware::FollowRedirects
  builder.use Karatekit::Response::RaiseError
  # builder.use Karatekit::Response::FeedParser
  builder.adapter Faraday.default_adapter
end

Class Method Summary collapse

Class Method Details

.access_tokenString

Default access token from ENV

Returns:

  • (String)


42
43
44
# File 'lib/karatekit/default.rb', line 42

def access_token
  ENV['KARATEKIT_ACCESS_TOKEN']
end

.api_endpointString

Default API endpoint from ENV or API_ENDPOINT

Returns:

  • (String)


48
49
50
# File 'lib/karatekit/default.rb', line 48

def api_endpoint
  ENV['KARATEKIT_API_ENDPOINT'] || API_ENDPOINT
end

.auto_paginateString

Default pagination preference from ENV

Returns:

  • (String)


54
55
56
# File 'lib/karatekit/default.rb', line 54

def auto_paginate
  ENV['KARATEKIT_AUTO_PAGINATE']
end

.connection_optionsHash

Default options for Faraday::Connection

Returns:

  • (Hash)


60
61
62
63
64
65
66
67
# File 'lib/karatekit/default.rb', line 60

def connection_options
  {
    :headers => {
      :accept => default_media_type,
      :user_agent => user_agent
    }
  }
end

.default_media_typeString

Default media type from MEDIA_TYPE

Returns:

  • (String)


71
72
73
# File 'lib/karatekit/default.rb', line 71

def default_media_type
  MEDIA_TYPE
end

.middlewareFaraday::RackBuilder or Faraday::Builder

Default middleware stack for Faraday::Connection from MIDDLEWARE

Returns:

  • (Faraday::RackBuilder or Faraday::Builder)


78
79
80
# File 'lib/karatekit/default.rb', line 78

def middleware
  MIDDLEWARE
end

.optionsHash

Configuration options

Returns:

  • (Hash)


36
37
38
# File 'lib/karatekit/default.rb', line 36

def options
  Hash[Karatekit::Configurable.keys.map{|key| [key, send(key)]}]
end

.per_pageInteger

Default pagination page size from ENV

Returns:

  • (Integer)

    Page size



84
85
86
87
88
# File 'lib/karatekit/default.rb', line 84

def per_page
  page_size = ENV['KARATEKIT_PER_PAGE']

  page_size.to_i if page_size
end

.user_agentString

Default User-Agent header string from ENV or USER_AGENT

Returns:

  • (String)


92
93
94
# File 'lib/karatekit/default.rb', line 92

def user_agent
  ENV['KARATEKIT_USER_AGENT'] || USER_AGENT
end