Class: Namespaces::InProductMarketingEmailsService

Inherits:
Object
  • Object
show all
Defined in:
app/services/namespaces/in_product_marketing_emails_service.rb

Constant Summary collapse

TRACKS =
{
  create: {
    interval_days: [1, 5, 10],
    completed_actions: [:created],
    incomplete_actions: [:git_write]
  },
  team_short: {
    interval_days: [1],
    completed_actions: [:git_write],
    incomplete_actions: [:user_added]
  },
  trial_short: {
    interval_days: [2],
    completed_actions: [:git_write],
    incomplete_actions: [:trial_started]
  },
  admin_verify: {
    interval_days: [3],
    completed_actions: [:git_write],
    incomplete_actions: [:pipeline_created]
  },
  verify: {
    interval_days: [4, 8, 13],
    completed_actions: [:git_write],
    incomplete_actions: [:pipeline_created]
  },
  trial: {
    interval_days: [1, 5, 10],
    completed_actions: [:git_write, :pipeline_created],
    incomplete_actions: [:trial_started]
  },
  team: {
    interval_days: [1, 5, 10],
    completed_actions: [:git_write, :pipeline_created, :trial_started],
    incomplete_actions: [:user_added]
  }
}.freeze

Class Method Summary collapse

Class Method Details

.email_count_for_track(track) ⇒ Object



43
44
45
46
# File 'app/services/namespaces/in_product_marketing_emails_service.rb', line 43

def self.email_count_for_track(track)
  interval_days = TRACKS.dig(track.to_sym, :interval_days)
  interval_days&.count || 0
end