Class: Iyzi::Configuration

Inherits:
Object
  • Object
show all
Defined in:
lib/iyzi/configuration.rb

Constant Summary collapse

BASE_URL =
'https://api.iyzipay.com/'.freeze
REQUIRED_CONFIG =
%i(base_url api_key secret).freeze

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(options = {}) ⇒ Configuration

Returns a new instance of Configuration.



7
8
9
10
11
# File 'lib/iyzi/configuration.rb', line 7

def initialize(options = {})
  @base_url = options[:base_url] || BASE_URL
  @api_key  = options[:api_key]
  @secret   = options[:secret]
end

Instance Attribute Details

#api_keyObject

Returns the value of attribute api_key.



5
6
7
# File 'lib/iyzi/configuration.rb', line 5

def api_key
  @api_key
end

#base_urlObject

Returns the value of attribute base_url.



5
6
7
# File 'lib/iyzi/configuration.rb', line 5

def base_url
  @base_url
end

#secretObject

Returns the value of attribute secret.



5
6
7
# File 'lib/iyzi/configuration.rb', line 5

def secret
  @secret
end

Instance Method Details

#defined_paramsObject



26
27
28
# File 'lib/iyzi/configuration.rb', line 26

def defined_params
  to_h.select { |k, v| v.present? }
end

#missing_configsObject



22
23
24
# File 'lib/iyzi/configuration.rb', line 22

def missing_configs
  REQUIRED_CONFIG - defined_params.keys.collect(&:to_sym)
end

#to_hObject



30
31
32
33
34
35
36
# File 'lib/iyzi/configuration.rb', line 30

def to_h
  {
    base_url: base_url,
    api_key:  api_key,
    secret:   secret
  }
end

#valid?Boolean

Returns:

  • (Boolean)


13
14
15
# File 'lib/iyzi/configuration.rb', line 13

def valid?
  !missing_configs.present?
end

#validateObject



17
18
19
20
# File 'lib/iyzi/configuration.rb', line 17

def validate
  return if valid?
  fail "Missing configuration keys: #{missing_configs.collect(&:to_s).join(', ')}"
end