Class: Jeanine::Request

Inherits:
Rack::Request
  • Object
show all
Defined in:
lib/jeanine/request.rb

Constant Summary collapse

FORMAT_REGEX =
%r{\.(\w+)\z}

Instance Method Summary collapse

Constructor Details

#initialize(env) ⇒ Request

Returns a new instance of Request.



7
8
9
10
11
12
13
14
15
16
17
# File 'lib/jeanine/request.rb', line 7

def initialize(env)
  env['PATH_INFO'] = '/' if env['PATH_INFO'].empty?
  if env['PATH_INFO'].include?(".")
    format = env['PATH_INFO'].match(FORMAT_REGEX)
    if format
      @format = format.captures[0]
      env['PATH_INFO'].gsub!(FORMAT_REGEX, '')
    end
  end
  super
end

Instance Method Details

#delete?Boolean

Returns:

  • (Boolean)


31
32
33
# File 'lib/jeanine/request.rb', line 31

def delete?
  request_method == 'DELETE'
end

#formatObject



59
60
61
# File 'lib/jeanine/request.rb', line 59

def format
  @format || Rack::Mime::MIME_TYPES[content_type]
end

#get?Boolean

Returns:

  • (Boolean)


27
28
29
# File 'lib/jeanine/request.rb', line 27

def get?
  request_method == 'GET'
end

#head?Boolean

Returns:

  • (Boolean)


47
48
49
# File 'lib/jeanine/request.rb', line 47

def head?
  request_method == 'head'
end

#json?Boolean

Returns:

  • (Boolean)


51
52
53
# File 'lib/jeanine/request.rb', line 51

def json?
  format == 'json'
end

#mime_typeObject



55
56
57
# File 'lib/jeanine/request.rb', line 55

def mime_type
  @mime_type ||= Mimes::MIME_TYPES_INVERTED[content_type]
end

#options?Boolean

Returns:

  • (Boolean)


43
44
45
# File 'lib/jeanine/request.rb', line 43

def options?
  request_method == 'options'
end

#paramsObject



19
20
21
# File 'lib/jeanine/request.rb', line 19

def params
  super.deep_transform_keys!(&:to_sym)
end

#patch?Boolean

Returns:

  • (Boolean)


39
40
41
# File 'lib/jeanine/request.rb', line 39

def patch?
  request_method == 'PATCH'
end

#post?Boolean

Returns:

  • (Boolean)


23
24
25
# File 'lib/jeanine/request.rb', line 23

def post?
  request_method == 'POST'
end

#put?Boolean

Returns:

  • (Boolean)


35
36
37
# File 'lib/jeanine/request.rb', line 35

def put?
  request_method == 'PUT'
end