Class: CrateRuby::ResultSet
- Inherits:
-
Object
- Object
- CrateRuby::ResultSet
- Includes:
- Enumerable
- Defined in:
- lib/crate_ruby/result_set.rb
Instance Attribute Summary collapse
-
#cols ⇒ Object
readonly
Returns the value of attribute cols.
-
#duration ⇒ Object
readonly
Returns the value of attribute duration.
-
#rowcount ⇒ Object
readonly
Returns the value of attribute rowcount.
Instance Method Summary collapse
- #<<(val) ⇒ Object
- #[](val) ⇒ Object
- #each(&block) ⇒ Object
-
#initialize(result) ⇒ ResultSet
constructor
A new instance of ResultSet.
- #inspect ⇒ Object
-
#select_columns(ary, &block) ⇒ Array
Filtered rows.
-
#values ⇒ Array
Returns all rows as Array of arrays.
Constructor Details
#initialize(result) ⇒ ResultSet
29 30 31 32 33 34 35 |
# File 'lib/crate_ruby/result_set.rb', line 29 def initialize(result) result = JSON.parse(result) @cols = result['cols'] @rows = result['rows'] @rowcount = result['rowcount'] @duration = result['duration'] end |
Instance Attribute Details
#cols ⇒ Object (readonly)
Returns the value of attribute cols.
26 27 28 |
# File 'lib/crate_ruby/result_set.rb', line 26 def cols @cols end |
#duration ⇒ Object (readonly)
Returns the value of attribute duration.
26 27 28 |
# File 'lib/crate_ruby/result_set.rb', line 26 def duration @duration end |
#rowcount ⇒ Object (readonly)
Returns the value of attribute rowcount.
26 27 28 |
# File 'lib/crate_ruby/result_set.rb', line 26 def rowcount @rowcount end |
Instance Method Details
#<<(val) ⇒ Object
41 42 43 |
# File 'lib/crate_ruby/result_set.rb', line 41 def <<(val) @rows << val end |
#[](val) ⇒ Object
49 50 51 |
# File 'lib/crate_ruby/result_set.rb', line 49 def [](val) @rows[val] end |
#each(&block) ⇒ Object
45 46 47 |
# File 'lib/crate_ruby/result_set.rb', line 45 def each(&block) @rows.each(&block) end |
#inspect ⇒ Object
37 38 39 |
# File 'lib/crate_ruby/result_set.rb', line 37 def inspect %Q{#<CrateRuby::ResultSet:#{object_id}>, @rowcount="#{@rowcount}", @duration=#{@duration}>} end |
#select_columns(ary, &block) ⇒ Array
60 61 62 63 |
# File 'lib/crate_ruby/result_set.rb', line 60 def select_columns(ary, &block) indexes = ary.map {|col| @cols.index(col)}.compact @rows.map{|r| r.values_at(*indexes)}.each(&block) end |
#values ⇒ Array
54 55 56 |
# File 'lib/crate_ruby/result_set.rb', line 54 def values @rows end |