module Troupe

Constants

VERSION

Public Class Methods

included(base) click to toggle source
# File lib/troupe.rb, line 9
def self.included(base)

  Interactor::Context.class_eval do
    def members
      @table.keys
    end
  end

  Interactor.class_eval do
    def run!
      validate_contract_expectations
      with_hooks do
        call
        context.called!(self)
      end
      ensure_contract_defaults
    rescue
      context.rollback!
      raise
    end
  end

  base.class_eval do
    include Interactor
    include Contract
  end
end

Public Instance Methods

members() click to toggle source
# File lib/troupe.rb, line 12
def members
  @table.keys
end
run!() click to toggle source
# File lib/troupe.rb, line 18
def run!
  validate_contract_expectations
  with_hooks do
    call
    context.called!(self)
  end
  ensure_contract_defaults
rescue
  context.rollback!
  raise
end