module Jafry::Configurator

Module for saving and changing scheme's configs @since 0.2.0

Public Class Methods

default() click to toggle source

Specifies default config

@return [Hash] Default config

# File lib/jafry/configurator.rb, line 59
def default
  {id_type: Jafry.id_type, id_wrapper: Jafry.id_wrapper}
end
find_config(scheme_name) click to toggle source

Returns scheme by name

@param scheme_name [String] Scheme name @return [Hash] Hash of scheme name and config

# File lib/jafry/configurator.rb, line 51
def find_config(scheme_name)
  self.schemes_configs.select {|item| item[:scheme] == scheme_name}.last
end
get_config(scheme) click to toggle source

Finds config by scheme name

@param scheme [String] Scheme name @return [Hash] Config

# File lib/jafry/configurator.rb, line 42
def get_config(scheme)
  find_config(scheme)[:config]
end
init_or_update(scheme_name, config) click to toggle source

Creates new or updates existed config

@param scheme_name [String] Scheme name @param [Hash] config Config to set/update

# File lib/jafry/configurator.rb, line 32
def init_or_update(scheme_name, config)
  return find_config(scheme_name)[:config].merge!(config) if find_config(scheme_name)
  {scheme: scheme_name, config: config}
end
set_config(scheme_name, config={}) click to toggle source

Setups config for scheme

@param scheme_name [String] Scheme name @param [Hash] config Config

# File lib/jafry/configurator.rb, line 20
def set_config(scheme_name, config={})
  config = default if config.empty?
  scheme_config = init_or_update(scheme_name, config)
  self.schemes_configs << scheme_config
  scheme_config
end