module Hoodoo::Monkey::Patch::ActiveRecordDatedFinderAdditions::ClassExtensions

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

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_dated_finder_additions.rb, line 34
def acquire_in!( context )
  result = super( context )

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

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

  return result
end