class GroongaClientModel::LoadValueGenerator

Public Class Methods

new(record) click to toggle source
# File lib/groonga_client_model/load_value_generator.rb, line 21
def initialize(record)
  @record = record
end

Public Instance Methods

generate() click to toggle source
# File lib/groonga_client_model/load_value_generator.rb, line 25
def generate
  load_value = {}
  @record.attributes.each do |name, value|
    next if value.nil?
    load_value[name] = format_value(value)
  end
  if load_value.key?("_id") and load_value.key?("_key")
    load_value.delete("_id")
  end
  load_value
end

Private Instance Methods

format_value(value) click to toggle source
# File lib/groonga_client_model/load_value_generator.rb, line 38
def format_value(value)
  case value
  when Date
    value.strftime("%Y-%m-%d 00:00:00")
  when Time
    value.strftime("%Y-%m-%d %H:%M:%S.%6N")
  when Record
    format_value(value._key)
  when Array
    value.collect do |sub_value|
      format_value(sub_value)
    end
  else
    value
  end
end