Module: Outpost::Expectations::ResponseTime
- Included in:
- Scouts::Http, Scouts::Ping, Scouts::Tcp
- Defined in:
- lib/outpost/expectations/response_time.rb
Overview
Module containing response_time matching expectations. Extend your Scout with ResponseTime and it will evaluate timely expressions, all in milisseconds.
It respond to the following rules:
-
less_than => If the response time is less than the associated number
-
more_than => If the response time is below than the associated number
Constant Summary collapse
- RESPONSE_TIME_MAPPING =
{ :less_than => "<", :more_than => ">", }.freeze
Class Method Summary collapse
-
.extended(base) ⇒ Object
Installs the response time expectation.
Instance Method Summary collapse
-
#evaluate_response_time(scout, rules) ⇒ Object
Method that will be used as an expectation to evaluate response time.
Class Method Details
.extended(base) ⇒ Object
Installs the response time expectation
17 18 19 |
# File 'lib/outpost/expectations/response_time.rb', line 17 def self.extended(base) base.expect :response_time, base.method(:evaluate_response_time) end |
Instance Method Details
#evaluate_response_time(scout, rules) ⇒ Object
Method that will be used as an expectation to evaluate response time
22 23 24 25 26 |
# File 'lib/outpost/expectations/response_time.rb', line 22 def evaluate_response_time(scout, rules) rules.all? do |rule, comparison| scout.response_time.nil? ? false : scout.response_time.send(RESPONSE_TIME_MAPPING[rule], comparison) end end |