Class: ShedCloud::PartnerApi::Client
- Inherits:
-
Object
- Object
- ShedCloud::PartnerApi::Client
- Defined in:
- lib/shedcloud/partner_api/client.rb
Instance Attribute Summary collapse
-
#agreements ⇒ Object
readonly
Returns the value of attribute agreements.
-
#base_url ⇒ Object
readonly
Returns the value of attribute base_url.
-
#configurator_sessions ⇒ Object
readonly
Returns the value of attribute configurator_sessions.
-
#customers ⇒ Object
readonly
Returns the value of attribute customers.
-
#documents ⇒ Object
readonly
Returns the value of attribute documents.
-
#domains ⇒ Object
readonly
Returns the value of attribute domains.
-
#events ⇒ Object
readonly
Returns the value of attribute events.
-
#leads ⇒ Object
readonly
Returns the value of attribute leads.
-
#locations ⇒ Object
readonly
Returns the value of attribute locations.
-
#lot_stock ⇒ Object
readonly
Returns the value of attribute lot_stock.
-
#orders ⇒ Object
readonly
Returns the value of attribute orders.
-
#payments ⇒ Object
readonly
Returns the value of attribute payments.
-
#products ⇒ Object
readonly
Returns the value of attribute products.
-
#quotes ⇒ Object
readonly
Returns the value of attribute quotes.
-
#stock_templates ⇒ Object
readonly
Returns the value of attribute stock_templates.
-
#users ⇒ Object
readonly
Returns the value of attribute users.
-
#work_orders ⇒ Object
readonly
Returns the value of attribute work_orders.
Instance Method Summary collapse
-
#initialize(auth:, environment: nil, base_url: nil, transport: HttpTransport.new, timeout_seconds: 30.0, user_agent: 'shedcloud-ruby/partner-api', token_skew_seconds: 60) ⇒ Client
constructor
A new instance of Client.
- #me ⇒ Object
- #refresh_access_token ⇒ Object
Constructor Details
#initialize(auth:, environment: nil, base_url: nil, transport: HttpTransport.new, timeout_seconds: 30.0, user_agent: 'shedcloud-ruby/partner-api', token_skew_seconds: 60) ⇒ Client
Returns a new instance of Client.
24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 |
# File 'lib/shedcloud/partner_api/client.rb', line 24 def initialize(auth:, environment: nil, base_url: nil, transport: HttpTransport.new, timeout_seconds: 30.0, user_agent: 'shedcloud-ruby/partner-api', token_skew_seconds: 60) raise ArgumentError, 'Client: auth is required' unless auth.is_a?(Auth) auth.validate! @base_url = Hosts.resolve_base_url(base_url: base_url, environment: environment) @auth_provider = AuthProvider.new( base_url: @base_url, auth: auth, transport: transport, token_skew_seconds: token_skew_seconds ) @http = HttpClient.new( base_url: @base_url, get_access_token: -> { @auth_provider.access_token }, transport: transport, user_agent: user_agent ) @lot_stock = Resources::LotStock.new(@http) @stock_templates = Resources::StockTemplates.new(@http) @leads = Resources::Leads.new(@http) @quotes = Resources::Quotes.new(@http) @orders = Resources::Orders.new(@http) @work_orders = Resources::WorkOrders.new(@http) @locations = Resources::Locations.new(@http) @customers = Resources::Customers.new(@http) @domains = Resources::Domains.new(@http) @agreements = Resources::Agreements.new(@http) @products = Resources::Products.new(@http) @users = Resources::Users.new(@http) @payments = Resources::Payments.new(@http) @documents = Resources::Documents.new(@http) @events = Resources::Events.new(@http) @configurator_sessions = Resources::ConfiguratorSessions.new(@http) end |
Instance Attribute Details
#agreements ⇒ Object (readonly)
Returns the value of attribute agreements.
6 7 8 |
# File 'lib/shedcloud/partner_api/client.rb', line 6 def agreements @agreements end |
#base_url ⇒ Object (readonly)
Returns the value of attribute base_url.
6 7 8 |
# File 'lib/shedcloud/partner_api/client.rb', line 6 def base_url @base_url end |
#configurator_sessions ⇒ Object (readonly)
Returns the value of attribute configurator_sessions.
6 7 8 |
# File 'lib/shedcloud/partner_api/client.rb', line 6 def configurator_sessions @configurator_sessions end |
#customers ⇒ Object (readonly)
Returns the value of attribute customers.
6 7 8 |
# File 'lib/shedcloud/partner_api/client.rb', line 6 def customers @customers end |
#documents ⇒ Object (readonly)
Returns the value of attribute documents.
6 7 8 |
# File 'lib/shedcloud/partner_api/client.rb', line 6 def documents @documents end |
#domains ⇒ Object (readonly)
Returns the value of attribute domains.
6 7 8 |
# File 'lib/shedcloud/partner_api/client.rb', line 6 def domains @domains end |
#events ⇒ Object (readonly)
Returns the value of attribute events.
6 7 8 |
# File 'lib/shedcloud/partner_api/client.rb', line 6 def events @events end |
#leads ⇒ Object (readonly)
Returns the value of attribute leads.
6 7 8 |
# File 'lib/shedcloud/partner_api/client.rb', line 6 def leads @leads end |
#locations ⇒ Object (readonly)
Returns the value of attribute locations.
6 7 8 |
# File 'lib/shedcloud/partner_api/client.rb', line 6 def locations @locations end |
#lot_stock ⇒ Object (readonly)
Returns the value of attribute lot_stock.
6 7 8 |
# File 'lib/shedcloud/partner_api/client.rb', line 6 def lot_stock @lot_stock end |
#orders ⇒ Object (readonly)
Returns the value of attribute orders.
6 7 8 |
# File 'lib/shedcloud/partner_api/client.rb', line 6 def orders @orders end |
#payments ⇒ Object (readonly)
Returns the value of attribute payments.
6 7 8 |
# File 'lib/shedcloud/partner_api/client.rb', line 6 def payments @payments end |
#products ⇒ Object (readonly)
Returns the value of attribute products.
6 7 8 |
# File 'lib/shedcloud/partner_api/client.rb', line 6 def products @products end |
#quotes ⇒ Object (readonly)
Returns the value of attribute quotes.
6 7 8 |
# File 'lib/shedcloud/partner_api/client.rb', line 6 def quotes @quotes end |
#stock_templates ⇒ Object (readonly)
Returns the value of attribute stock_templates.
6 7 8 |
# File 'lib/shedcloud/partner_api/client.rb', line 6 def stock_templates @stock_templates end |
#users ⇒ Object (readonly)
Returns the value of attribute users.
6 7 8 |
# File 'lib/shedcloud/partner_api/client.rb', line 6 def users @users end |
#work_orders ⇒ Object (readonly)
Returns the value of attribute work_orders.
6 7 8 |
# File 'lib/shedcloud/partner_api/client.rb', line 6 def work_orders @work_orders end |
Instance Method Details
#me ⇒ Object
63 64 65 |
# File 'lib/shedcloud/partner_api/client.rb', line 63 def me @http.request('GET', '/partner/v1/me') || {} end |
#refresh_access_token ⇒ Object
67 68 69 |
# File 'lib/shedcloud/partner_api/client.rb', line 67 def refresh_access_token @auth_provider.refresh end |