Class: Relaxo::QueryServer::MappingProcess

Inherits:
Process
  • Object
show all
Defined in:
lib/relaxo/query_server/mapper.rb

Overview

Supports Mapper by providing a context with an emit method that collects the results from the mapping function.

Instance Method Summary collapse

Methods inherited from Process

#call, #log

Constructor Details

#initialize(context, mapper, function) ⇒ MappingProcess

Returns a new instance of MappingProcess.



28
29
30
31
32
33
# File 'lib/relaxo/query_server/mapper.rb', line 28

def initialize(context, mapper, function)
	super(context, function)
	
	@mapper = mapper
	@results = []
end

Instance Method Details

#emit(key, value = nil) ⇒ Object

Emit a result



36
37
38
# File 'lib/relaxo/query_server/mapper.rb', line 36

def emit(key, value = nil)
	@results << [key, value]
end

#load(name) ⇒ Object



40
41
42
# File 'lib/relaxo/query_server/mapper.rb', line 40

def load(name)
	@mapper.load(name)
end

#run(*args) ⇒ Object



44
45
46
47
48
49
50
51
52
53
# File 'lib/relaxo/query_server/mapper.rb', line 44

def run(*args)
	begin
		call(*args)
	rescue Exception => exception
		# If the mapping function throws an error, report the error for this document:
		return @context.error_for_exception(exception)
	end
	
	return @results
end