Class: Tenantify::Middleware::Builder

Inherits:
Object
  • Object
show all
Defined in:
lib/tenantify/middleware/builder.rb

Overview

This class builds all the strategies and injects them into a Strategies object.

Constant Summary collapse

UnknownStrategyError =

Invalid strategy specification

Class.new(StandardError)
KNOWN_STRATEGIES =

Known strategies. They can be specified with a symbol.

{
  :header  => Strategies::Header,
  :host    => Strategies::Host,
  :default => Strategies::Default
}

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(config, known_strategies: KNOWN_STRATEGIES) ⇒ Builder

Constructor.

Parameters:

  • the (Tenantify::Configuration)

    tenantify configuration.

  • a (Hash)

    correspondence between strategy names and classes.



28
29
30
31
# File 'lib/tenantify/middleware/builder.rb', line 28

def initialize config, known_strategies: KNOWN_STRATEGIES
  @config           = config
  @known_strategies = known_strategies
end

Instance Attribute Details

#configTenantify::Configuration (readonly)

Returns given configuration.

Returns:



22
23
24
# File 'lib/tenantify/middleware/builder.rb', line 22

def config
  @config
end

Instance Method Details

#callStrategies

Builds the Strategies object.

Returns:



36
37
38
# File 'lib/tenantify/middleware/builder.rb', line 36

def call
  Strategies.new(strategies)
end