diff options
Diffstat (limited to 'app')
| -rw-r--r-- | app/controllers/api/v1/cakes_controller.rb | 14 | ||||
| -rw-r--r-- | app/services/application/create_cake_command.rb | 18 |
2 files changed, 5 insertions, 27 deletions
diff --git a/app/controllers/api/v1/cakes_controller.rb b/app/controllers/api/v1/cakes_controller.rb index 2c09fae0..9fb422c4 100644 --- a/app/controllers/api/v1/cakes_controller.rb +++ b/app/controllers/api/v1/cakes_controller.rb @@ -10,15 +10,11 @@ module Api end def create - CreateCakeCommand.new(self).run(cake_params, params[:cake][:tags]) - end - - def create_cake_succeeded(cake) - @cake = cake - end - - def create_cake_failed(cake) - @cake = cake + category = Category.find(cake_params[:category_id]) + @cake = current_user.create_cake(name: cake_params[:name], category: category) + if @cake.save + PublishToTwitterJob.set(wait_until: 1.hour.from_now).perform_later(@cake) + end end def update diff --git a/app/services/application/create_cake_command.rb b/app/services/application/create_cake_command.rb deleted file mode 100644 index 858c1b7c..00000000 --- a/app/services/application/create_cake_command.rb +++ /dev/null @@ -1,18 +0,0 @@ -class CreateCakeCommand - def initialize(context, current_user = context.current_user) - @context = context - @current_user = current_user - end - - def run(attributes, tags) - cake = @current_user.create_cake(name: attributes[:name], category: Category.find(attributes[:category_id])) - @current_user.tag(cake, with: tags, on: :tags) - - if cake.save - PublishToTwitterJob.set(wait_until: 1.hour.from_now).perform_later(cake) - @context.create_cake_succeeded(cake) - else - @context.create_cake_failed(cake) - end - end -end |
