class GpWebpay::Configuration

Attributes

cards_controller[RW]
configurations[RW]
mount_at[RW]
orders_controller[RW]
parent_controller[RW]

Public Class Methods

new() click to toggle source
# File lib/gp_webpay/configuration.rb, line 5
def initialize
  @configurations = {}
  @parent_controller = 'AbstractController::Base'
  @mount_at = '/gp_webpay'
  @orders_controller = 'OrdersController'
  @cards_controller = 'CardsController'
end

Public Instance Methods

[](config_name) click to toggle source
# File lib/gp_webpay/configuration.rb, line 17
def [](config_name)
  return if config_name.blank?

  @configurations[config_name] || find_configuration_by_merchant_number(config_name)
end
add_configuration(merchant_number:, default: false) { |configurations| ... } click to toggle source
# File lib/gp_webpay/configuration.rb, line 30
def add_configuration(merchant_number:, default: false)
  @configurations[merchant_number] = MerchantConfig.new(merchant_number)
  yield(@configurations[merchant_number])
  @configurations[:default] = @configurations[merchant_number] if default || !@configurations[:default]
end
default() click to toggle source
# File lib/gp_webpay/configuration.rb, line 13
def default
  @configurations[:default]
end
find_configuration_by_merchant_number(merchant_number) click to toggle source
# File lib/gp_webpay/configuration.rb, line 23
def find_configuration_by_merchant_number(merchant_number)
  config = @configurations.find { |_key, value| value.merchant_number.to_s == merchant_number.to_s }
  return nil if config.blank?

  config[-1]
end
remove_configuration(merchant_number:) click to toggle source
# File lib/gp_webpay/configuration.rb, line 36
def remove_configuration(merchant_number:)
  @configurations.delete(merchant_number)
  @configurations[:default] = @configurations[@configurations.keys[0]]
end