class WorkSurfer::Client
Constants
- OPTIONS_WITH_CLASS_DEFAULT
Public Class Methods
new(**options)
click to toggle source
# File lib/work_surfer/client.rb, line 55 def initialize(**options) unknown_options = options.keys - OPTIONS_WITH_CLASS_DEFAULT raise ArgumentError, "Unknown option key(s): #{unknown_options.join(", ")}. Valid options are: #{OPTIONS_WITH_CLASS_DEFAULT.join(", ")}." if unknown_options.any? OPTIONS_WITH_CLASS_DEFAULT.each do |option| value = options[option].nil? ? self.class.public_send(option) : options[option] public_send("#{option}=", value) end self end
Protected Class Methods
default_client()
click to toggle source
# File lib/work_surfer/client.rb, line 91 def default_client @default_client ||= new end
default_client=(client)
click to toggle source
# File lib/work_surfer/client.rb, line 95 def default_client=(client) @default_client = client end
Protected Instance Methods
connection()
click to toggle source
# File lib/work_surfer/client.rb, line 69 def connection @connection ||= Faraday::Connection.new( url_base, connection_options.merge( headers: evaluate_hash_values(default_headers) ), &connection_builder ) end
evaluate_hash_values(hash)
click to toggle source
# File lib/work_surfer/client.rb, line 79 def evaluate_hash_values(hash) Hash[ *hash.collect do |k, v| [ k, v.is_a?(Proc) ? instance_eval(&v) : v, ] end.flatten ] end