Class: Rails::Contact::Google::ConflictResolver

Inherits:
Object
  • Object
show all
Defined in:
lib/rails/contact/google/conflict_resolver.rb

Instance Method Summary collapse

Constructor Details

#initialize(local_contact, remote_modified_at:) ⇒ ConflictResolver

Returns a new instance of ConflictResolver.



5
6
7
8
# File 'lib/rails/contact/google/conflict_resolver.rb', line 5

def initialize(local_contact, remote_modified_at:)
  @local_contact = local_contact
  @remote_modified_at = remote_modified_at
end

Instance Method Details

#prefer_remote?Boolean

v1 policy: last-write-wins by modified timestamp.

Returns:

  • (Boolean)


11
12
13
14
15
16
# File 'lib/rails/contact/google/conflict_resolver.rb', line 11

def prefer_remote?
  return false if @remote_modified_at.blank?
  return true if @local_contact.updated_at.blank?

  @remote_modified_at > @local_contact.updated_at
end