class KnockOnce::InstallGenerator

Private Class Methods

next_migration_number(dir) click to toggle source

Use to assign migration time otherwise generator will error

# File lib/generators/knock_once/install_generator.rb, line 35
def self.next_migration_number(dir)
  Time.now.utc.strftime("%Y%m%d%H%M%S")
end

Public Instance Methods

copy_initializer() click to toggle source

Copy initializer into user app

# File lib/generators/knock_once/install_generator.rb, line 10
def copy_initializer
  copy_file('create_initializer.rb', 'config/initializers/knock_once.rb')
end
copy_migrations() click to toggle source
# File lib/generators/knock_once/install_generator.rb, line 24
def copy_migrations
  if self.class.migration_exists?('db/migrate', "create_knock_once_#{user_class.underscore}")
    say_status('skipped', "Migration create_knock_once_#{user_class.underscore} already exists")
  else
    migration_template('create_knock_once_users.rb.erb', "db/migrate/create_knock_once_#{user_class.pluralize.underscore}.rb")
  end
end
create_user_model() click to toggle source

Copy user information (model & Migrations) into user app

# File lib/generators/knock_once/install_generator.rb, line 15
def create_user_model
  fname = "app/models/#{user_class.underscore}.rb"
  unless File.exist?(File.join(destination_root, fname))
    template("user_model.rb", fname)
  else
    say_status('skipped', "Model #{user_class.underscore} already exists")
  end
end