Class: PurgatoryModule::Purgatization

Inherits:
Object
  • Object
show all
Defined in:
lib/purgatory/purgatory_module.rb

Instance Method Summary collapse

Constructor Details

#initialize(soul, requester, options) ⇒ Purgatization

Returns a new instance of Purgatization.



28
29
30
31
32
# File 'lib/purgatory/purgatory_module.rb', line 28

def initialize(soul, requester, options)
  @soul = soul
  @requester = requester
  @options = options
end

Dynamic Method Handling

This class handles dynamic methods through the method_missing method

#method_missing(method, *args) ⇒ Object



34
35
36
37
# File 'lib/purgatory/purgatory_module.rb', line 34

def method_missing(method, *args)
  return nil if Purgatory.pending_with_matching_soul(@soul).any? && @options[:fail_if_matching_soul]
  Purgatory.create soul: @soul, requester: @requester, performable_method: {method: method.to_sym, args: args}
end