Module: Sequel::Plugins::Auditer::ClassMethods

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

Instance Attribute Summary collapse

Instance Method Summary collapse

Instance Attribute Details

#auditer_additional_info_methodObject

Returns the value of attribute auditer_additional_info_method.



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

def auditer_additional_info_method
  @auditer_additional_info_method
end

#auditer_current_user_methodObject

Returns the value of attribute auditer_current_user_method.



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

def auditer_current_user_method
  @auditer_current_user_method
end

#auditer_default_ignored_columnsObject

Returns the value of attribute auditer_default_ignored_columns.



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

def auditer_default_ignored_columns
  @auditer_default_ignored_columns
end

#auditer_ignored_columnsObject (readonly)

The holder of ignored columns



146
147
148
# File 'lib/sequel/plugins/auditer.rb', line 146

def auditer_ignored_columns
  @auditer_ignored_columns
end

#auditer_included_columnsObject (readonly)

The holder of columns that should be audited



148
149
150
# File 'lib/sequel/plugins/auditer.rb', line 148

def auditer_included_columns
  @auditer_included_columns
end

#auditer_reference_methodObject

Returns the value of attribute auditer_reference_method.



150
151
152
# File 'lib/sequel/plugins/auditer.rb', line 150

def auditer_reference_method
  @auditer_reference_method
end

Instance Method Details

#auditer_columnsObject



166
167
168
# File 'lib/sequel/plugins/auditer.rb', line 166

def auditer_columns
  @auditer_columns ||= columns - @auditer_ignored_columns
end

#auditer_versions(opts = {}) ⇒ Object

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


201
202
203
# File 'lib/sequel/plugins/auditer.rb', line 201

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

#auditer_versions?Boolean

returns true / false if any audits have been made

Post.auditer_versions?   #=> true / false

Returns:

  • (Boolean)


183
184
185
# File 'lib/sequel/plugins/auditer.rb', line 183

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

#non_audited_columnsObject



162
163
164
# File 'lib/sequel/plugins/auditer.rb', line 162

def non_audited_columns
  columns - auditer_columns
end