module Groonga::Client::Response::Searchable
Attributes
raw_columns[RW]
raw_records[RW]
records[RW]
Public Instance Methods
each(&block)
click to toggle source
# File lib/groonga/client/response/searchable.rb, line 42 def each(&block) records.each(&block) end
limit_value()
click to toggle source
For Kaminari
# File lib/groonga/client/response/searchable.rb, line 28 def limit_value (@command[:limit] || 10).to_i end
offset_value()
click to toggle source
For Kaminari
# File lib/groonga/client/response/searchable.rb, line 33 def offset_value (@command[:offset] || 0).to_i end
size()
click to toggle source
For Kaminari
# File lib/groonga/client/response/searchable.rb, line 38 def size records.size end
Private Instance Methods
convert_value(value, type)
click to toggle source
# File lib/groonga/client/response/searchable.rb, line 75 def convert_value(value, type) case value when ::Array value.collect do |element| convert_value(element, type) end else case type when "Time" Time.at(value) else value end end end
parse_records(raw_columns, raw_records)
click to toggle source
# File lib/groonga/client/response/searchable.rb, line 47 def parse_records(raw_columns, raw_records) column_names = {} columns = raw_columns.collect do |column| if column.is_a?(::Array) name, type = column else name = column["name"] type = column["type"] end base_column_name = name suffix = 2 while column_names.key?(name) name = "#{base_column_name}#{suffix}" suffix += 1 end column_names[name] = true [name, type] end (raw_records || []).collect do |raw_record| record = Record.new columns.each_with_index do |(name, type), i| record[name] = convert_value(raw_record[i], type) end record end end