Module: PurgatoryModule

Extended by:
ActiveSupport::Concern
Defined in:
lib/purgatory/purgatory_module.rb

Defined Under Namespace

Modules: ClassMethods Classes: Configuration, Purgatization

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.configurationObject



46
47
48
# File 'lib/purgatory/purgatory_module.rb', line 46

def configuration
  @_configuration ||= Configuration.new
end

.configure {|configuration| ... } ⇒ Object

Yields:



41
42
43
44
# File 'lib/purgatory/purgatory_module.rb', line 41

def configure(&block)
  yield(configuration)
  configuration
end

Instance Method Details

#purgatize(requester = nil, options = {}) ⇒ Object



13
14
15
# File 'lib/purgatory/purgatory_module.rb', line 13

def purgatize(requester = nil, options = {})
  Purgatization.new(self, requester, options)
end

#purgatory!(requester = nil, options = {}) ⇒ Object



17
18
19
20
21
# File 'lib/purgatory/purgatory_module.rb', line 17

def purgatory!(requester = nil, options = {})
  return nil if self.invalid?
  return nil if Purgatory.pending_with_matching_soul(self).any? && options[:fail_if_matching_soul]
  Purgatory.create soul: self, requester: requester, attr_accessor_fields: AttributeAccessorFields.determine_attr_accessor_fields(self)
end