Module: Aquasync::AggregatedMethods::ClassMethods

Defined in:
lib/models/concerns/aquasync_aggregated_methods.rb

Instance Method Summary collapse

Instance Method Details

#aq_commit_deltas(deltas) ⇒ NilClass

DeltasAggregator requirement

Returns:

  • (NilClass)


27
28
29
# File 'lib/models/concerns/aquasync_aggregated_methods.rb', line 27

def aq_commit_deltas(deltas)
  deltas.each {|delta| commit_delta(delta) }
end

#aq_deltas(ust) ⇒ Array<Aquasync::Base>

DeltasAggregator requirement

Returns:



21
22
23
# File 'lib/models/concerns/aquasync_aggregated_methods.rb', line 21

def aq_deltas(ust)
  where(:ust.gt => ust)
end

#commit_delta(delta) ⇒ Object

commits a delta.

Parameters:

  • (Hash)


33
34
35
36
37
38
39
40
# File 'lib/models/concerns/aquasync_aggregated_methods.rb', line 33

def commit_delta(delta)
  record = find_by(gid: delta["gid"])
  if record
    record.resolve_conflict(delta)
  else
    create_record_from_delta(delta)
  end
end

#create_record_from_delta(delta) ⇒ Object

Parameters:

  • (Hash)


43
44
45
# File 'lib/models/concerns/aquasync_aggregated_methods.rb', line 43

def create_record_from_delta(delta)
  create!(delta)
end