Module: UsageReport
- Defined in:
- app/lib/usage_report.rb
Class Method Summary collapse
Class Method Details
.disable! ⇒ Object
37 38 39 40 |
# File 'app/lib/usage_report.rb', line 37 def self.disable! SiteSettings.anonymous_usage_id = nil set_schedule! end |
.enable! ⇒ Object
32 33 34 35 |
# File 'app/lib/usage_report.rb', line 32 def self.enable! SiteSettings.anonymous_usage_id ||= SecureRandom.uuid set_schedule! end |
.endpoint ⇒ Object
2 3 4 |
# File 'app/lib/usage_report.rb', line 2 def self.endpoint ENV.fetch("USAGE_TRACKING_URL", "https://tracking.manyfold.app") end |
.generate ⇒ Object
6 7 8 9 10 11 12 13 14 15 16 |
# File 'app/lib/usage_report.rb', line 6 def self.generate Jbuilder.encode do |report| report.id SiteSettings.anonymous_usage_id report.version do |version| version.app Rails.application.config.app_version.gsub(/^v/, "") version.sha Rails.application.config.git_sha version.image ENV.fetch("DOCKER_TAG", nil)&.split(":")&.first version.arch RUBY_PLATFORM end end end |
.set_schedule! ⇒ Object
18 19 20 21 22 23 24 25 26 27 28 29 30 |
# File 'app/lib/usage_report.rb', line 18 def self.set_schedule! SiteSettings.clear_cache jobname = "usage" if SiteSettings.anonymous_usage_id.present? Sidekiq::Cron::Job.create( name: jobname, cron: "every day", class: "UsageReportingJob" ) else Sidekiq::Cron::Job.destroy(jobname) end end |