class RediSearch::AddField

Attributes

field_name[R]
index[R]
raw_schema[R]

Public Class Methods

new(index, field_name, schema) click to toggle source
# File lib/redi_search/add_field.rb, line 5
def initialize(index, field_name, schema)
  @index = index
  @field_name = field_name
  @raw_schema = schema
end

Public Instance Methods

call() click to toggle source
# File lib/redi_search/add_field.rb, line 17
def call
  call!
rescue Redis::CommandError
  false
end
call!() click to toggle source
# File lib/redi_search/add_field.rb, line 11
def call!
  index.schema.add_field(field_name, raw_schema)

  RediSearch.client.call!(*command).ok?
end

Private Instance Methods

command() click to toggle source
# File lib/redi_search/add_field.rb, line 27
def command
  ["ALTER", index.name, "SCHEMA", "ADD", *field_schema]
end
field_schema() click to toggle source
# File lib/redi_search/add_field.rb, line 31
def field_schema
  @field_schema ||= Schema.make_field(field_name, raw_schema).to_a
end