class AuditTables::ChangeAuditTable
Attributes
audit_column[RW]
Public Instance Methods
audit_changes()
click to toggle source
# File lib/audit_tables/change_audit_table.rb, line 6 def audit_changes columns(audit_table_name).each do |audit_column| @audit_column = audit_column column_exists?(table_name, audit_column.name) ? change_attribute : remove_attribute end end
change_attribute()
click to toggle source
# File lib/audit_tables/change_audit_table.rb, line 14 def change_attribute change_column audit_table_name, column_name, column_type, properties_curator if properties_curator.count.positive? end
execute()
click to toggle source
# File lib/audit_tables/change_audit_table.rb, line 18 def execute audit_columns audit_changes end
find_column(column)
click to toggle source
# File lib/audit_tables/change_audit_table.rb, line 23 def find_column(column) columns(table_name).each { |col| @column = col if column.name == col.name } end
properties_curator()
click to toggle source
rubocop:disable Metrics/AbcSize:
# File lib/audit_tables/change_audit_table.rb, line 28 def properties_curator elements = {} find_column(audit_column) elements[:limit] = limit unless audit_column.limit == limit elements[:precision] = precision unless audit_column.precision == precision elements[:scale] = scale unless audit_column.scale == scale elements[:null] = null unless audit_column.null == null elements[:default] = default unless audit_column.default == default elements end
remove_attribute()
click to toggle source
rubocop:enable Metrics/AbcSize:
# File lib/audit_tables/change_audit_table.rb, line 42 def remove_attribute remove_column audit_table_name, audit_column.name unless audit_column.name.include? 'audit' end