Module: Configuration

Included in:
SupermarketSync::Config
Defined in:
lib/supermarket_sync/helpers/configuration.rb

Overview

> Configuration Helper Module

Instance Method Summary collapse

Instance Method Details

#define_setting(name, default = nil) ⇒ Object



24
25
26
27
28
29
30
31
32
33
34
# File 'lib/supermarket_sync/helpers/configuration.rb', line 24

def define_setting(name, default = nil)
  class_variable_set("@@#{name}", default)

  define_class_method "#{name}=" do |value|
    class_variable_set("@@#{name}", value)
  end

  define_class_method name do
    class_variable_get("@@#{name}")
  end
end

#delete_setting(name) ⇒ Object



36
37
38
39
40
41
42
# File 'lib/supermarket_sync/helpers/configuration.rb', line 36

def delete_setting(name)
  remove_class_variable("@@#{name}")

  delete_class_method(name)
rescue NameError # => Handle Non-Existent Settings
  nil
end

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

> Provides a method to configure an Application

> Example:

SupermarketSync::Config.setup do |cfg|
  cfg.config_file = 'abc.json'
  cfg.app_name = 'GemBase'
end

Yields:

  • (_self)

Yield Parameters:

  • _self (Configuration)

    the object that the method was called on



20
21
22
# File 'lib/supermarket_sync/helpers/configuration.rb', line 20

def setup
  yield self
end