Class: ActiveGenie::BaseModule

Inherits:
Object
  • Object
show all
Includes:
CallWrapper
Defined in:
lib/active_genie/utils/base_module.rb

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(config: {}) ⇒ BaseModule

Returns a new instance of BaseModule.



13
14
15
# File 'lib/active_genie/utils/base_module.rb', line 13

def initialize(config: {})
  @initial_config = config || {}
end

Class Method Details

.callObject



9
10
11
# File 'lib/active_genie/utils/base_module.rb', line 9

def self.call(...)
  new(...).call
end

Instance Method Details

#callObject

Raises:

  • (NotImplementedError)


17
18
19
# File 'lib/active_genie/utils/base_module.rb', line 17

def call
  raise NotImplementedError, 'Subclasses must implement the `call` method'
end

#configObject



21
22
23
24
25
26
27
28
# File 'lib/active_genie/utils/base_module.rb', line 21

def config
  @config ||= ActiveGenie.new_configuration(
    ActiveGenie::DeepMerge.call(
      @initial_config.to_h,
      module_config
    )
  )
end

#module_configObject



30
31
32
# File 'lib/active_genie/utils/base_module.rb', line 30

def module_config
  {}
end