Module: Itsi::Server::TypedHandlers

Defined in:
lib/itsi/server/typed_handlers.rb,
lib/itsi/server/typed_handlers/param_parser.rb,
lib/itsi/server/typed_handlers/source_parser.rb

Defined Under Namespace

Modules: ParamParser, SourceParser

Class Method Summary collapse

Class Method Details

.handler_for(proc, input_schema) ⇒ Object



7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
# File 'lib/itsi/server/typed_handlers.rb', line 7

def self.handler_for(proc, input_schema)
  if input_schema
    input_schema = proc.binding.eval(input_schema)
    lambda do |req|
      req.params(input_schema) do |params|
        proc.call(req, params: params)
      end
    end
  else
    lambda do |req|
      req.params do |params|
        proc.call(req, params)
      end
    end
  end
end