Class: T1000::TransactionList
- Inherits:
-
Array
- Object
- Array
- T1000::TransactionList
- Defined in:
- lib/t-1000/transaction_list.rb
Class Method Summary collapse
Instance Method Summary collapse
- #changed ⇒ Object
-
#initialize(ip, timeout: 3600) ⇒ TransactionList
constructor
A new instance of TransactionList.
- #with_error ⇒ Object
- #within(time) ⇒ Object
Constructor Details
#initialize(ip, timeout: 3600) ⇒ TransactionList
Returns a new instance of TransactionList.
22 23 24 25 26 |
# File 'lib/t-1000/transaction_list.rb', line 22 def initialize(ip, timeout: 3600) @timeout = timeout @key = ActiveSupport::Cache. [ip], :ip_request_tracker replace T1000.cache.store.read(@key) || [] end |
Class Method Details
.for_ip(ip, timeout: 3600) ⇒ Object
18 19 20 |
# File 'lib/t-1000/transaction_list.rb', line 18 def self.for_ip(ip, timeout: 3600) new(ip, timeout: timeout) end |
Instance Method Details
#changed ⇒ Object
36 37 38 |
# File 'lib/t-1000/transaction_list.rb', line 36 def changed T1000.cache.store.write @key, self, expires_in: @timeout end |
#with_error ⇒ Object
32 33 34 |
# File 'lib/t-1000/transaction_list.rb', line 32 def with_error dup.replace select { |t| t.response.status >= 400 } end |
#within(time) ⇒ Object
28 29 30 |
# File 'lib/t-1000/transaction_list.rb', line 28 def within(time) dup.replace select { |t| t.time > time.ago } end |