module RediSearch::LazilyLoad

Attributes

documents[R]

:nocov:

Public Instance Methods

inspect() click to toggle source
Calls superclass method
# File lib/redi_search/lazily_load.rb, line 25
def inspect
  execute_and_rescue_inspection do
    return super unless valid?

    documents
  end
end
load()
Alias for: to_a
loaded?() click to toggle source
# File lib/redi_search/lazily_load.rb, line 11
def loaded?
  @loaded = false unless defined? @loaded

  @loaded
end
pretty_print(printer) click to toggle source

:nocov:

Calls superclass method
# File lib/redi_search/lazily_load.rb, line 34
def pretty_print(printer)
  execute_and_rescue_inspection do
    return super(inspect) unless valid?

    printer.pp(documents)
  end
end
to_a() click to toggle source
# File lib/redi_search/lazily_load.rb, line 17
def to_a
  execute unless loaded?

  documents
end
Also aliased as: load

Private Instance Methods

call!() click to toggle source
# File lib/redi_search/lazily_load.rb, line 61
def call!
  RediSearch.client.call!(*command)
end
command() click to toggle source
# File lib/redi_search/lazily_load.rb, line 47
def command
  raise NotImplementedError, "included class did not define #{__method__}"
end
execute() click to toggle source
# File lib/redi_search/lazily_load.rb, line 51
def execute
  return unless valid?

  @loaded = true

  call!.yield_self do |response|
    parse_response(response)
  end
end
execute_and_rescue_inspection() { || ... } click to toggle source
# File lib/redi_search/lazily_load.rb, line 73
def execute_and_rescue_inspection
  execute unless loaded?

  yield
rescue Redis::CommandError => e
  e.message
end
parse_response(_response) click to toggle source
# File lib/redi_search/lazily_load.rb, line 65
def parse_response(_response)
  raise NotImplementedError, "included class did not define #{__method__}"
end
valid?() click to toggle source
# File lib/redi_search/lazily_load.rb, line 69
def valid?
  true
end