Class: ActivityConsumer::RemoteActivityImporter
- Inherits:
-
Object
- Object
- ActivityConsumer::RemoteActivityImporter
- Defined in:
- app/services/activity_consumer/remote_activity_importer.rb
Instance Method Summary collapse
- #import ⇒ Object
-
#initialize(mode = :delta) ⇒ RemoteActivityImporter
constructor
A new instance of RemoteActivityImporter.
Constructor Details
#initialize(mode = :delta) ⇒ RemoteActivityImporter
Returns a new instance of RemoteActivityImporter.
5 6 7 |
# File 'app/services/activity_consumer/remote_activity_importer.rb', line 5 def initialize(mode = :delta) @client = RemoteActivityRestClient.new(mode) end |
Instance Method Details
#import ⇒ Object
9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 |
# File 'app/services/activity_consumer/remote_activity_importer.rb', line 9 def import stats = {no_activities: 0, no_errors: 0, activities: {}} activities.each do |activity| begin activity.import! activity.update_attributes(was_successful: true) stats[:no_activities] += 1 stats[:activities][activity.short_type.to_sym] ||= Hash.new(0) stats[:activities][activity.short_type.to_sym][activity.action.to_sym] += 1 rescue => e activity.update_attributes(was_successful: false, error: e.) Rails.logger.error "Error during activity import" Rails.logger.error e. Rails.logger.error e.backtrace.join("\n") stats[:no_errors] += 1 end end RemoteActivity.last.update(etag: @client.latest_etag) if RemoteActivity.last stats end |