Method: Jets::Lambda::Dsl.add_custom_resource_extensions

Defined in:
lib/jets/lambda/dsl.rb

.add_custom_resource_extensions(base) ⇒ Object

end of included



366
367
368
369
370
371
372
373
374
375
376
377
378
379
# File 'lib/jets/lambda/dsl.rb', line 366

def self.add_custom_resource_extensions(base)
  base_path = "#{Jets.root}/app/extensions"
  unless ActiveSupport::Dependencies.autoload_paths.include?(base_path)
    ActiveSupport::Dependencies.autoload_paths += [base_path]
  end

  Dir.glob("#{base_path}/**/*.rb").each do |path|
    next unless File.file?(path)

    class_name = path.sub("#{base_path}/", '').sub(/\.rb/,'').classify
    klass = class_name.constantize # autoload
    base.extend(klass)
  end
end