Module: HatiConfiguration::Local

Defined in:
lib/hati_config/hati_configuration.rb

Overview

Isolated module handles isolated configurations.

This module allows for configuration inheritance while maintaining isolation between parent and child configurations.

Examples:

Using Isolated configurations

class ParentApp
  include HatiConfiguration::Isolated

  configure :parent_settings do
    config timeout: 30
    config tries: 3
  end
end

class ChildApp < ParentApp
  parent_settings do
    config tries: 4
  end
end

ChildApp.parent_settings.timeout # => 30
ChildApp.parent_settings.tries # => 4
ParentApp.parent_settings.tries # => 3

Configuring a child class

class AnotherChildApp < ParentApp
  parent_settings do
    config timeout: 60
  end
end

AnotherChildApp.parent_settings.timeout # => 60
AnotherChildApp.parent_settings.tries # => 3

Class Method Summary collapse

Class Method Details

.extended(base) ⇒ void

This method returns an undefined value.

Extends the base class with HatiConfig::Configuration and HatiConfig::Configuration::Isolated module methods

Parameters:

  • base (Class) —

    The class extending this module



79
80
81
82
# File 'lib/hati_config/hati_configuration.rb', line 79

def self.extended(base)
  base.extend(HatiConfig::Configuration)
  base.extend(HatiConfig::Configuration::Local)
end