Class: SharkOnLambda::Configuration

Inherits:
OpenStruct
  • Object
show all
Extended by:
SharkOnLambda::Concerns::YamlConfigLoader
Includes:
SharkOnLambda::Concerns::ResettableSingleton
Defined in:
lib/shark_on_lambda/configuration.rb

Class Attribute Summary collapse

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Methods included from SharkOnLambda::Concerns::YamlConfigLoader

load_yaml_files

Methods included from SharkOnLambda::Concerns::ResettableSingleton

included

Class Attribute Details

.database_filesObject



14
15
16
17
18
19
# File 'lib/shark_on_lambda/configuration.rb', line 14

def database_files
  return @database_files if defined?(@database_files)

  files = %w[config/database.yml config/database.local.yml]
  @database_files = paths(files)
end

.settings_filesObject



28
29
30
31
32
33
# File 'lib/shark_on_lambda/configuration.rb', line 28

def settings_files
  return @settings_files if defined?(@settings_files)

  files = %w[config/settings.yml config/settings.local.yml]
  @settings_files = paths(files)
end

Instance Attribute Details

#dispatcherObject



59
60
61
# File 'lib/shark_on_lambda/configuration.rb', line 59

def dispatcher
  @dispatcher ||= Dispatcher.new
end

#stageObject



77
78
79
# File 'lib/shark_on_lambda/configuration.rb', line 77

def stage
  @stage || 'development'
end

Class Method Details

.load(stage, fallback: :default) ⇒ Object



21
22
23
24
25
26
# File 'lib/shark_on_lambda/configuration.rb', line 21

def load(stage, fallback: :default)
  load_settings(stage, fallback: fallback)
  load_database_configuration(stage, fallback: fallback)

  instance
end

Instance Method Details

#middlewareObject



63
64
65
66
67
# File 'lib/shark_on_lambda/configuration.rb', line 63

def middleware
  @middleware ||= ActionDispatch::MiddlewareStack.new do |middleware_stack|
    middleware_stack.use Middleware::LambdaLogger
  end
end

#rootObject



69
70
71
# File 'lib/shark_on_lambda/configuration.rb', line 69

def root
  @root ||= Pathname.new('.')
end

#root=(new_root) ⇒ Object



73
74
75
# File 'lib/shark_on_lambda/configuration.rb', line 73

def root=(new_root)
  @root = Pathname.new(new_root)
end