class Accountability::Generators::InstallGenerator

Public Instance Methods

copy_migration() click to toggle source
# File lib/generators/accountability/install_generator.rb, line 17
def copy_migration
  # Note: migration.rb is always up-to-date
  if fresh_installation?
    destination = 'db/migrate/create_accountability_tables.rb'
    migration_template 'migration.rb', destination, migration_version: migration_version
    return true
  end

  # Existing applications may need new migration files
  if missing_price_overrides?
    destination = 'db/migrate/create_accountability_price_overrides_tables.rb'
    migration_template 'price_overrides_migration.rb', destination, migration_version: migration_version
  end
end
create_initializer_file() click to toggle source
# File lib/generators/accountability/install_generator.rb, line 12
def create_initializer_file
  initializer_content = "Accountability.configure { |_config| }"
  create_file "config/initializers/accountability.rb", initializer_content
end
migration_version() click to toggle source
# File lib/generators/accountability/install_generator.rb, line 32
def migration_version
  "[#{ActiveRecord::VERSION::MAJOR}.#{ActiveRecord::VERSION::MINOR}]"
end

Private Instance Methods

fresh_installation?() click to toggle source
# File lib/generators/accountability/install_generator.rb, line 38
def fresh_installation?
  !ActiveRecord::Base.connection.table_exists?('accountability_accounts')
end
missing_price_overrides?() click to toggle source
# File lib/generators/accountability/install_generator.rb, line 42
def missing_price_overrides?
  !ActiveRecord::Base.connection.table_exists?('accountability_price_overrides')
end