Module: Sequel::Plugins::AuditByDay
- Defined in:
- lib/sequel/plugins/audit_by_day.rb
Defined Under Namespace
Modules: ClassMethods Classes: AuditKindNotFound
Class Method Summary collapse
Class Method Details
.configure(master, opts = {}) ⇒ Object
8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 |
# File 'lib/sequel/plugins/audit_by_day.rb', line 8 def self.configure(master, opts={}) audit_foreign_key = opts[:foreign_key] default_valid_from = opts.fetch(:default_valid_from){ Time.utc(1000) } updated_by_regexp = opts.fetch(:updated_by_regexp){ /(.+)_updated_by_(.+)_id/ } raise Error, ":foreign_key options is required for audit" unless audit_foreign_key raise Error, ":foreign_key column does not exists for audit" unless master.columns.include? audit_foreign_key version_columns = {} master.version_class.columns.each do |column| next unless column.to_s =~ updated_by_regexp column_name, column_kind = $1, $2 version_columns[column_name] ||= {} version_columns[column_name][column_kind] = column end master.instance_eval do @audit_foreign_key = audit_foreign_key @audit_checked_columns = Set.new version_columns.keys @audit_version_columns = version_columns @audit_default_valid_from = default_valid_from end end |