summaryrefslogtreecommitdiff
path: root/app
diff options
context:
space:
mode:
authormo khan <mo@mokhan.ca>2015-01-20 20:42:40 -0700
committermo khan <mo@mokhan.ca>2015-01-20 20:42:40 -0700
commit457646d8ffbf3043195b30b2e20b7350c0ec6a1c (patch)
treeec223f63f15ba41859f077154ed99876c127d1f4 /app
parentd4124da6614d801bfde49313e38a9320f3f6ff3d (diff)
replace old infrastructure code with active job.
Diffstat (limited to 'app')
-rw-r--r--app/controllers/admin/photos_controller.rb12
-rw-r--r--app/controllers/my/avatars_controller.rb5
-rw-r--r--app/services/application/handlers/process_photo.rb16
-rw-r--r--app/services/application/upload_photo.rb16
-rw-r--r--app/services/infrastructure/command_bus.rb9
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