Class: Flex::Result

Inherits:
Hash
  • Object
show all
Defined in:
lib/flex/result.rb,
lib/flex/result/bulk.rb,
lib/flex/result/search.rb,
lib/flex/result/document.rb,
lib/flex/result/multi_get.rb

Defined Under Namespace

Modules: Bulk, Collection, Document, MultiGet, Search

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(template, variables, response, result = nil) ⇒ Result

Returns a new instance of Result.



7
8
9
10
11
12
13
14
15
16
# File 'lib/flex/result.rb', line 7

def initialize(template, variables, response, result=nil)
  @template  = template
  @variables = variables
  @response  = response
  replace result || !response.body.empty? && MultiJson.decode(response.body) || return
  Conf.result_extenders.each do |ext|
    next if ext.respond_to?(:should_extend?) && !ext.should_extend?(self)
    extend ext
  end
end

Instance Attribute Details

#responseObject (readonly)

Returns the value of attribute response.



4
5
6
# File 'lib/flex/result.rb', line 4

def response
  @response
end

#templateObject (readonly)

Returns the value of attribute template.



4
5
6
# File 'lib/flex/result.rb', line 4

def template
  @template
end

#variablesObject

Returns the value of attribute variables.



5
6
7
# File 'lib/flex/result.rb', line 5

def variables
  @variables
end

Instance Method Details

#to_flex_result(force = false) ⇒ Object



18
19
20
21
# File 'lib/flex/result.rb', line 18

def to_flex_result(force=false)
  return self if variables[:context].nil? || variables[:raw_result] &&! force
  variables[:context].respond_to?(:flex_result) ? variables[:context].flex_result(self) : self
end