class ActiveGroonga::Vector

Attributes

klass[R]
owner[R]
values[R]

Public Class Methods

new(owner, klass, values=[]) click to toggle source
# File lib/active_groonga/vector.rb, line 21
def initialize(owner, klass, values=[])
  @owner = owner
  @klass = klass
  @values = values
  @values = [@values] unless @values.is_a?(Array)
end

Public Instance Methods

<<(value) click to toggle source
# File lib/active_groonga/vector.rb, line 46
def <<(value)
  value = @klass.create(value) if @owner.persisted?
  @values << value
end
build(*args, &block) click to toggle source
# File lib/active_groonga/vector.rb, line 28
def build(*args, &block)
  @klass.new(*args, &block)
end
create(*args, &block) click to toggle source
# File lib/active_groonga/vector.rb, line 32
def create(*args, &block)
  @klass.create(*args, &block)
end
create!(*args, &block) click to toggle source
# File lib/active_groonga/vector.rb, line 36
def create!(*args, &block)
  @klass.create!(*args, &block)
end
each() { |instantiate(value)| ... } click to toggle source
# File lib/active_groonga/vector.rb, line 40
def each
  @values.each do |value|
    yield(instantiate(value))
  end
end
to_ary() click to toggle source
# File lib/active_groonga/vector.rb, line 51
def to_ary
  to_a
end

Private Instance Methods

instantiate(value) click to toggle source
# File lib/active_groonga/vector.rb, line 56
def instantiate(value)
  if value.is_a?(@klass)
    value
  else
    @klass.instantiate(value)
  end
end