class MyNewAwesomeClass DEPENDENCIES = { logger: -> { Rails.logger }, logic: -> { MyBusinessLogic.new }, service: -> { MyServiceClass } } attr_accessor :dependencies def initialize(deps={}) @dependencies = DEPENDENCIES.clone.merge(deps) end def logger @dependencies.fetch(:logger).call end end