Class: Io::Flow::V0::Models::WebhookSettings

Inherits:
Object
  • Object
show all
Defined in:
lib/flow_commerce/flow_api_v0_client.rb

Overview

Sets organization level settings to determine things like how many retries on delivery, how long we wait, etc. By default, we will attempt delivery up to 6 times, using exponential backoff with a see of 1 minute (60k ms) - which means that we will retry over the course of approximately an hour before giving up.

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(incoming = {}) ⇒ WebhookSettings

Returns a new instance of WebhookSettings.



18415
18416
18417
18418
18419
18420
18421
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 18415

def initialize(incoming={})
  opts = HttpClient::Helper.symbolize_keys(incoming)
  @secret = (x = opts.delete(:secret); x.nil? ? nil : HttpClient::Preconditions.assert_class('secret', x, String))
  @retry_max_attempts = HttpClient::Preconditions.assert_class('retry_max_attempts', (x = opts.delete(:retry_max_attempts); x.nil? ? 6 : x), Integer)
  @retry_sleep_ms = HttpClient::Preconditions.assert_class('retry_sleep_ms', (x = opts.delete(:retry_sleep_ms); x.nil? ? 60000 : x), Integer)
  @sleep_ms = HttpClient::Preconditions.assert_class('sleep_ms', (x = opts.delete(:sleep_ms); x.nil? ? 0 : x), Integer)
end

Instance Attribute Details

#retry_max_attemptsObject (readonly)

Returns the value of attribute retry_max_attempts.



18413
18414
18415
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 18413

def retry_max_attempts
  @retry_max_attempts
end

#retry_sleep_msObject (readonly)

Returns the value of attribute retry_sleep_ms.



18413
18414
18415
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 18413

def retry_sleep_ms
  @retry_sleep_ms
end

#secretObject (readonly)

Returns the value of attribute secret.



18413
18414
18415
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 18413

def secret
  @secret
end

#sleep_msObject (readonly)

Returns the value of attribute sleep_ms.



18413
18414
18415
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 18413

def sleep_ms
  @sleep_ms
end

Instance Method Details

#copy(incoming = {}) ⇒ Object



18427
18428
18429
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 18427

def copy(incoming={})
  WebhookSettings.new(to_hash.merge(HttpClient::Helper.symbolize_keys(incoming)))
end

#to_hashObject



18431
18432
18433
18434
18435
18436
18437
18438
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 18431

def to_hash
  {
    :secret => secret,
    :retry_max_attempts => retry_max_attempts,
    :retry_sleep_ms => retry_sleep_ms,
    :sleep_ms => sleep_ms
  }
end

#to_jsonObject



18423
18424
18425
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 18423

def to_json
  JSON.dump(to_hash)
end