Class: Procore::Configuration
- Inherits:
-
Object
- Object
- Procore::Configuration
- Defined in:
- lib/procore/configuration.rb
Overview
Holds the configuration for the Procore gem.
Instance Attribute Summary collapse
-
#default_batch_size ⇒ Integer
When using #sync action, sets the default batch size to use for chunking up a request body.
-
#default_version ⇒ String
The default API version to use if none is specified in the request.
-
#host ⇒ String
Base API host name.
-
#logger ⇒ Logger?
Instance of a Logger.
-
#max_retries ⇒ Integer
Number of times to retry a failed API call.
-
#timeout ⇒ Float
Threshold for canceling an API request.
-
#user_agent ⇒ String
User Agent sent with each API request.
Instance Method Summary collapse
-
#initialize ⇒ Configuration
constructor
A new instance of Configuration.
Constructor Details
#initialize ⇒ Configuration
Returns a new instance of Configuration.
101 102 103 104 105 106 107 108 109 |
# File 'lib/procore/configuration.rb', line 101 def initialize @default_batch_size = Procore::Defaults::BATCH_SIZE @host = Procore::Defaults::API_ENDPOINT @logger = nil @max_retries = 1 @timeout = 1.0 @user_agent = Procore::Defaults::USER_AGENT @default_version = Procore::Defaults::DEFAULT_VERSION end |
Instance Attribute Details
#default_batch_size ⇒ Integer
defaults to Defaults::BATCH_SIZE
When using #sync action, sets the default batch size to use for chunking up a request body. Example, if the size is set to 500 and 2,000 updates are desired, 4 requests will be made.
Note: The maximum size is 1,000
99 100 101 |
# File 'lib/procore/configuration.rb', line 99 def default_batch_size @default_batch_size end |
#default_version ⇒ String
defaults to Defaults::DEFAULT_VERSION
The default API version to use if none is specified in the request. Should be either “v1.0” (recommended) or “vapid” (legacy).
42 43 44 |
# File 'lib/procore/configuration.rb', line 42 def default_version @default_version end |
#host ⇒ String
defaults to Defaults::API_ENDPOINT
Base API host name. Alter this depending on your environment - in a staging or test environment you may want to point this at a sandbox instead of production.
33 34 35 |
# File 'lib/procore/configuration.rb', line 33 def host @host end |
#logger ⇒ Logger?
defaults to nil
Instance of a Logger. This gem will log information about requests, responses and other things it might be doing. In a Rails application it should be set to Rails.logger
52 53 54 |
# File 'lib/procore/configuration.rb', line 52 def logger @logger end |
#max_retries ⇒ Integer
Defaults to 1
Number of times to retry a failed API call. Reasons an API call could potentially fail:
-
Service is briefly down or unreachable
-
Timeout hit - service is experiencing immense load or mid restart
-
Because computers
Would recommend 3-5 for production use. Has exponential backoff - first request waits a 1.5s after a failure, next one 2.25s, next one 3.375s, 5.0, etc.
68 69 70 |
# File 'lib/procore/configuration.rb', line 68 def max_retries @max_retries end |
#timeout ⇒ Float
defaults to 1.0
Threshold for canceling an API request. If a request takes longer than this value it will automatically cancel.
77 78 79 |
# File 'lib/procore/configuration.rb', line 77 def timeout @timeout end |
#user_agent ⇒ String
defaults to Defaults::USER_AGENT
User Agent sent with each API request. API requests must have a user agent set. It is recomended to set the user agent to the name of your application.
87 88 89 |
# File 'lib/procore/configuration.rb', line 87 def user_agent @user_agent end |