Class: SupportOps::Slack::Client

Inherits:
Object
  • Object
show all
Defined in:
lib/support_ops_slack/slack/client.rb

Overview

Defines the class Client within the module SupportOps::Slack.

Author:

  • Jason Colyer

Since:

  • 1.0.0

Defined Under Namespace

Classes: Error, RequestError, ResourceNotFound

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(config = SupportOps::Slack::Configuration.new) ⇒ Client

Returns a new instance of Client.

Since:

  • 1.0.0



19
20
21
# File 'lib/support_ops_slack/slack/client.rb', line 19

def initialize(config = SupportOps::Slack::Configuration.new)
  @connection = generate_connection(config)
end

Instance Attribute Details

#connectionObject (readonly)

Since:

  • 1.0.0



17
18
19
# File 'lib/support_ops_slack/slack/client.rb', line 17

def connection
  @connection
end

Instance Method Details

#generate_connection(config) ⇒ Object

Since:

  • 1.0.0



33
34
35
36
37
38
39
# File 'lib/support_ops_slack/slack/client.rb', line 33

def generate_connection(config)
  Faraday.new(config[:url]) do |c|
    c.request :retry, retry_options(config)
    c.adapter Faraday.default_adapter
    c.headers['Content-Type'] = 'application/json'
  end
end

#retry_options(config) ⇒ Object

Since:

  • 1.0.0



23
24
25
26
27
28
29
30
31
# File 'lib/support_ops_slack/slack/client.rb', line 23

def retry_options(config)
  {
    max: config[:retry_max],
    interval: config[:retry_interval],
    interval_randomness: config[:retry_randomness],
    backoff_factor: config[:retry_backoff],
    exceptions: config[:retry_exceptions]
  }
end