module Dio::Equip

@api private Equip extends a given module to add Dio methods.

Public Class Methods

equip_dio( injector_id:, state: Dio::State.new, base_module: Module.new, injector: nil ) click to toggle source
# File lib/dio/equip.rb, line 10
def self.equip_dio(
  injector_id:,
  state: Dio::State.new,
  base_module: Module.new,
  injector: nil
)
  state.register_injector(injector_id, injector)
  base_module.tap do |m|
    m.extend(ActiveSupport::Concern)
    m.extend(Dio::ModuleBase)
    m.instance_variable_set(:@state, state)
    m.instance_variable_set(:@injector_id, injector_id)
  end
end