Sha256: 5f6b667bd73904ecaef8d2bdbece3c6e9281ec2e0d4108b26f63443e02d6a1d0
Contents?: true
Size: 843 Bytes
Versions: 9
Compression:
Stored size: 843 Bytes
Contents
module Iyzi class Configuration BASE_URL = 'https://api.iyzipay.com/'.freeze REQUIRED_CONFIG = %i(base_url api_key secret).freeze attr_accessor :base_url, :api_key, :secret def initialize(options = {}) @base_url = options[:base_url] || BASE_URL @api_key = options[:api_key] @secret = options[:secret] end def valid? !missing_configs.present? end def validate return if valid? fail "Missing configuration keys: #{missing_configs.collect(&:to_s).join(', ')}" end def missing_configs REQUIRED_CONFIG - defined_params.keys.collect(&:to_sym) end def defined_params to_h.select { |k, v| v.present? } end def to_h { base_url: base_url, api_key: api_key, secret: secret } end end end
Version data entries
9 entries across 9 versions & 1 rubygems