@@ -23,7 +23,7 @@ def log_success(member, invitation = nil)
2323 return unless @log
2424
2525 entry = find_or_build_entry ( member , invitation , :success )
26- return entry if entry . persisted?
26+ return entry if entry . processed_at
2727
2828 entry . assign_attributes ( processed_at : Time . current )
2929 save_entry ( entry , :success_count )
@@ -33,7 +33,7 @@ def log_failure(member, invitation, error)
3333 return unless @log
3434
3535 entry = find_or_build_entry ( member , invitation , :failed )
36- return entry if entry . persisted?
36+ return entry if entry . processed_at
3737
3838 entry . assign_attributes (
3939 failure_reason : error . message ,
@@ -46,7 +46,7 @@ def log_skipped(member, invitation, reason)
4646 return unless @log
4747
4848 entry = find_or_build_entry ( member , invitation , :skipped )
49- return entry if entry . persisted?
49+ return entry if entry . processed_at
5050
5151 entry . assign_attributes (
5252 failure_reason : reason ,
@@ -78,11 +78,9 @@ def fail_batch(error)
7878 private
7979
8080 def find_or_build_entry ( member , invitation , status )
81- @log . entries . find_or_initialize_by (
82- member :,
83- invitation :,
84- status :
85- )
81+ @log . entries . find_or_create_by ( member : member , invitation : invitation ) do |entry |
82+ entry . status = status
83+ end
8684 end
8785
8886 def save_entry ( entry , counter )
0 commit comments