module Sequel::Plugins::Auditer::ClassMethods

Attributes

auditer_additional_info_method[RW]
auditer_current_user_method[RW]
auditer_default_ignored_columns[RW]
auditer_ignored_columns[R]

The holder of ignored columns

auditer_included_columns[R]

The holder of columns that should be audited

auditer_reference_method[RW]
auditer_resource_owner_field[RW]

Public Instance Methods

auditer_columns() click to toggle source
# File lib/sequel/plugins/auditer.rb, line 168
def auditer_columns
  @auditer_columns ||= columns - @auditer_ignored_columns
end
auditer_versions(opts = {}) click to toggle source

grab all audits for a particular model based upon filters

Posts.auditer_versions(:model_pk => 123)
  #=> filtered by primary_key value

Posts.auditer_versions(:user_id => 88)
  #=> filtered by user name

Posts.auditer_versions(:created_at < Date.today - 2)
  #=> filtered to last two (2) days only

Posts.auditer_versions(:created_at > Date.today - 7)
  #=> filtered to older than last seven (7) days
# File lib/sequel/plugins/auditer.rb, line 203
def auditer_versions(opts = {})
  audit_model.where(opts.merge(associated_type: name.to_s)).order(:version).all
end
auditer_versions?() click to toggle source

returns true / false if any audits have been made

Post.auditer_versions?   #=> true / false
# File lib/sequel/plugins/auditer.rb, line 185
def auditer_versions?
  audit_model.where(associated_type: name.to_s).count >= 1
end
non_audited_columns() click to toggle source
# File lib/sequel/plugins/auditer.rb, line 164
def non_audited_columns
  columns - auditer_columns
end

Private Instance Methods

audit_model() click to toggle source
# File lib/sequel/plugins/auditer.rb, line 209
def audit_model
  const_get(audit_model_name)
end
audit_model_name() click to toggle source
# File lib/sequel/plugins/auditer.rb, line 217
def audit_model_name
  ::Sequel::Auditer.auditer_model_name
end
resource_owner() click to toggle source
# File lib/sequel/plugins/auditer.rb, line 213
def resource_owner
  const_get(audit_model_name)
end
set_additional_info_method(opts) click to toggle source
# File lib/sequel/plugins/auditer.rb, line 237
def set_additional_info_method(opts)
  if opts[:additional_info]
    @auditer_additional_info_method = opts[:additional_info]
  else
    @auditer_additional_info_method = ::Sequel::Auditer.auditer_additional_info_method
  end
end
set_default_ignored_columns(opts) click to toggle source
# File lib/sequel/plugins/auditer.rb, line 221
def set_default_ignored_columns(opts)
  if opts[:default_ignored_columns]
    @auditer_default_ignored_columns = opts[:default_ignored_columns]
  else
    @auditer_default_ignored_columns = ::Sequel::Auditer.auditer_default_ignored_columns
  end
end
set_owner_method(opts) click to toggle source
# File lib/sequel/plugins/auditer.rb, line 233
def set_owner_method(opts)
          @auditer_resource_owner_field = opts[:owner_method] || ::Sequel::Auditer.auditer_resource_owner_field
end
set_reference_method(opts) click to toggle source
# File lib/sequel/plugins/auditer.rb, line 245
def set_reference_method(opts)
  if opts[:reference_method]
    @auditer_reference_method = opts[:reference_method]
  end
end
set_user_method(opts) click to toggle source
# File lib/sequel/plugins/auditer.rb, line 229
def set_user_method(opts)
  @auditer_current_user_method = opts[:user_method] || ::Sequel::Auditer.auditer_current_user_method
end