Module: Totalizer
- Extended by:
- Totalizer
- Included in:
- Totalizer
- Defined in:
- lib/totalizer/base.rb,
lib/totalizer/step.rb,
lib/totalizer/errors.rb,
lib/totalizer/logger.rb,
lib/totalizer/metric.rb,
lib/totalizer/factory.rb,
lib/totalizer/message.rb,
lib/totalizer/railtie.rb,
lib/totalizer/version.rb,
lib/totalizer/notifier/log_notifier.rb,
lib/totalizer/notifier/base_notifier.rb,
lib/totalizer/notifier/email_notifier.rb,
lib/totalizer/notifier/slack_notifier.rb,
lib/totalizer/notifier/action_mailer_notifier.rb,
lib/totalizer/notifier/mandrill_mailer_notifier.rb
Defined Under Namespace
Modules: Errors
Classes: AcqusitionMessage, ActionMailerNotifier, ActivationMessage, ActivityMessage, BaseNotifier, ChurnMessage, EmailNotifier, EngagementMessage, Factory, LogNotifier, MandrillMailerNotifier, Message, Metric, MetricMessage, Railtie, RetentionMessage, SlackNotifier, Step
Constant Summary
collapse
- NOTIFIERS =
{ log: 'Totalizer::LogNotifier', action_mailer: 'Totalizer::ActionMailerNotifier', mandrill_mailer: 'Totalizer::MandrillMailerNotifier', slack: 'Totalizer::SlackNotifier' }
- VERSION =
"0.1.5"
Instance Attribute Summary collapse
Class Method Summary
collapse
Instance Method Summary
collapse
Instance Attribute Details
#activity_metric ⇒ Object
Returns the value of attribute activity_metric.
4
5
6
|
# File 'lib/totalizer/base.rb', line 4
def activity_metric
@activity_metric
end
|
#growth_metric ⇒ Object
Returns the value of attribute growth_metric.
4
5
6
|
# File 'lib/totalizer/base.rb', line 4
def growth_metric
@growth_metric
end
|
Class Method Details
.logger ⇒ Object
2
3
4
|
# File 'lib/totalizer/logger.rb', line 2
def self.logger
@@logger ||= defined?(Rails) ? Rails.logger : Logger.new(STDOUT)
end
|
.logger=(logger) ⇒ Object
6
7
8
|
# File 'lib/totalizer/logger.rb', line 6
def self.logger=(logger)
@@logger = logger
end
|
Instance Method Details
#date=(date) ⇒ Object
23
24
25
|
# File 'lib/totalizer/base.rb', line 23
def date= date
factory.date = date
end
|
#factory ⇒ Object
19
20
21
|
# File 'lib/totalizer/base.rb', line 19
def factory
@factory ||= Totalizer::Factory.new growth_metric, activity_metric
end
|
#fire_notification(notifier_options, message_groups) ⇒ Object
44
45
46
47
|
# File 'lib/totalizer/base.rb', line 44
def fire_notification notifier_options, message_groups
notifier = NOTIFIERS[notifier_options.first].constantize
notifier.call(message_groups, notifier_options.last)
end
|
#generate(build, duration = nil) ⇒ Object
27
28
29
30
|
# File 'lib/totalizer/base.rb', line 27
def generate build, duration=nil
factory.duration = duration
factory.send(build)
end
|
#notifiers ⇒ Object
32
33
34
|
# File 'lib/totalizer/base.rb', line 32
def notifiers
@notifiers ||= {}
end
|
#notifiers=(notifiers) ⇒ Object
36
37
38
|
# File 'lib/totalizer/base.rb', line 36
def notifiers= notifiers
@notifiers = notifiers
end
|
#notify(message_groups) ⇒ Object
40
41
42
|
# File 'lib/totalizer/base.rb', line 40
def notify message_groups
notifiers.merge({ log: {} }).each { |notifier| fire_notification(notifier, message_groups) }
end
|
#validate_metric(metric) ⇒ Object
#weekly_day ⇒ Object
49
50
51
|
# File 'lib/totalizer/base.rb', line 49
def weekly_day
@weekly_day ||= 1
end
|
#weekly_day=(day) ⇒ Object
53
54
55
|
# File 'lib/totalizer/base.rb', line 53
def weekly_day= day
@weekly_day = day
end
|