module ActiveInteractor::Interface

Interactor interface.

Public Instance Methods

call(*args) click to toggle source

@param args [Array<(nil)>, Array<(Hash)>] @return [ActiveInteractor::Result]

Calls superclass method
# File lib/active_interactor.rb, line 105
def call(*args)
  raise ArgumentError if args.size > 1
  raise ArgumentError if args.size == 1 && !args.first.is_a?(Hash)

  params = args.extract_options!
  errors.clear

  if params.empty? && !self.class.validation_required?
    super
  else
    params = sanitize(params)
    validate(params)
    super(params) if errors.empty?
  end

  Result.new(result_payload, errors)
end