class Statlysis::MultipleDataset
Attributes
cron[R]
regexp[R]
sources[R]
Public Class Methods
new(cron = nil)
click to toggle source
# File lib/statlysis/multiple_dataset.rb, line 5 def initialize cron = nil @cron = cron @sources ||= Set.new return self end
Public Instance Methods
_resort_source_order()
click to toggle source
# File lib/statlysis/multiple_dataset.rb, line 51 def _resort_source_order; resort_source_order if cron; end
_select_orm(_module)
click to toggle source
select ORM models fron ::Object namespace
# File lib/statlysis/multiple_dataset.rb, line 55 def _select_orm _module ::Object.constants.map do |c| c.to_s.constantize rescue nil # NameError: uninitialized constant ClassMethods end.compact.select do |c| (c.class === Class) && c.respond_to?(:included_modules) && c.included_modules.index(_module) end end
add_source(s)
click to toggle source
# File lib/statlysis/multiple_dataset.rb, line 25 def add_source s @sources.add s return self end
first_time()
click to toggle source
# File lib/statlysis/multiple_dataset.rb, line 47 def first_time t = _resort_source_order.map(&:first).compact.map {|i| i.send(cron.time_column) }.compact.min || DateTime1970 t.in_time_zone(cron.time_zone) end
name()
click to toggle source
# File lib/statlysis/multiple_dataset.rb, line 31 def name if @sources.size.zero? Statlysis.logger.warn "Add source to #{self} first!" return nil elsif @sources.size == 1 @sources.first.send(Utils.name(@sources.first)) else # /multiple_log_2013[0-9]{4}/ => 'multiple_log' regexp.inspect[1..-2].gsub(/\-|\[|\]|\{|\}|[0-9]/, '').sub(/\_+$/, '') end end
Also aliased as: collection_name, table_name
resort_source_order()
click to toggle source
# File lib/statlysis/multiple_dataset.rb, line 52 def resort_source_order; raise DefaultNotImplementWrongMessage; end
set_regexp(regexp)
click to toggle source
# File lib/statlysis/multiple_dataset.rb, line 12 def set_regexp regexp case regexp when Regexp when String regexp = Regexp.new(string) else raise "regexp #{regexp} should be a Regexp!" end @regexp = regexp return self end