module Commande::ClassMethods

@api private

Public Class Methods

extended(interactor) click to toggle source

@api private

# File lib/commande.rb, line 408
def self.extended(interactor)
  interactor.class_eval do
    singleton_class.class_eval do
      attr_accessor(:outputs)
    end

    self.outputs = {}
  end
end

Public Instance Methods

call(*args, &block) click to toggle source
# File lib/commande.rb, line 403
def call(*args, &block)
  new.call(*args, &block)
end
method_added(method_name) click to toggle source
Calls superclass method
# File lib/commande.rb, line 418
def method_added(method_name)
  super
  return unless method_name == :call

  prepend Commande::Interface
end
output(*instance_variable_names) click to toggle source

Expose local instance variables into the returning value of #call

@param instance_variable_names [Symbol,Array<Symbol>] one or more instance

variable names

@see Commande::Result

# File lib/commande.rb, line 432
def output(*instance_variable_names)
  instance_variable_names.each do |name|
    outputs[name.to_sym] = "@#{name}"
  end
end
Also aliased as: outputs
outputs(*instance_variable_names)
Alias for: output