Class: Bucket
- Inherits:
-
Object
- Object
- Bucket
- Includes:
- Mongoid::Document, Mongoid::Timestamps
- Defined in:
- app/models/bucket.rb
Instance Attribute Summary collapse
-
#request ⇒ Object
temporally hack.
Instance Method Summary collapse
- #clear_history ⇒ Object
- #first_request ⇒ Object
- #first_request_at ⇒ Object
- #last_request ⇒ Object
- #last_request_at ⇒ Object
- #last_response ⇒ Object
- #name ⇒ Object
- #requests ⇒ Object
- #responses ⇒ Object
Instance Attribute Details
#request ⇒ Object
temporally hack
17 18 19 |
# File 'app/models/bucket.rb', line 17 def request @request end |
Instance Method Details
#clear_history ⇒ Object
43 44 45 46 47 48 49 |
# File 'app/models/bucket.rb', line 43 def clear_history # requests and responses are capped collections in production, we cannot delete docs on a capped collection # so we filter these objects by the history_start_at to "clear" # db.runCommand({ "convertToCapped": "requests", size: 25000000 }); # db.runCommand({ "convertToCapped": "responses", size: 25000000 }); update_attribute :history_start_at, Time.zone.now end |
#first_request ⇒ Object
71 72 73 |
# File 'app/models/bucket.rb', line 71 def first_request requests.order(:created_at.asc).first end |
#first_request_at ⇒ Object
75 76 77 |
# File 'app/models/bucket.rb', line 75 def first_request_at first_request&.created_at end |
#last_request ⇒ Object
59 60 61 |
# File 'app/models/bucket.rb', line 59 def last_request requests.order(:created_at.desc).first end |
#last_request_at ⇒ Object
67 68 69 |
# File 'app/models/bucket.rb', line 67 def last_request_at last_request&.created_at end |
#last_response ⇒ Object
63 64 65 |
# File 'app/models/bucket.rb', line 63 def last_response responses.order(:created_at.desc).first end |
#name ⇒ Object
51 52 53 54 55 56 57 |
# File 'app/models/bucket.rb', line 51 def name if (name = self[:name]).blank? token else name end end |
#requests ⇒ Object
27 28 29 30 31 32 33 |
# File 'app/models/bucket.rb', line 27 def requests # I couldn't make has_many + conditions work with Mongoid # requests must be filtered by created_at # see clear_history Request.where(bucket_id: id).gte(created_at: history_start_at || created_at).order(:created_at.desc) end |
#responses ⇒ Object
35 36 37 38 39 40 41 |
# File 'app/models/bucket.rb', line 35 def responses # I couldn't make has_many + conditions work with Mongoid # responses must be filtered by created_at # see clear_history Response.where(bucket_id: id).gte(created_at: history_start_at || created_at).order(:created_at.desc) end |