lib/envied.rb in envied-0.9.1 vs lib/envied.rb in envied-0.9.2.rc1
- old
+ new
@@ -10,40 +10,36 @@
class << self
attr_reader :env, :config
alias_method :required?, :env
end
- def self.require(*args)
- options = args.last.is_a?(Hash) ? args.pop : {}
+ def self.require(*args, **options)
requested_groups = (args && !args.empty?) ? args : ENV['ENVIED_GROUPS']
env!(requested_groups, options)
error_on_missing_variables!(options)
error_on_uncoercible_variables!(options)
ensure_spring_after_fork_require(args, options)
end
- def self.env!(requested_groups, options = {})
- @env = begin
- @config = options.fetch(:config) { Configuration.load }
- groups = required_groups(*requested_groups)
- EnvProxy.new(@config, groups: groups)
- end
+ def self.env!(requested_groups, **options)
+ @config = options.fetch(:config) { Configuration.load }
+ @env = EnvProxy.new(@config, groups: required_groups(*requested_groups))
end
- def self.error_on_missing_variables!(options = {})
+ def self.error_on_missing_variables!(**options)
names = env.missing_variables.map(&:name)
if names.any?
- msg = "The following environment variables should be set: #{names * ', '}."
+ msg = "The following environment variables should be set: #{names.join(', ')}."
msg << "\nPlease make sure to stop Spring before retrying." if spring_enabled? && !options[:via_spring]
raise msg
end
end
- def self.error_on_uncoercible_variables!(options = {})
+ def self.error_on_uncoercible_variables!(**options)
errors = env.uncoercible_variables.map do |v|
- "%{name} ('%{value}' can't be coerced to %{type})" % {name: v.name, value: env.value_to_coerce(v), type: v.type }
+ format("%{name} with %{value} (%{type})", name: v.name, value: env.value_to_coerce(v).inspect, type: v.type)
end
if errors.any?
msg = "The following environment variables are not coercible: #{errors.join(", ")}."
msg << "\nPlease make sure to stop Spring before retrying." if spring_enabled? && !options[:via_spring]
raise msg
@@ -54,20 +50,21 @@
splitter = ->(group){ group.is_a?(String) ? group.split(/ *, */) : group }
result = groups.compact.map(&splitter).flatten
result.any? ? result.map(&:to_sym) : [:default]
end
- def self.ensure_spring_after_fork_require(args, options = {})
+ def self.ensure_spring_after_fork_require(args, **options)
if spring_enabled? && !options[:via_spring]
- Spring.after_fork { ENVied.require(args, options.merge(:via_spring => true)) }
+ Spring.after_fork { ENVied.require(args, options.merge(via_spring: true)) }
end
end
def self.springify(&block)
if defined?(ActiveSupport::Deprecation.warn) && !required?
- ActiveSupport::Deprecation.warn(<<-MSG)
-It's no longer recommended to `ENVied.require` within ENVied.springify's block. Please re-run `envied init:rails` to upgrade.
-MSG
+ ActiveSupport::Deprecation.warn(<<~MSG)
+ It's no longer recommended to `ENVied.require` within ENVied.springify's
+ block. Please re-run `envied init:rails` to upgrade.
+ MSG
end
if spring_enabled?
Spring.after_fork(&block)
else
block.call