class EasySettings::EnvSource

Attributes

prefix[R]

Public Class Methods

new(prefix, separator: "__", converter: :downcase, parse_values: true) click to toggle source
Calls superclass method EasySettings::PathSource::new
# File lib/easy-settings/env_source.rb, line 7
def initialize(prefix, separator: "__", converter: :downcase, parse_values: true)
  @prefix = prefix
  super(nil, separator: separator, converter: converter, parse_values: parse_values)
end

Public Instance Methods

load() click to toggle source
# File lib/easy-settings/env_source.rb, line 12
def load
  {}.tap do |data|
    ENV.each do |variable, value|
      keys = variable.to_s.split(separator)
      next if prefix.present? && keys.shift != prefix

      assign_value(data, keys, value)
    end
  end
end