class FakeService::Middleware

Public Class Methods

new(app) click to toggle source
# File lib/fake_service/middleware.rb, line 4
def initialize(app)
  @app = app
end

Public Instance Methods

call(env) click to toggle source

Rack call interface.

# 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_actions() click to toggle source

defines actions for each request in yaml file.

# 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