Class: Merge::Ticketing::ForceResyncClient
- Inherits:
-
Object
- Object
- Merge::Ticketing::ForceResyncClient
- Defined in:
- lib/merge_ruby_client/ticketing/force_resync/client.rb
Instance Attribute Summary collapse
Instance Method Summary collapse
- #initialize(request_client:) ⇒ Merge::Ticketing::ForceResyncClient constructor
-
#sync_status_resync_create(request_options: nil) ⇒ Array<Merge::Ticketing::SyncStatus>
Force re-sync of all models.
Constructor Details
#initialize(request_client:) ⇒ Merge::Ticketing::ForceResyncClient
16 17 18 |
# File 'lib/merge_ruby_client/ticketing/force_resync/client.rb', line 16 def initialize(request_client:) @request_client = request_client end |
Instance Attribute Details
#request_client ⇒ Merge::RequestClient (readonly)
12 13 14 |
# File 'lib/merge_ruby_client/ticketing/force_resync/client.rb', line 12 def request_client @request_client end |
Instance Method Details
#sync_status_resync_create(request_options: nil) ⇒ Array<Merge::Ticketing::SyncStatus>
Force re-sync of all models. This is available for all organizations via the
dashboard. Force re-sync is also available programmatically via API for monthly,
quarterly, and highest sync frequency customers on the Launch, Professional, or
Enterprise plans. Doing so will consume a sync credit for the relevant linked
account.
35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 |
# File 'lib/merge_ruby_client/ticketing/force_resync/client.rb', line 35 def sync_status_resync_create(request_options: nil) response = @request_client.conn.post do |req| req..timeout = .timeout_in_seconds unless &.timeout_in_seconds.nil? req.headers["Authorization"] = .api_key unless &.api_key.nil? req.headers["X-Account-Token"] = .account_token unless &.account_token.nil? req.headers = { **(req.headers || {}), **@request_client.get_headers, **(&.additional_headers || {}) }.compact unless .nil? || &.additional_query_parameters.nil? req.params = { **(&.additional_query_parameters || {}) }.compact end unless .nil? || &.additional_body_parameters.nil? req.body = { **(&.additional_body_parameters || {}) }.compact end req.url "#{@request_client.get_url(request_options: )}/ticketing/v1/sync-status/resync" end parsed_json = JSON.parse(response.body) parsed_json&.map do |item| item = item.to_json Merge::Ticketing::SyncStatus.from_json(json_object: item) end end |