class Covered::Policy::Autoload
def call(*args)
def call(*args) self.new.call(*args) end
def initialize(name)
def initialize(name) @name = name end
def new
def new begin klass = Covered.const_get(@name) rescue NameError require_relative(snake_case(@name)) end klass = Covered.const_get(@name) return klass.new end
def snake_case(name)
def snake_case(name) name.gsub(/(.+)(?=[A-Z\z])/){$1 + '_'}.downcase end
def to_s
def to_s "\#<#{self.class} loading #{@name}>" end