Class: Zero::Request
- Inherits:
-
Object
- Object
- Zero::Request
- Defined in:
- lib/zero/request.rb,
lib/zero/request/accept.rb,
lib/zero/request/client.rb,
lib/zero/request/server.rb,
lib/zero/request/parameter.rb,
lib/zero/request/accept_type.rb
Overview
This class wraps around a rack environment for easier access to all data.
Defined Under Namespace
Classes: Accept, AcceptType, Client, Parameter, Server
Instance Attribute Summary collapse
-
#env ⇒ Hash
readonly
get the environment.
Class Method Summary collapse
Instance Method Summary collapse
-
#accept ⇒ Accept
get the media types.
-
#client ⇒ Client
return all information about the client.
-
#content_type ⇒ String
return the content type of the request TODO change into its own object?.
-
#delete? ⇒ Boolean
is the method ‘DELETE’?.
-
#get? ⇒ Boolean
is the method ‘GET’?.
-
#head? ⇒ Boolean
is the method ‘HEAD’?.
-
#initialize(env) ⇒ Request
constructor
create a new request object.
-
#method ⇒ Symbol
get the method of the request.
-
#params ⇒ Parameter
get an object representing the parameters of the request.
-
#patch? ⇒ Boolean
is the method ‘PATCH’?.
-
#path ⇒ String
get the requested path.
-
#post? ⇒ Boolean
is the method ‘POST’?.
-
#put? ⇒ Boolean
is the method ‘PUT’?.
-
#server ⇒ Server
get the information on the server.
Constructor Details
#initialize(env) ⇒ Request
create a new request object
15 16 17 18 |
# File 'lib/zero/request.rb', line 15 def initialize(env) @env = env @env['zero.request'] = self end |
Instance Attribute Details
#env ⇒ Hash (readonly)
get the environment
22 23 24 |
# File 'lib/zero/request.rb', line 22 def env @env end |
Class Method Details
.create(environment) ⇒ Object
9 10 11 12 |
# File 'lib/zero/request.rb', line 9 def self.create(environment) return environment['zero.request'] if environment.has_key?('zero.request') new(environment) end |
Instance Method Details
#accept ⇒ Accept
get the media types
57 58 59 |
# File 'lib/zero/request.rb', line 57 def accept @accept ||= Request::Accept.new(@env) end |
#client ⇒ Client
return all information about the client
32 33 34 |
# File 'lib/zero/request.rb', line 32 def client @client ||= Request::Client.new(@env) end |
#content_type ⇒ String
return the content type of the request TODO change into its own object?
51 52 53 |
# File 'lib/zero/request.rb', line 51 def content_type @env[CONST_CONTENT_TYPE] if @env.has_key?(CONST_CONTENT_TYPE) end |
#delete? ⇒ Boolean
is the method ‘DELETE’?
77 |
# File 'lib/zero/request.rb', line 77 def delete?; method == :delete; end |
#get? ⇒ Boolean
is the method ‘GET’?
68 |
# File 'lib/zero/request.rb', line 68 def get?; method == :get; end |
#head? ⇒ Boolean
is the method ‘HEAD’?
80 |
# File 'lib/zero/request.rb', line 80 def head?; method == :head; end |
#method ⇒ Symbol
get the method of the request
63 64 65 |
# File 'lib/zero/request.rb', line 63 def method @method ||= @env[CONST_REQUEST_METHOD].downcase.to_sym end |
#params ⇒ Parameter
get an object representing the parameters of the request
44 45 46 |
# File 'lib/zero/request.rb', line 44 def params @params ||= Request::Parameter.new(@env) end |
#patch? ⇒ Boolean
is the method ‘PATCH’?
83 |
# File 'lib/zero/request.rb', line 83 def patch?; method == :patch; end |
#path ⇒ String
get the requested path
26 27 28 |
# File 'lib/zero/request.rb', line 26 def path @path ||= @env[CONST_PATH_INFO] end |
#post? ⇒ Boolean
is the method ‘POST’?
71 |
# File 'lib/zero/request.rb', line 71 def post?; method == :post; end |
#put? ⇒ Boolean
is the method ‘PUT’?
74 |
# File 'lib/zero/request.rb', line 74 def put?; method == :put; end |