Module: Sequel::Plugins::Audited::ClassMethods

Defined in:
lib/sequel/plugins/audited.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Instance Attribute Details

#audited_current_user_methodObject

Returns the value of attribute audited_current_user_method.



123
124
125
# File 'lib/sequel/plugins/audited.rb', line 123

def audited_current_user_method
  @audited_current_user_method
end

#audited_default_ignored_columnsObject

Returns the value of attribute audited_default_ignored_columns.



123
124
125
# File 'lib/sequel/plugins/audited.rb', line 123

def audited_default_ignored_columns
  @audited_default_ignored_columns
end

#audited_ignored_columnsObject (readonly)

The holder of ignored columns



125
126
127
# File 'lib/sequel/plugins/audited.rb', line 125

def audited_ignored_columns
  @audited_ignored_columns
end

#audited_included_columnsObject (readonly)

The holder of columns that should be audited



127
128
129
# File 'lib/sequel/plugins/audited.rb', line 127

def audited_included_columns
  @audited_included_columns
end

#audited_reference_methodObject

Returns the value of attribute audited_reference_method.



129
130
131
# File 'lib/sequel/plugins/audited.rb', line 129

def audited_reference_method
  @audited_reference_method
end

Instance Method Details

#audited_columnsObject



144
145
146
# File 'lib/sequel/plugins/audited.rb', line 144

def audited_columns
  @audited_columns ||= columns - @audited_ignored_columns
end

#audited_versions(opts = {}) ⇒ Object

grab all audits for a particular model based upon filters

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

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

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

Posts.audited_versions(:created_at > Date.today - 7)
  #=> filtered to older than last seven (7) days


179
180
181
# File 'lib/sequel/plugins/audited.rb', line 179

def audited_versions(opts = {})
  audit_model.where(opts.merge(associated_type: name.to_s)).order(:version).all
end

#audited_versions?Boolean

returns true / false if any audits have been made

Post.audited_versions?   #=> true / false

Returns:

  • (Boolean)


161
162
163
# File 'lib/sequel/plugins/audited.rb', line 161

def audited_versions?
  audit_model.where(associated_type: name.to_s).count >= 1
end

#non_audited_columnsObject



140
141
142
# File 'lib/sequel/plugins/audited.rb', line 140

def non_audited_columns
  columns - audited_columns
end