summaryrefslogtreecommitdiff
path: root/app/services/users/in_product_marketing_email_records.rb
diff options
context:
space:
mode:
Diffstat (limited to 'app/services/users/in_product_marketing_email_records.rb')
-rw-r--r--app/services/users/in_product_marketing_email_records.rb27
1 files changed, 27 insertions, 0 deletions
diff --git a/app/services/users/in_product_marketing_email_records.rb b/app/services/users/in_product_marketing_email_records.rb
new file mode 100644
index 00000000000..94dbd809496
--- /dev/null
+++ b/app/services/users/in_product_marketing_email_records.rb
@@ -0,0 +1,27 @@
+# frozen_string_literal: true
+
+module Users
+ class InProductMarketingEmailRecords
+ attr_reader :records
+
+ def initialize
+ @records = []
+ end
+
+ def save!
+ Users::InProductMarketingEmail.bulk_insert!(@records)
+ @records = []
+ end
+
+ def add(user, campaign: nil, track: nil, series: nil)
+ @records << Users::InProductMarketingEmail.new(
+ user: user,
+ campaign: campaign,
+ track: track,
+ series: series,
+ created_at: Time.zone.now,
+ updated_at: Time.zone.now
+ )
+ end
+ end
+end