Module: ExchangeProperties

Included in:
Exchange
Defined in:
lib/soaspec/exchange_properties.rb

Overview

Convenience methods to set Exchange specific properties Will be used when creating a subclass of Exchange

Instance Method Summary collapse

Instance Method Details

#default_handler(handler_class, name = handler_class.to_s, params = '') ⇒ Object

Set default exchange handler for this exchange This is helpful for when you need a new exchange handler created for each exchange

Parameters:

  • handler_class (Class)

    Class of ExchangeHandler to set Exchange to use

  • name (String) (defaults to: handler_class.to_s)

    Name to call handler when it’s instantiated (Defaults to class name)

  • params (Hash) (defaults to: '')

    Hash of parameters to set for instance of ExchangeHandler



10
11
12
13
14
15
16
17
# File 'lib/soaspec/exchange_properties.rb', line 10

def default_handler(handler_class, name = handler_class.to_s, params = '')
  define_method('default_handler_used') do
    params_used = Hash[params.map do |k, param|
      [k, param.is_a?(String) ? ERB.new(param).result(binding) : param]
    end]
    handler_class.new name, params_used
  end
end

#expect_positive_status(retry_count: 3) ⇒ Object

Set retry_for_success to true, retrying response until a successful status code is returned



20
21
22
23
24
25
26
27
# File 'lib/soaspec/exchange_properties.rb', line 20

def expect_positive_status(retry_count: 3)
  define_method('retry_count') do
    retry_count
  end
  define_method('retry_for_success?') do
    true
  end
end