Module: UnifiedSettings

Defined in:
lib/unified_settings/unified_settings.rb,
lib/unified_settings/coercer.rb,
lib/unified_settings/version.rb,
lib/unified_settings/settings.rb,
lib/unified_settings/handlers/env.rb,
lib/unified_settings/handlers/base.rb,
lib/unified_settings/handlers/constants.rb,
lib/unified_settings/handlers/config_gem.rb,
lib/unified_settings/handlers/credentials.rb

Overview

Unified way to get settings

Defined Under Namespace

Modules: Handlers Classes: Coercer, Config, Settings

Constant Summary collapse

VERSION =
'0.2.2'
NO_DEFAULT =
:no_default

Class Method Summary collapse

Class Method Details

.configObject



28
29
30
# File 'lib/unified_settings/unified_settings.rb', line 28

def self.config
  @config ||= Config.new
end

.configure {|config| ... } ⇒ Object

Yields:



32
33
34
35
36
37
# File 'lib/unified_settings/unified_settings.rb', line 32

def self.configure
  yield config if block_given?

  # Create an instance of the settings that can be used
  @settings = Settings.new
end

.defined?(key, case_sensitive: nil, handlers: nil) ⇒ Boolean

Returns:

  • (Boolean)


39
40
41
42
# File 'lib/unified_settings/unified_settings.rb', line 39

def self.defined?(key, case_sensitive: nil, handlers: nil)
  settings = handlers.nil? ? @settings : Settings.new(handlers:)
  settings.defined?(key, case_sensitive:)
end

.get(key, default: NO_DEFAULT, case_sensitive: nil, handlers: nil, coerce: true, on_missing_key: nil) ⇒ Object

rubocop:disable Metrics/ParameterLists



45
46
47
48
49
50
51
52
53
54
55
56
57
# File 'lib/unified_settings/unified_settings.rb', line 45

def self.get(
  key, default: NO_DEFAULT, case_sensitive: nil, handlers: nil, coerce: true,
  on_missing_key: nil
)
  settings = handlers.nil? ? @settings : Settings.new(handlers:)
  settings.get(
    key,
    case_sensitive:,
    coerce:,
    on_missing_key:,
    default:
  )
end