diff options
| author | mo khan <mo@mokhan.ca> | 2015-01-20 20:42:40 -0700 |
|---|---|---|
| committer | mo khan <mo@mokhan.ca> | 2015-01-20 20:42:40 -0700 |
| commit | 457646d8ffbf3043195b30b2e20b7350c0ec6a1c (patch) | |
| tree | ec223f63f15ba41859f077154ed99876c127d1f4 /app | |
| parent | d4124da6614d801bfde49313e38a9320f3f6ff3d (diff) | |
replace old infrastructure code with active job.
Diffstat (limited to 'app')
| -rw-r--r-- | app/controllers/admin/photos_controller.rb | 12 | ||||
| -rw-r--r-- | app/controllers/my/avatars_controller.rb | 5 | ||||
| -rw-r--r-- | app/services/application/handlers/process_photo.rb | 16 | ||||
| -rw-r--r-- | app/services/application/upload_photo.rb | 16 | ||||
| -rw-r--r-- | app/services/infrastructure/command_bus.rb | 9 |
5 files changed, 7 insertions, 51 deletions
diff --git a/app/controllers/admin/photos_controller.rb b/app/controllers/admin/photos_controller.rb index ac7ead89..e2aaa785 100644 --- a/app/controllers/admin/photos_controller.rb +++ b/app/controllers/admin/photos_controller.rb @@ -1,8 +1,7 @@ module Admin class PhotosController < AdminController - def initialize(photo_repository = Photo, command_bus = Spank::IOC.resolve(:command_bus), storage = Spank::IOC.resolve(:blob_storage)) + def initialize(photo_repository = Photo, storage = Spank::IOC.resolve(:blob_storage)) @photo_repository = photo_repository - @bus = command_bus @storage = storage super() end @@ -17,13 +16,10 @@ module Admin def update photo = @photo_repository.find(params[:id]) - original = OriginalVersion.new(photo) - key = original.create_key + key = OriginalVersion.new(photo).create_key @storage.download(key) do |file| - @bus.publish(:upload_photo, { - photo_id: photo.id, - file_path: move_to_temporary_storage(file.path, File.basename(key)) - }) + temp_file = move_to_temporary_storage(file.path, File.basename(key)) + ProcessPhotoJob.perform_later(photo, temp_file) end redirect_to admin_photos_path diff --git a/app/controllers/my/avatars_controller.rb b/app/controllers/my/avatars_controller.rb index 4c297bdd..b60eda71 100644 --- a/app/controllers/my/avatars_controller.rb +++ b/app/controllers/my/avatars_controller.rb @@ -1,10 +1,5 @@ module My class AvatarsController < BaseController - def initialize(bus = Spank::IOC.resolve(:command_bus)) - @bus = bus - super() - end - def new @avatar = current_user.avatar || Photo.new end diff --git a/app/services/application/handlers/process_photo.rb b/app/services/application/handlers/process_photo.rb deleted file mode 100644 index 57f9dc82..00000000 --- a/app/services/application/handlers/process_photo.rb +++ /dev/null @@ -1,16 +0,0 @@ -class ProcessPhoto - def initialize(photos, blob_storage) - @photos = photos - @blob_storage = blob_storage - end - - def handles?(event) - :upload_photo == event - end - - def handle(message) - photo = @photos.find(message[:photo_id]) - photo.upload(message[:file_path], @blob_storage) - photo.save! - end -end diff --git a/app/services/application/upload_photo.rb b/app/services/application/upload_photo.rb index 0465154a..659bcd95 100644 --- a/app/services/application/upload_photo.rb +++ b/app/services/application/upload_photo.rb @@ -1,13 +1,13 @@ class UploadPhoto - def initialize(command_bus = Spank::IOC.resolve(:command_bus), cakes = Creation) - @command_bus = command_bus + def initialize(cakes = Creation) @cakes = cakes end def run(cake_id, params) ActiveRecord::Base.transaction do photo = @cakes.find(cake_id).photos.create!(image_processing: true, watermark: params[:watermark]) - @command_bus.publish(:upload_photo, create_message_from(cake_id, params, photo)) + tempfile = move_to_temporary_storage(params[:image].path, params[:image].original_filename) + ProcessPhotoJob.perform_later(photo, tempfile) photo end end @@ -25,14 +25,4 @@ class UploadPhoto system "mkdir -p #{directory}" directory end - - def create_message_from(cake_id, payload, photo) - { - cake_id: cake_id, - photo_id: photo.id, - file_path: move_to_temporary_storage(payload[:image].path, payload[:image].original_filename), - original_filename: payload[:image].original_filename, - content_type: payload[:image].content_type, - } - end end diff --git a/app/services/infrastructure/command_bus.rb b/app/services/infrastructure/command_bus.rb deleted file mode 100644 index bcc4ab88..00000000 --- a/app/services/infrastructure/command_bus.rb +++ /dev/null @@ -1,9 +0,0 @@ -class CommandBus - def initialize(queue = Delayed::Job) - @queue = queue - end - - def publish(event, payload) - @queue.enqueue(QueuedJob.new(event, payload)) - end -end |
