Class: SharkOnLambda::Application

Inherits:
Object
  • Object
show all
Defined in:
lib/shark_on_lambda/application.rb

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initializeApplication

Returns a new instance of Application.



21
22
23
24
# File 'lib/shark_on_lambda/application.rb', line 21

def initialize
  register_jsonapi_rendering
  initialize_router
end

Instance Attribute Details

#routesObject (readonly)

Returns the value of attribute routes.



5
6
7
# File 'lib/shark_on_lambda/application.rb', line 5

def routes
  @routes
end

Class Method Details

.configObject



10
11
12
# File 'lib/shark_on_lambda/application.rb', line 10

def config
  @config ||= Configuration.new
end

.inherited(subclass) ⇒ Object



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

def inherited(subclass)
  super

  SharkOnLambda.application = subclass.new
end

Instance Method Details

#call(env) ⇒ Object



26
27
28
# File 'lib/shark_on_lambda/application.rb', line 26

def call(env)
  dup.call!(env)
end

#call!(env) ⇒ Object



30
31
32
33
# File 'lib/shark_on_lambda/application.rb', line 30

def call!(env)
  middleware_stack = middleware.build(routes)
  middleware_stack.call(env)
end

#configObject



35
36
37
# File 'lib/shark_on_lambda/application.rb', line 35

def config
  self.class.config
end

#config_for(name, env: SharkOnLambda.env) ⇒ Object



39
40
41
42
# File 'lib/shark_on_lambda/application.rb', line 39

def config_for(name, env: SharkOnLambda.env)
  config = load_config_file(name, env: env, fail_with_exception: true)
  config.deep_merge(load_config_file("#{name}.local", env: env))
end

#initialize!Object



44
45
46
47
# File 'lib/shark_on_lambda/application.rb', line 44

def initialize!
  load_routes
  run_initializers
end