Class: Syncer

Inherits:
Object
  • Object
show all
Defined in:
lib/syncer/syncer.rb,
lib/syncer/version.rb

Constant Summary collapse

SYNC_ORDER_KEY =
'_sync_order'
VERSION =
"0.0.1"

Class Method Summary collapse

Class Method Details

.sync(request) ⇒ Object

request keys should be strings and not symbols



7
8
9
10
11
12
13
14
15
16
17
18
19
20
# File 'lib/syncer/syncer.rb', line 7

def self.sync(request)
  request = request.to_rjson
  response = {};
  all_sync_request = request
  sync_order = all_sync_request[SYNC_ORDER_KEY];
  # TODO if nil raise an exception
  sync_order.each do |model|
    model_sync_data = all_sync_request[model]
    next unless model_sync_data # it is ok not to have data for each model in the order
    sync_response = model.to_class.sync(model_sync_data)
    response[model] = sync_response
  end
  response.to_rjson
end