Class: Rackr::Router::BuildRequest

Inherits:
Object
  • Object
show all
Defined in:
lib/rackr/router/build_request.rb

Instance Method Summary collapse

Constructor Details

#initialize(env, spplited_request_path) ⇒ BuildRequest



6
7
8
9
# File 'lib/rackr/router/build_request.rb', line 6

def initialize(env, spplited_request_path)
  @env = env
  @spplited_request_path = spplited_request_path
end

Instance Method Details

#call(route = nil) ⇒ Object



11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
# File 'lib/rackr/router/build_request.rb', line 11

def call(route = nil)
  request = Rack::Request.new(@env)

  return request if route.nil? || !route.has_params

  i = 0
  while i < route.splitted_path.size
    route_word = route.splitted_path[i]
    if route_word.start_with?(':')
      param = @spplited_request_path[i]

      request.params[route_word[1..].to_sym] = param
    end

    i += 1
  end

  request
end