class Fortnox::API::Repository::Base
Constants
- HTTP_METHODS
Attributes
headers[RW]
keys_filtered_on_save[R]
mapper[R]
Public Class Methods
new(keys_filtered_on_save: [:url], token_store: :default)
click to toggle source
# File lib/fortnox/api/repositories/base.rb, line 46 def initialize(keys_filtered_on_save: [:url], token_store: :default) @keys_filtered_on_save = keys_filtered_on_save @token_store = token_store @mapper = Registry[Mapper::Base.canonical_name_sym(self.class::MODEL)].new end
set_headers(headers = {})
click to toggle source
# File lib/fortnox/api/repositories/base.rb, line 29 def self.set_headers(headers = {}) # rubocop:disable Naming/AccessorMethodName self.headers.merge!(headers) end
Public Instance Methods
access_tokens()
click to toggle source
# File lib/fortnox/api/repositories/base.rb, line 64 def access_tokens begin tokens = config.token_store.fetch(@token_store) rescue KeyError token_store_not_found!(@token_store.inspect) end check_access_tokens!(tokens) tokens end
check_access_tokens!(tokens)
click to toggle source
# File lib/fortnox/api/repositories/base.rb, line 57 def check_access_tokens!(tokens) tokens_present = !(tokens.nil? || tokens.empty?) return if tokens_present error_message = "You have not provided any access tokens in token store #{@token_store.inspect}." raise MissingConfiguration, error_message end
next_access_token()
click to toggle source
# File lib/fortnox/api/repositories/base.rb, line 52 def next_access_token @access_tokens ||= CircularQueue.new(*access_tokens) @access_tokens.next end
Private Instance Methods
base_url()
click to toggle source
# File lib/fortnox/api/repositories/base.rb, line 83 def base_url base_url = config.base_url raise MissingConfiguration, 'You have to provide a base url.' unless base_url base_url end
client_secret()
click to toggle source
# File lib/fortnox/api/repositories/base.rb, line 89 def client_secret client_secret = config.client_secret raise MissingConfiguration, 'You have to provide your client secret.' unless client_secret client_secret end
config()
click to toggle source
# File lib/fortnox/api/repositories/base.rb, line 95 def config Fortnox::API.config end
instantiate(hash)
click to toggle source
# File lib/fortnox/api/repositories/base.rb, line 77 def instantiate(hash) hash[:new] = false hash[:unsaved] = false self.class::MODEL.new(hash) end
token_store_not_found!(store_name)
click to toggle source
# File lib/fortnox/api/repositories/base.rb, line 99 def token_store_not_found!(store_name) raise MissingConfiguration, "There is no token store named #{store_name}. Available stores are #{config.token_store.keys}." end