module Bizness::Operation

Attributes

error[RW]

Public Class Methods

included(base) click to toggle source
# File lib/bizness/operation.rb, line 4
def self.included(base)
  base.extend(ClassMethods)
end

Public Instance Methods

aborted?() click to toggle source
# File lib/bizness/operation.rb, line 31
def aborted?
  !successful?
end
call() click to toggle source
# File lib/bizness/operation.rb, line 23
def call
  raise NotImplementedError
end
call!() click to toggle source
# File lib/bizness/operation.rb, line 18
def call!
  run
  successful?
end
successful?() click to toggle source
# File lib/bizness/operation.rb, line 27
def successful?
  error.nil?
end
to_h() click to toggle source
# File lib/bizness/operation.rb, line 35
def to_h
  {}
end

Private Instance Methods

filter_overrides() click to toggle source
# File lib/bizness/operation.rb, line 45
def filter_overrides
  Array(self.class.filter_overrides).flatten.compact.empty? ? Bizness.filters : self.class.filter_overrides
end
run() click to toggle source
# File lib/bizness/operation.rb, line 49
def run
  Bizness.run(self, filters: filter_overrides)
rescue => e
  self.error = e.message
end