class WinewooCore::UseCases::Wines::CreateWine
Public Class Methods
new(current_user, log_params=nil)
click to toggle source
Calls superclass method
WinewooCore::UseCases::BaseUseCase::new
# File lib/winewoo_core/use_cases/wines/create_wine.rb, line 4 def initialize(current_user, log_params=nil) super(WinewooCore.wines_repo.new, log_params) self.current_caller = current_user end
Public Instance Methods
call(producer_id, wine_params, vintage_params) { |wine ? (persisted? ? success: failure) : not_found| ... }
click to toggle source
# File lib/winewoo_core/use_cases/wines/create_wine.rb, line 10 def call(producer_id, wine_params, vintage_params) return unless authorize_wine_creation(&Proc.new) wine = create_wine_and_vintage(producer_id, wine_params, vintage_params) yield wine ? (wine.persisted? ? UseCaseResults.success(wine) : UseCaseResults.failure(wine.errors)) : UseCaseResults.not_found end
Private Instance Methods
create_wine_and_vintage(producer_id, wine_params, vintage_params)
click to toggle source
# File lib/winewoo_core/use_cases/wines/create_wine.rb, line 33 def create_wine_and_vintage(producer_id, wine_params, vintage_params) self.repo.create(self.current_caller, producer_id, wine_params, vintage_params) end