lib/anyway/config.rb in anyway_config-2.0.2 vs lib/anyway/config.rb in anyway_config-2.0.3
- old
+ new
@@ -9,13 +9,11 @@
using Anyway::Ext::DeepFreeze
using Anyway::Ext::Hash
using(Module.new do
refine Object do
- def vm_object_id
- (object_id << 1).to_s(16)
- end
+ def vm_object_id() = (object_id << 1).to_s(16)
end
end)
# Base config class
# Provides `attr_config` method to describe
@@ -70,13 +68,11 @@
def initialize(name)
@name = name
end
- def apply_to(config)
- config.send(name)
- end
+ def apply_to(config) = config.send(name)
end
class << self
def attr_config(*args, **hargs)
new_defaults = hargs.deep_dup
@@ -108,27 +104,25 @@
end
def defaults
return @defaults if instance_variable_defined?(:@defaults)
- @defaults =
- if superclass < Anyway::Config
- superclass.defaults.deep_dup
- else
- new_empty_config
- end
+ if superclass < Anyway::Config
+ superclass.defaults.deep_dup
+ else
+ new_empty_config
+ end => @defaults
end
def config_attributes
return @config_attributes if instance_variable_defined?(:@config_attributes)
- @config_attributes =
- if superclass < Anyway::Config
- superclass.config_attributes.dup
- else
- []
- end
+ if superclass < Anyway::Config
+ superclass.config_attributes.dup
+ else
+ []
+ end => @config_attributes
end
def required(*names)
unless (unknown_names = (names - config_attributes)).empty?
raise ArgumentError, "Unknown config param: #{unknown_names.join(",")}"
@@ -138,16 +132,15 @@
end
def required_attributes
return @required_attributes if instance_variable_defined?(:@required_attributes)
- @required_attributes =
- if superclass < Anyway::Config
- superclass.required_attributes.dup
- else
- []
- end
+ if superclass < Anyway::Config
+ superclass.required_attributes.dup
+ else
+ []
+ end => @required_attributes
end
def on_load(*names, &block)
raise ArgumentError, "Either methods or block should be specified, not both" if block_given? && !names.empty?
@@ -159,16 +152,15 @@
end
def load_callbacks
return @load_callbacks if instance_variable_defined?(:@load_callbacks)
- @load_callbacks =
- if superclass <= Anyway::Config
- superclass.load_callbacks.dup
- else
- []
- end
+ if superclass <= Anyway::Config
+ superclass.load_callbacks.dup
+ else
+ []
+ end => @load_callbacks
end
def config_name(val = nil)
return (@explicit_config_name = val.to_s) unless val.nil?
@@ -184,30 +176,25 @@
if superclass.respond_to?(:explicit_config_name)
superclass.explicit_config_name
end
end
- def explicit_config_name?
- !explicit_config_name.nil?
- end
+ def explicit_config_name?() = !explicit_config_name.nil?
def env_prefix(val = nil)
return (@env_prefix = val.to_s.upcase) unless val.nil?
return @env_prefix if instance_variable_defined?(:@env_prefix)
- @env_prefix =
- if superclass < Anyway::Config && superclass.explicit_config_name?
- superclass.env_prefix
- else
- config_name.upcase
- end
+ if superclass < Anyway::Config && superclass.explicit_config_name?
+ superclass.env_prefix
+ else
+ config_name.upcase
+ end => @env_prefix
end
- def new_empty_config
- {}
- end
+ def new_empty_config() = {}
private
def define_config_accessor(*names)
names.each do |name|
@@ -226,13 +213,13 @@
end
def accessors_module
return @accessors_module if instance_variable_defined?(:@accessors_module)
- @accessors_module = Module.new.tap do |mod|
+ Module.new.tap do |mod|
include mod
- end
+ end => @accessors_module
end
def build_config_name
unless name
raise "Please, specify config name explicitly for anonymous class " \
@@ -296,11 +283,11 @@
end
def load(overrides = nil)
base_config = self.class.defaults.deep_dup
- trace = Tracing.capture do
+ Tracing.capture do
Tracing.trace!(:defaults) { base_config }
load_from_sources(
base_config,
name: config_name,
@@ -311,11 +298,11 @@
if overrides
Tracing.trace!(:load) { overrides }
base_config.deep_merge!(overrides)
end
- end
+ end => trace
base_config.each do |key, val|
write_config_attr(key.to_sym, val)
end
@@ -337,17 +324,13 @@
base_config.deep_merge!(loader.call(**options))
end
base_config
end
- def dig(*keys)
- values.dig(*keys)
- end
+ def dig(*keys) = values.dig(*keys)
- def to_h
- values.deep_dup.deep_freeze
- end
+ def to_h() = values.deep_dup.deep_freeze
def dup
self.class.allocate.tap do |new_config|
%i[config_name env_prefix __trace__].each do |ivar|
new_config.instance_variable_set(:"@#{ivar}", send(ivar).dup)
@@ -358,16 +341,12 @@
def resolve_config_path(name, env_prefix)
Anyway.env.fetch(env_prefix).delete("conf") || Settings.default_config_path.call(name)
end
- def deconstruct_keys(keys)
- values.deconstruct_keys(keys)
- end
+ def deconstruct_keys(keys) = values.deconstruct_keys(keys)
- def to_source_trace
- __trace__&.to_h
- end
+ def to_source_trace() = __trace__&.to_h
def inspect
"#<#{self.class}:0x#{vm_object_id.rjust(16, "0")} config_name=\"#{config_name}\" env_prefix=\"#{env_prefix}\" " \
"values=#{values.inspect}>"
end