Class: Identisure::ClientBuilder
- Inherits:
-
Object
- Object
- Identisure::ClientBuilder
- Defined in:
- lib/identisure/client.rb
Instance Method Summary collapse
- #base_url(url) ⇒ Object
- #build ⇒ Object
- #environment(env) ⇒ Object
- #http_client(conn) ⇒ Object
-
#initialize(client_id, client_secret) ⇒ ClientBuilder
constructor
A new instance of ClientBuilder.
- #inspect ⇒ Object
-
#timeout(seconds) ⇒ Object
Timeout in seconds for each HTTP request.
Constructor Details
#initialize(client_id, client_secret) ⇒ ClientBuilder
Returns a new instance of ClientBuilder.
37 38 39 40 41 42 43 44 |
# File 'lib/identisure/client.rb', line 37 def initialize(client_id, client_secret) @client_id = client_id @client_secret = client_secret @environment = Environment::PRODUCTION @base_url = nil @http_client = nil @timeout = 30 end |
Instance Method Details
#base_url(url) ⇒ Object
51 52 53 54 |
# File 'lib/identisure/client.rb', line 51 def base_url(url) @base_url = url self end |
#build ⇒ Object
69 70 71 72 73 |
# File 'lib/identisure/client.rb', line 69 def build base = @base_url || Environment.base_url(@environment) conn = @http_client || Faraday.new Client.new(Transport.new(conn, base, @client_id, @client_secret, @timeout)) end |
#environment(env) ⇒ Object
46 47 48 49 |
# File 'lib/identisure/client.rb', line 46 def environment(env) @environment = env self end |
#http_client(conn) ⇒ Object
56 57 58 59 |
# File 'lib/identisure/client.rb', line 56 def http_client(conn) @http_client = conn self end |
#inspect ⇒ Object
75 |
# File 'lib/identisure/client.rb', line 75 def inspect = "#<#{self.class.name} client_id=#{@client_id.inspect}>" |
#timeout(seconds) ⇒ Object
Timeout in seconds for each HTTP request. Defaults to 30.
62 63 64 65 66 67 |
# File 'lib/identisure/client.rb', line 62 def timeout(seconds) raise ArgumentError, 'Timeout must be positive' unless seconds.positive? @timeout = seconds self end |