Sha256: 09745bd3262fed6ad53d5e866720aea7d8dbe894bef08fcabca4f02f5a52d988
Contents?: true
Size: 1.21 KB
Versions: 7
Compression:
Stored size: 1.21 KB
Contents
module Soaspec # Convenience methods to set Exchange specific properties # Will be used when creating a subclass of Exchange module ExchangeProperties # Set default exchange handler for this exchange # This is helpful for when you need a new exchange handler created for each exchange # @param [Class] handler_class Class of ExchangeHandler to set Exchange to use # @param [String] name Name to call handler when it's instantiated (Defaults to class name) # @param [Hash] params Hash of parameters to set for instance of ExchangeHandler 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 # Set retry_for_success to true, retrying response until a successful status code is returned # @param [Integer] retry_count Times to retry to get a positive response def expect_positive_status(retry_count: 3) define_method('retry_count') { retry_count } define_method('retry_for_success?') { true } end end end
Version data entries
7 entries across 7 versions & 1 rubygems