class Statlysis::MapReduce

Attributes

identify[RW]
is_use_inline[RW]
mapreduce_javascript[R]
mongoid_scope[R]
mr_collection[RW]
results[RW]

Public Class Methods

new(mongoid_scope, mapreduce_javascript) click to toggle source
# File lib/statlysis/map_reduce.rb, line 10
def initialize mongoid_scope, mapreduce_javascript
  mr.mongoid_scope = mongoid_scope
  mr.mapreduce_javascript = mapreduce_javascript
  mr.is_use_inline = true
  mr.identify = Time.now.strftime("%m%d_%H%M%S")
  mr
end

Public Instance Methods

mr() click to toggle source
# File lib/statlysis/map_reduce.rb, line 29
def mr; self end
out_collection_name() click to toggle source
# File lib/statlysis/map_reduce.rb, line 28
def out_collection_name; "mr_#{mr.mongoid_scope.collection_name}_#{mr.identify}" end
output() click to toggle source
# File lib/statlysis/map_reduce.rb, line 24
def output
  mr.results.output
end
run() click to toggle source
# File lib/statlysis/map_reduce.rb, line 18
def run
  # TODO collection for large
  mr.results = Results.new mr.mongoid_scope.map_reduce(mapreduce_javascript.map_func, mapreduce_javascript.reduce_func).out(:replace => out_collection_name)
  self
end