Module: UseCasePattern::Base::ClassMethods

Defined in:
lib/use_case_pattern/base.rb

Instance Method Summary collapse

Instance Method Details

#perform(*args) ⇒ Object

The perform method of a UseCase should always return itself



11
12
13
14
15
16
17
# File 'lib/use_case_pattern/base.rb', line 11

def perform(*args)
  new(*args).tap do |use_case|
    if use_case.valid?
      use_case.perform
    end
  end
end

#perform!(*args) ⇒ Object

Raise a validation error if perform has created any errors



20
21
22
# File 'lib/use_case_pattern/base.rb', line 20

def perform!(*args)
  new(*args).tap { |use_case| use_case.perform! }
end