Module: Statlysis

Defined in:
lib/statlysis.rb,
lib/statlysis.rb,
lib/statlysis.rb,
lib/statlysis/cron.rb,
lib/statlysis/clock.rb,
lib/statlysis/utils.rb,
lib/statlysis/common.rb,
lib/statlysis/dataset.rb,
lib/statlysis/formula.rb,
lib/statlysis/results.rb,
lib/statlysis/similar.rb,
lib/statlysis/cron/top.rb,
lib/statlysis/cron_set.rb,
lib/statlysis/constants.rb,
lib/statlysis/cron/count.rb,
lib/statlysis/map_reduce.rb,
lib/statlysis/timeseries.rb,
lib/statlysis/configuration.rb,
lib/statlysis/javascript/count.rb,
lib/statlysis/multiple_dataset.rb,
lib/statlysis/cron/count/timely.rb,
lib/statlysis/cron/count/dimensions.rb,
lib/statlysis/cron/top/hotest_items.rb,
lib/statlysis/cron/top/lastest_visits.rb,
lib/statlysis/multiple_dataset/mongoid.rb,
lib/statlysis/multiple_dataset/active_record.rb

Overview

TODO support ActiveRecord

Defined Under Namespace

Modules: Common, Javascript, TimeSeries, Utils Classes: ActiveRecordDataset, Clock, Configuration, Count, Cron, CronSet, Dataset, Dimensions, Formula, HotestItems, LastestVisits, MapReduce, MongoidDataset, MultipleDataset, Railtie, Results, Similar, SingleKv, Timely, Top

Constant Summary collapse

TimeUnits =
%w[hour day week month year]
DateTime1970 =
Time.zone.parse("19700101").in_time_zone
DefaultTableOpts =
{:charset => "utf8", :collate => "utf8_general_ci", :engine => "MyISAM"}
DefaultNotImplementWrongMessage =
"Not implement yet, please config it by subclass".freeze

Class Attribute Summary collapse

Class Method Summary collapse

Class Attribute Details

.loggerObject

Returns the value of attribute logger.



54
55
56
# File 'lib/statlysis.rb', line 54

def logger
  @logger
end

Class Method Details

.configObject

delagate config methods to Configuration



45
# File 'lib/statlysis.rb', line 45

def config; Configuration.instance end

.dailyObject



60
# File 'lib/statlysis.rb', line 60

def daily; CronSet.new(Statlysis.config.day_crons) end

.hourlyObject



61
# File 'lib/statlysis.rb', line 61

def hourly; CronSet.new(Statlysis.config.hour_crons) end

.setup(&blk) ⇒ Object



26
27
28
29
30
31
32
33
34
# File 'lib/statlysis.rb', line 26

def setup &blk
  raise "Need to setup proc" if not blk

  logger.info "Start to setup Statlysis"
  time_log do
    self.config.instance_exec(&blk)
  end
  logger.info
end

.source_to_database_typeObject



57
# File 'lib/statlysis.rb', line 57

def source_to_database_type; @_source_to_database_type ||= {} end

.time_log(text = nil) ⇒ Object



36
37
38
39
40
41
42
# File 'lib/statlysis.rb', line 36

def time_log text = nil
  t = Time.now
  logger.info text if text
  yield if block_given?
  logger.info "Time spend #{(Time.now - t).round(2)} seconds."
  logger.info "-" * 42
end