Class: ActiveGroonga::ResultSet
- Inherits:
-
Object
- Object
- ActiveGroonga::ResultSet
- Includes:
- Enumerable
- Defined in:
- lib/active_groonga/result_set.rb
Defined Under Namespace
Modules: PaginationProxy
Instance Attribute Summary (collapse)
-
- (Object) expression
readonly
Returns the value of attribute expression.
-
- (Object) n_records
readonly
Returns the value of attribute n_records.
-
- (Object) records
readonly
Returns the value of attribute records.
Instance Method Summary (collapse)
- - (Object) each
-
- (Boolean) empty?
Returns whether this result set has records or not.
- - (Object) group(key)
-
- (ResultSet) initialize(records, klass, options = {})
constructor
A new instance of ResultSet.
-
- (Object) paginate(sort_keys = nil, options = {})
Paginates the result set.
-
- (Object) sort(keys = nil, options = {})
Sorts the result set.
Constructor Details
- (ResultSet) initialize(records, klass, options = {})
Returns a new instance of ResultSet
21 22 23 24 25 26 27 28 29 30 31 32 33 |
# File 'lib/active_groonga/result_set.rb', line 21 def initialize(records, klass, ={}) @records = records @klass = klass @groups = {} @expression = [:expression] if @expression.nil? and @records.respond_to?(:expression) @expression = @records.expression end @n_records = [:n_records] || @records.size @default_sort_keys = [:default_sort_keys] @default_limit = [:default_limit] compute_n_key_nested end |
Instance Attribute Details
- (Object) expression (readonly)
Returns the value of attribute expression
20 21 22 |
# File 'lib/active_groonga/result_set.rb', line 20 def expression @expression end |
- (Object) n_records (readonly)
Returns the value of attribute n_records
20 21 22 |
# File 'lib/active_groonga/result_set.rb', line 20 def n_records @n_records end |
- (Object) records (readonly)
Returns the value of attribute records
20 21 22 |
# File 'lib/active_groonga/result_set.rb', line 20 def records @records end |
Instance Method Details
- (Object) each
152 153 154 155 156 157 158 |
# File 'lib/active_groonga/result_set.rb', line 152 def each @records.each do |record| object = instantiate(record) next if object.nil? yield(object) end end |
- (Boolean) empty?
Returns whether this result set has records or not.
164 165 166 |
# File 'lib/active_groonga/result_set.rb', line 164 def empty? records.empty? end |
- (Object) group(key)
148 149 150 |
# File 'lib/active_groonga/result_set.rb', line 148 def group(key) @groups[key] ||= @records.group(key) end |
- (ResultSet) paginate(sort_keys, options = {}) - (ResultSet) paginate(options = {})
Paginates the result set.
80 81 82 83 84 85 86 87 88 89 90 91 92 |
# File 'lib/active_groonga/result_set.rb', line 80 def paginate(sort_keys=nil, ={}) if sort_keys.is_a?(Hash) and .empty? = sort_keys sort_keys = nil end [:size] = normalize_limit([:size]) [:page] = normalize_page([:page]) sort_keys = normalize_sort_keys(sort_keys) records = @records.paginate(sort_keys, ) set = create_result_set(records) set.extend(PaginationProxy) set end |
- (ResultSet) sort(keys, options = {}) - (ResultSet) sort(options = {})
Sorts the result set.
138 139 140 141 142 143 144 145 146 |
# File 'lib/active_groonga/result_set.rb', line 138 def sort(keys=nil, ={}) if keys.is_a?(Hash) and .empty? = keys keys = nil end keys = normalize_sort_keys(keys) [:limit] = normalize_limit([:limit]) || @n_records create_result_set(@records.sort(keys, )) end |