Module: Saseo::Config::Defaults

Included in:
Saseo::Config
Defined in:
lib/saseo/config/defaults.rb

Constant Summary collapse

PUBLISHER_BATCH_SIZE =
1000
SOURCE_DATABASE_URL =
nil
SOURCE_DATABASE_CONFIG_PATH =
'config/database.yml'
DATABASE_URL =
nil
DATABASE_CONFIG_PATH =
'saseo/config/saseo_database.yml'
TABLE_NAME =
'saseo_versions'
SOURCE_TABLE_SCHEMA =
'saseo'
SOURCE_TABLE_NAME =
'saseo_source_versions'
CONSUMER_PHILOTIC_SUBSCRIPTION =
'saseo_audit'
IGNORE_FIELDS_CONFIG_PATH =
nil

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.included(base) ⇒ Object



27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
# File 'lib/saseo/config/defaults.rb', line 27

def self.included(base)
  Saseo::Config::Defaults.constants.each do |c|
    attr_symbol = c.downcase.to_sym
    base.send(:attr_writer, attr_symbol)

    #TODO base.send(:define_method)
    base.class_eval %Q{
    def #{attr_symbol}
      unless defined? @#{attr_symbol}
        @#{attr_symbol} = defaults[:#{attr_symbol}]
      end
      @#{attr_symbol}
    end
  }
  end
end

Instance Method Details

#defaultsObject



16
17
18
19
20
21
22
23
24
25
# File 'lib/saseo/config/defaults.rb', line 16

def defaults
  @defaults ||= Hash[Saseo::Config::Defaults.constants.map do |c|
                       key = c.downcase.to_sym

                       env_key = "#{ENV_PREFIX}_#{key}".upcase

                       [key, ENV[env_key] || Saseo::Config::Defaults.const_get(c)]
                     end
  ]
end