Class: Butterfly::Request

Inherits:
Object
  • Object
show all
Defined in:
lib/butterfly/request.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(env) ⇒ Request

Returns a new instance of Request.



4
5
6
# File 'lib/butterfly/request.rb', line 4

def initialize(env)
  @env = env
end

Instance Attribute Details

#envObject (readonly)

Returns the value of attribute env.



3
4
5
# File 'lib/butterfly/request.rb', line 3

def env
  @env
end

Instance Method Details

#paramsObject



16
17
18
# File 'lib/butterfly/request.rb', line 16

def params
  @params ||= env["REQUEST_URI"].split("?")[0].split(".")[0].split("/").reject {|a| a.empty? }.map {|a| a.to_sym }
end

#post_contentObject



13
14
15
# File 'lib/butterfly/request.rb', line 13

def post_content
  @post_content ||= post_data.read
end

#post_dataObject



10
11
12
# File 'lib/butterfly/request.rb', line 10

def post_data
  @post_data ||= env["rack.input"]
end

#request_methodObject



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

def request_method
  env["REQUEST_METHOD"].downcase.to_sym
end

#request_typeObject



22
23
24
# File 'lib/butterfly/request.rb', line 22

def request_type
  env["REQUEST_URI"].split(".")[-1] rescue env["CONTENT_TYPE"] || nil
end

#route_paramObject



7
8
9
# File 'lib/butterfly/request.rb', line 7

def route_param
  @route_param ||= params.empty? ? nil : params.shift
end