class WinewooCore::UseCases::Wines::CreateVintage
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_vintage.rb, line 4 def initialize(current_user, log_params=nil) super(WinewooCore.vintages_repo.new, log_params) self.current_caller = current_user end
Public Instance Methods
call(wine_id, vintage_params) { |vintage ? (persisted? ? success: failure) : not_found| ... }
click to toggle source
# File lib/winewoo_core/use_cases/wines/create_vintage.rb, line 10 def call(wine_id, vintage_params) wine = WinewooCore.wines_repo.new.get(wine_id) return unless authorize_vintage_creation(wine, &Proc.new) vintage = self.repo.create(self.current_caller, wine_id, vintage_params) yield vintage ? (vintage.persisted? ? UseCaseResults.success(vintage) : UseCaseResults.failure(vintage.errors)) : UseCaseResults.not_found end