class PaychexAPI::Client
Constants
- API_PATH
- ASSOCIATIONS_PATH
- CHECKS_PATH
- COMMUNICATIONS_PATH
- COMPANIES_PATH
- COMPENSATION_PATH
- DIRECT_DEPOSITS_PATH
- JOB_TITLES_PATH
- MESSAGES_PATH
- NOTIFICATIONS_PATH
- OAUTH_TOKEN_PATH
- ORGANIZATIONS_PATH
- PAY_COMPONENTS_PATH
- PAY_PERIODS_PATH
- PURCHASES_PATH
- STATUS_PATH
- USERS_PATH
- WORKERS_PATH
- WORKER_STATUSES_PATH
Attributes
Public Instance Methods
default_faraday()
click to toggle source
# File lib/paychex_api/client.rb, line 148 def default_faraday Faraday.new(url: config[:prefix]) do |faraday| faraday_config(faraday) end end
faraday_auth()
click to toggle source
# File lib/paychex_api/client.rb, line 142 def faraday_auth Faraday.new(url: config[:prefix]) do |faraday| faraday_auth_config(faraday) end end
faraday_auth_config(faraday)
click to toggle source
# File lib/paychex_api/client.rb, line 132 def faraday_auth_config(faraday) faraday = faraday_logger(faraday) faraday = faraday_auth_request(faraday) faraday = faraday_default_use(faraday) faraday = faraday_auth_headers(faraday) faraday = faraday_proxy(faraday) faraday.adapter Faraday.default_adapter faraday end
faraday_auth_headers(faraday)
click to toggle source
# File lib/paychex_api/client.rb, line 92 def faraday_auth_headers(faraday) faraday.headers[:accept] = 'application/json' faraday.headers[:user_agent] = 'Footrest' faraday end
faraday_auth_request(faraday)
click to toggle source
# File lib/paychex_api/client.rb, line 86 def faraday_auth_request(faraday) faraday.request :multipart faraday.request :url_encoded faraday end
faraday_config(faraday)
click to toggle source
# File lib/paychex_api/client.rb, line 122 def faraday_config(faraday) faraday = faraday_logger(faraday) faraday = faraday_default_request(faraday) faraday = faraday_default_use(faraday) faraday = faraday_default_headers(faraday) faraday = faraday_proxy(faraday) faraday.adapter Faraday.default_adapter faraday end
faraday_default_headers(faraday)
click to toggle source
# File lib/paychex_api/client.rb, line 98 def faraday_default_headers(faraday) faraday.headers['Content-Type'] = 'application/json' faraday end
faraday_default_request(faraday)
click to toggle source
# File lib/paychex_api/client.rb, line 103 def faraday_default_request(faraday) faraday.request :json faraday end
faraday_default_use(faraday)
click to toggle source
# File lib/paychex_api/client.rb, line 78 def faraday_default_use(faraday) faraday.use Footrest::ParseJson, content_type: /\bjson$/ faraday.use Footrest::RaiseFootrestErrors faraday.use Footrest::Pagination faraday.use Footrest::FollowRedirects, limit: 5 if config[:follow_redirects] faraday end
faraday_logger(faraday)
click to toggle source
# File lib/paychex_api/client.rb, line 108 def faraday_logger(faraday) if config[:logger] == true faraday.response :logger elsif config[:logger] faraday.use Faraday::Response::Logger, config[:logger] end faraday end
faraday_proxy(faraday)
click to toggle source
# File lib/paychex_api/client.rb, line 117 def faraday_proxy(faraday) faraday.proxy PaychexAPI.proxy if PaychexAPI.proxy faraday end
refresh_token!()
click to toggle source
# File lib/paychex_api/client.rb, line 56 def refresh_token! config.delete(:token) authorize connection.headers[:authorization] = "Bearer #{token}" end
request(method, &block)
click to toggle source
Override Footrest request for ApiArray
support
# File lib/paychex_api/client.rb, line 44 def request(method, &block) connection.headers[:authorization] = "Bearer #{token}" ApiArray.process_response(connection.send(method, &block), self) end
set_connection(config)
click to toggle source
# File lib/paychex_api/client.rb, line 73 def set_connection(config) config[:logger] = config[:logging] if config[:logging] @connection = default_faraday end
token()
click to toggle source
# File lib/paychex_api/client.rb, line 49 def token return config[:token] if config[:token].present? authorize if @authorization.blank? || @authorization['expiration'] <= Time.now - 30.seconds @authorization['access_token'] end