Class: CommunityZero::Request
- Inherits:
-
Object
- Object
- CommunityZero::Request
- Defined in:
- lib/community_zero/request.rb
Overview
A singleton request.
Instance Attribute Summary collapse
-
#env ⇒ Object
readonly
Returns the value of attribute env.
Instance Method Summary collapse
- #base_uri ⇒ Object
- #body ⇒ Object
- #body=(body) ⇒ Object
-
#initialize(env) ⇒ Request
constructor
A new instance of Request.
- #method ⇒ Object
- #path ⇒ Object
- #query_params ⇒ Object
Constructor Details
#initialize(env) ⇒ Request
Returns a new instance of Request.
25 26 27 |
# File 'lib/community_zero/request.rb', line 25 def initialize(env) @env = env end |
Instance Attribute Details
#env ⇒ Object (readonly)
Returns the value of attribute env.
23 24 25 |
# File 'lib/community_zero/request.rb', line 23 def env @env end |
Instance Method Details
#base_uri ⇒ Object
29 30 31 |
# File 'lib/community_zero/request.rb', line 29 def base_uri @base_uri ||= "#{env['rack.url_scheme']}://#{env['HTTP_HOST']}#{env['SCRIPT_NAME']}" end |
#body ⇒ Object
45 46 47 |
# File 'lib/community_zero/request.rb', line 45 def body @body ||= env['rack.input'].read end |
#body=(body) ⇒ Object
41 42 43 |
# File 'lib/community_zero/request.rb', line 41 def body=(body) @body = body end |
#method ⇒ Object
33 34 35 |
# File 'lib/community_zero/request.rb', line 33 def method @env['REQUEST_METHOD'] end |
#path ⇒ Object
37 38 39 |
# File 'lib/community_zero/request.rb', line 37 def path @path ||= env['PATH_INFO'].split('/').select { |part| part != "" } end |
#query_params ⇒ Object
49 50 51 52 53 54 55 56 57 |
# File 'lib/community_zero/request.rb', line 49 def query_params @query_params ||= begin params = Rack::Request.new(env).GET params.keys.each do |key| params[key] = URI.unescape(params[key]) end params end end |