module Hoodoo::Monkey::Patch::ActiveRecordManuallyDatedFinderAdditions::ClassExtensions

Class methods to patch over an ActiveRecord::Base subclass which includes Hoodoo::ActiveRecord::Finder and Hoodoo::ActiveRecord::ManuallyDated.

Public Instance Methods

acquire_in!( context ) click to toggle source

See Hoodoo::ActiveRecord::Finder::ClassMethods#acquire_in! for details. Calls that method then, upon error, checks to see if a contemporary version of the resource exists and adds error generic.contemporary_exists to the given context if so.

Calls superclass method
# File lib/hoodoo/monkey/patch/active_record_manually_dated_finder_additions.rb, line 34
def acquire_in!( context )
  result = super( context )

  if result.nil?
    ident               = context.request.ident
    contemporary_result = scoped_undated_in( context ).
                          manually_dated_contemporary().
                          acquire( ident )

    context.response.contemporary_exists( ident ) if contemporary_result.present?
  end

  return result
end