Class: Alchemrest::Client::Configuration::Connection

Inherits:
Object
  • Object
show all
Defined in:
lib/alchemrest/client/configuration/connection.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(client_configuration) ⇒ Connection

Returns a new instance of Connection.



12
13
14
15
# File 'lib/alchemrest/client/configuration/connection.rb', line 12

def initialize(client_configuration)
  @client_configuration = client_configuration
  @use_default_middleware = true
end

Instance Attribute Details

#client_configurationObject (readonly)

Returns the value of attribute client_configuration.



10
11
12
# File 'lib/alchemrest/client/configuration/connection.rb', line 10

def client_configuration
  @client_configuration
end

#customize_blockObject

Returns the value of attribute customize_block.



9
10
11
# File 'lib/alchemrest/client/configuration/connection.rb', line 9

def customize_block
  @customize_block
end

#headersObject

Returns the value of attribute headers.



9
10
11
# File 'lib/alchemrest/client/configuration/connection.rb', line 9

def headers
  @headers
end

#urlObject

Returns the value of attribute url.



9
10
11
# File 'lib/alchemrest/client/configuration/connection.rb', line 9

def url
  @url
end

#use_default_middlewareObject (readonly)

Returns the value of attribute use_default_middleware.



10
11
12
# File 'lib/alchemrest/client/configuration/connection.rb', line 10

def use_default_middleware
  @use_default_middleware
end

Instance Method Details

#create_new_connectionObject



22
23
24
25
26
27
28
29
30
31
32
# File 'lib/alchemrest/client/configuration/connection.rb', line 22

def create_new_connection
  unless frozen?
    raise ConfigurationNotReadyError, "Don't use configuration to build connections until the configuration has been frozen"
  end

  Faraday.new(url: url, headers: headers) do |c|
    c.use Faraday::Request::Json

    apply_configuration(c)
  end
end

#customize(use_default_middleware: true, &block) ⇒ Object



17
18
19
20
# File 'lib/alchemrest/client/configuration/connection.rb', line 17

def customize(use_default_middleware: true, &block)
  @use_default_middleware = use_default_middleware
  self.customize_block = block
end

#freezeObject



34
35
36
37
# File 'lib/alchemrest/client/configuration/connection.rb', line 34

def freeze
  validate!
  super
end