Class: CloudwatchQuery::ResultSet
- Inherits:
-
Object
- Object
- CloudwatchQuery::ResultSet
- Includes:
- Enumerable
- Defined in:
- lib/cloudwatch_query/result_set.rb
Instance Attribute Summary collapse
-
#results ⇒ Object
readonly
Returns the value of attribute results.
-
#statistics ⇒ Object
readonly
Returns the value of attribute statistics.
Instance Method Summary collapse
-
#by_type(type) ⇒ Object
Filter results by log type.
- #count ⇒ Object (also: #size, #length)
- #each(&block) ⇒ Object
- #empty? ⇒ Boolean
- #first(n = nil) ⇒ Object
-
#group_by_request ⇒ Object
Group results by request_id (for Rails logs).
-
#initialize(results: [], statistics: {}, registry: nil) ⇒ ResultSet
constructor
A new instance of ResultSet.
- #last(n = nil) ⇒ Object
-
#parsed ⇒ Object
Get only parsed results.
- #to_a ⇒ Object
-
#unparsed ⇒ Object
Get only unparsed results.
Constructor Details
#initialize(results: [], statistics: {}, registry: nil) ⇒ ResultSet
Returns a new instance of ResultSet.
9 10 11 12 |
# File 'lib/cloudwatch_query/result_set.rb', line 9 def initialize(results: [], statistics: {}, registry: nil) @results = results.map { |r| Result.new(r, registry: registry) } @statistics = statistics end |
Instance Attribute Details
#results ⇒ Object (readonly)
Returns the value of attribute results.
7 8 9 |
# File 'lib/cloudwatch_query/result_set.rb', line 7 def results @results end |
#statistics ⇒ Object (readonly)
Returns the value of attribute statistics.
7 8 9 |
# File 'lib/cloudwatch_query/result_set.rb', line 7 def statistics @statistics end |
Instance Method Details
#by_type(type) ⇒ Object
Filter results by log type
41 42 43 |
# File 'lib/cloudwatch_query/result_set.rb', line 41 def by_type(type) @results.select { |r| r.log_type == type } end |
#count ⇒ Object Also known as: size, length
18 19 20 |
# File 'lib/cloudwatch_query/result_set.rb', line 18 def count @results.count end |
#each(&block) ⇒ Object
14 15 16 |
# File 'lib/cloudwatch_query/result_set.rb', line 14 def each(&block) @results.each(&block) end |
#empty? ⇒ Boolean
24 25 26 |
# File 'lib/cloudwatch_query/result_set.rb', line 24 def empty? @results.empty? end |
#first(n = nil) ⇒ Object
28 29 30 |
# File 'lib/cloudwatch_query/result_set.rb', line 28 def first(n = nil) n ? @results.first(n) : @results.first end |
#group_by_request ⇒ Object
Group results by request_id (for Rails logs)
56 57 58 59 60 |
# File 'lib/cloudwatch_query/result_set.rb', line 56 def group_by_request @results .select { |r| r.parsed&.respond_to?(:request_id) && r.parsed.request_id } .group_by { |r| r.parsed.request_id } end |
#last(n = nil) ⇒ Object
32 33 34 |
# File 'lib/cloudwatch_query/result_set.rb', line 32 def last(n = nil) n ? @results.last(n) : @results.last end |
#parsed ⇒ Object
Get only parsed results
46 47 48 |
# File 'lib/cloudwatch_query/result_set.rb', line 46 def parsed @results.select(&:parsed?) end |
#to_a ⇒ Object
36 37 38 |
# File 'lib/cloudwatch_query/result_set.rb', line 36 def to_a @results end |
#unparsed ⇒ Object
Get only unparsed results
51 52 53 |
# File 'lib/cloudwatch_query/result_set.rb', line 51 def unparsed @results.reject(&:parsed?) end |