module ActiveAdminVersioning::ActiveAdmin::ResourceController

Public Class Methods

included(base) click to toggle source
# File lib/active_admin_versioning/active_admin/resource_controller.rb, line 4
def self.included(base)
  base.before_action(:set_paper_trail_whodunnit)
end

Public Instance Methods

show() click to toggle source
# File lib/active_admin_versioning/active_admin/resource_controller.rb, line 8
def show
  page = params[:page].to_i
  @versions = resource.versions.reorder(id: :desc, created_at: :desc).page(params[:page]).per(1)
  @version_number = page > 0 ? @versions.total_count - (page - 1) : @versions.total_count
  if @versions.any? && @versions[0].next.present?
    set_resource_ivar(@versions[0].next.reify)
  end
  show!
end

Protected Instance Methods

user_for_paper_trail() click to toggle source
# File lib/active_admin_versioning/active_admin/resource_controller.rb, line 20
def user_for_paper_trail
  if current_user_method && respond_to?(current_user_method)
    public_send(current_user_method).try!(:id)
  else
    t("views.version.unknown_user")
  end
end

Private Instance Methods

current_user_method() click to toggle source
# File lib/active_admin_versioning/active_admin/resource_controller.rb, line 30
def current_user_method
  @_current_user_method ||= active_admin_namespace.current_user_method
end