Class: Rails::Buddy::Request
- Inherits:
-
Object
- Object
- Rails::Buddy::Request
- Defined in:
- lib/rails/buddy/request.rb
Class Attribute Summary collapse
-
.request ⇒ Object
readonly
Returns the value of attribute request.
Instance Attribute Summary collapse
-
#meta ⇒ Object
Returns the value of attribute meta.
-
#method ⇒ Object
readonly
Returns the value of attribute method.
-
#models ⇒ Object
readonly
Returns the value of attribute models.
-
#path ⇒ Object
readonly
Returns the value of attribute path.
-
#queries ⇒ Object
readonly
Returns the value of attribute queries.
-
#request ⇒ Object
Returns the value of attribute request.
-
#request_id ⇒ Object
(also: #id)
readonly
Returns the value of attribute request_id.
-
#response ⇒ Object
Returns the value of attribute response.
-
#status ⇒ Object
Returns the value of attribute status.
-
#time ⇒ Object
readonly
Returns the value of attribute time.
Class Method Summary collapse
Instance Method Summary collapse
- #action_definition ⇒ Object
- #add_model(model) ⇒ Object
- #add_query(query) ⇒ Object
- #familly_status ⇒ Object
-
#initialize(path:, method:) ⇒ Request
constructor
A new instance of Request.
Constructor Details
#initialize(path:, method:) ⇒ Request
Returns a new instance of Request.
31 32 33 34 35 36 37 38 |
# File 'lib/rails/buddy/request.rb', line 31 def initialize(path:, method:) @request_id = SecureRandom.uuid @time = Time.current @path = path @method = method @models = Hash.new(0) @queries = [] end |
Class Attribute Details
.request ⇒ Object (readonly)
Returns the value of attribute request.
7 8 9 |
# File 'lib/rails/buddy/request.rb', line 7 def request @request end |
Instance Attribute Details
#meta ⇒ Object
Returns the value of attribute meta.
27 28 29 |
# File 'lib/rails/buddy/request.rb', line 27 def @meta end |
#method ⇒ Object (readonly)
Returns the value of attribute method.
26 27 28 |
# File 'lib/rails/buddy/request.rb', line 26 def method @method end |
#models ⇒ Object (readonly)
Returns the value of attribute models.
26 27 28 |
# File 'lib/rails/buddy/request.rb', line 26 def models @models end |
#path ⇒ Object (readonly)
Returns the value of attribute path.
26 27 28 |
# File 'lib/rails/buddy/request.rb', line 26 def path @path end |
#queries ⇒ Object (readonly)
Returns the value of attribute queries.
26 27 28 |
# File 'lib/rails/buddy/request.rb', line 26 def queries @queries end |
#request ⇒ Object
Returns the value of attribute request.
27 28 29 |
# File 'lib/rails/buddy/request.rb', line 27 def request @request end |
#request_id ⇒ Object (readonly) Also known as: id
Returns the value of attribute request_id.
26 27 28 |
# File 'lib/rails/buddy/request.rb', line 26 def request_id @request_id end |
#response ⇒ Object
Returns the value of attribute response.
27 28 29 |
# File 'lib/rails/buddy/request.rb', line 27 def response @response end |
#status ⇒ Object
Returns the value of attribute status.
27 28 29 |
# File 'lib/rails/buddy/request.rb', line 27 def status @status end |
#time ⇒ Object (readonly)
Returns the value of attribute time.
26 27 28 |
# File 'lib/rails/buddy/request.rb', line 26 def time @time end |
Class Method Details
.from_rack_env(rack_env) ⇒ Object
9 10 11 12 |
# File 'lib/rails/buddy/request.rb', line 9 def from_rack_env(rack_env) @request = ::Rack::Request.new(rack_env) new(path:, method:) end |
.method ⇒ Object
16 17 18 19 20 21 22 23 |
# File 'lib/rails/buddy/request.rb', line 16 def method request_method = request.env['REQUEST_METHOD'].downcase.to_sym if request_method == :post request.params['_method'].presence&.to_sym || request_method else request_method end end |
.path ⇒ Object
14 |
# File 'lib/rails/buddy/request.rb', line 14 def path = request.fullpath |
Instance Method Details
#action_definition ⇒ Object
59 60 61 62 63 |
# File 'lib/rails/buddy/request.rb', line 59 def action_definition return unless [:controller] && [:action] [:controller].constantize.instance_method([:action]).source_location.join(':') end |
#add_model(model) ⇒ Object
51 52 53 |
# File 'lib/rails/buddy/request.rb', line 51 def add_model(model) @models[model.class.to_s] += 1 end |
#add_query(query) ⇒ Object
55 56 57 |
# File 'lib/rails/buddy/request.rb', line 55 def add_query(query) @queries << query end |
#familly_status ⇒ Object
40 41 42 43 44 45 46 47 48 49 |
# File 'lib/rails/buddy/request.rb', line 40 def familly_status case status.to_s[0] when '2' then 'success' when '3' then 'redirect' when '4' then 'error' when '5' then 'fatal_error' else 'UNKNOWN' end end |