Class: SecureRequest
- Inherits:
-
Object
- Object
- SecureRequest
- Includes:
- StandardModel
- Defined in:
- lib/app/models/secure_request.rb
Overview
Capture a secure request transaction
Direct Known Subclasses
Instance Method Summary collapse
-
#consume(options = {}) ⇒ Object
@@abstract Mark this request as consumed recording the user and request information if given.
- #consume!(options = {}) ⇒ Object abstract
-
#expired? ⇒ Boolean
abstract
Boolean - True if we are good to go, false otherwise.
-
#good? ⇒ Boolean
abstract
Boolean - True if we are good to go, false otherwise.
-
#not_expired? ⇒ Boolean
abstract
Boolean.
-
#status ⇒ Object
What is the current status?.
Instance Method Details
#consume(options = {}) ⇒ Object
@@abstract Mark this request as consumed recording the user and request information if given
32 33 34 35 36 37 38 39 |
# File 'lib/app/models/secure_request.rb', line 32 def consume( = {}) self.used = true if [:request].present? self.ip_address = [:request].remote_ip self.user_agent = [:request].user_agent end save! end |
#consume!(options = {}) ⇒ Object
This method is abstract.
Consume the requests, but also verify it's valid before doing so
23 24 25 26 27 28 |
# File 'lib/app/models/secure_request.rb', line 23 def consume!( = {}) raise 'Expired request' if expired? raise 'Consumed request' if consumed? consume() end |
#expired? ⇒ Boolean
This method is abstract.
Check if expired
Returns Boolean - True if we are good to go, false otherwise.
62 63 64 65 66 |
# File 'lib/app/models/secure_request.rb', line 62 def expired? created_at < valid_duration_hrs.hours.ago.utc rescue StandardError true end |
#good? ⇒ Boolean
This method is abstract.
Check if expired or used
Returns Boolean - True if we are good to go, false otherwise.
56 57 58 |
# File 'lib/app/models/secure_request.rb', line 56 def good? !consumed? && not_expired? end |
#not_expired? ⇒ Boolean
This method is abstract.
Check if not expired
Returns Boolean.
70 71 72 |
# File 'lib/app/models/secure_request.rb', line 70 def not_expired? !expired? end |
#status ⇒ Object
What is the current status?
44 45 46 47 48 49 50 51 52 |
# File 'lib/app/models/secure_request.rb', line 44 def status if expired? 'Expired' elsif consumed? 'Consumed' else 'New' end end |