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