class Settings::InstallGenerator

Public Class Methods

next_migration_number(dirname) click to toggle source
# File lib/generators/settings/install/install_generator.rb, line 24
def self.next_migration_number(dirname)
  if ActiveRecord::Base.timestamped_migrations
    if Dir.glob(dirname + "/*.rb").any?
      current_migration_number(dirname) + 1
    else
      Time.now.utc.strftime("%Y%m%d%H%M%S")
    end
  else
    format("%.3d", current_migration_number(dirname) + 1)
  end
end

Public Instance Methods

main() click to toggle source
# File lib/generators/settings/install/install_generator.rb, line 13
def main
  @class_name = class_name
  @default_config_file = "default_" + table_name + ".yml"
  @migration_class_name = "Create" + table_name.camelize
  @table_name = table_name

  copy_migration
  copy_model
  copy_default_config
end

Private Instance Methods

copy_default_config() click to toggle source
# File lib/generators/settings/install/install_generator.rb, line 38
def copy_default_config
  template("default.yml", "config/#{@default_config_file}")
end
copy_migration() click to toggle source
# File lib/generators/settings/install/install_generator.rb, line 42
def copy_migration
  migration_file = @migration_class_name.underscore + ".rb"
  migration_template("migration.rb.erb", "db/migrate/#{migration_file}")
end
copy_model() click to toggle source
# File lib/generators/settings/install/install_generator.rb, line 47
def copy_model
  template("model.rb.erb", File.join("app/models", "#{file_path}.rb"))
end