class Audited::Generators::UpgradeGenerator

Public Instance Methods

copy_templates() click to toggle source
# File lib/generators/audited/upgrade_generator.rb, line 23
def copy_templates
  migrations_to_be_applied do |m|
    migration_template "#{m}.rb", "db/migrate/#{m}.rb"
  end
end

Private Instance Methods

migrations_to_be_applied() { |:add_comment_to_audits| ... } click to toggle source
# File lib/generators/audited/upgrade_generator.rb, line 31
def migrations_to_be_applied
  Audited::Adapters::ActiveRecord::Audit.reset_column_information
  columns = Audited::Adapters::ActiveRecord::Audit.columns.map(&:name)

  unless columns.include?( 'comment' )
    yield :add_comment_to_audits
  end

  if columns.include?( 'changes' )
    yield :rename_changes_to_audited_changes
  end

  unless columns.include?( 'remote_address' )
    yield :add_remote_address_to_audits
  end

  unless columns.include?( 'association_id' )
    if columns.include?('auditable_parent_id')
      yield :rename_parent_to_association
    else
      unless columns.include?( 'associated_id' )
        yield :add_association_to_audits
      end
    end
  end

  if columns.include?( 'association_id' )
    yield :rename_association_to_associated
  end
end