Class: FakeService::Middleware

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

Instance Method Summary collapse

Constructor Details

#initialize(app) ⇒ Middleware

Returns a new instance of Middleware.



4
5
6
# File 'lib/fake_service/middleware.rb', line 4

def initialize(app)
  @app = app
end

Instance Method Details

#call(env) ⇒ Object

Rack call interface.



22
23
24
25
26
# File 'lib/fake_service/middleware.rb', line 22

def call(env)
  @file_path ||= @app.settings.file_path
  self.define_actions
  @app.call(env)
end

#define_actionsObject

defines actions for each request in yaml file.



9
10
11
12
13
14
15
16
17
18
19
# File 'lib/fake_service/middleware.rb', line 9

def define_actions
  unless @action_defined
    hash = YAML.load(File.read(@file_path))
    hash.each do |k, v|
      v.each do |key, value|
        @app.class.define_action!(value["request"], value["response"])
      end
    end
    @action_defined = true
  end
end