class FlightConfig::Registry

Public Instance Methods

read(klass, *args) click to toggle source
# File lib/flight_config/reader.rb, line 32
def read(klass, *args)
  class_hash = (cache[klass] ||= {})
  arity_hash = (class_hash[args.length] ||= {})
  last_arg = args.pop
  last_hash = args.reduce(arity_hash) { |hash, arg| hash[arg] ||= {} }
  last_hash[last_arg] ||= klass.new(*args, last_arg, registry: self, read_mode: true)
end

Private Instance Methods

cache() click to toggle source
# File lib/flight_config/reader.rb, line 42
def cache
  @cache ||= {}
end