Module: SmsRu::Configurable

Included in:
SmsRu, Client
Defined in:
lib/sms_ru/configurable.rb

Constant Summary collapse

CONFIGURATION_OPTIONS =
%i[
  api_endpoint
  api_id
  logger
  open_timeout
  read_timeout
].freeze
DEFAULTS_READ_TIMEOUT =
5
DEFAULTS_OPEN_TIMEOUT =
2

Instance Method Summary collapse

Instance Method Details

#configure {|_self| ... } ⇒ Object

Yields:

  • (_self)

Yield Parameters:



16
17
18
19
# File 'lib/sms_ru/configurable.rb', line 16

def configure
  yield self
  set_defaults
end

#optionsObject



26
27
28
# File 'lib/sms_ru/configurable.rb', line 26

def options
  CONFIGURATION_OPTIONS.to_h { |attr| [attr, send(attr)] }
end

#same_options?(options) ⇒ Boolean

Returns:

  • (Boolean)


30
31
32
# File 'lib/sms_ru/configurable.rb', line 30

def same_options?(options)
  self.options.hash == options.hash
end

#set_defaultsObject



21
22
23
24
# File 'lib/sms_ru/configurable.rb', line 21

def set_defaults
  self.read_timeout ||= DEFAULTS_READ_TIMEOUT
  self.open_timeout ||= DEFAULTS_OPEN_TIMEOUT
end