module AuthAssist::MigrationHelper

Public Instance Methods

copy_migration(name, new_name, &block) click to toggle source
# File lib/generators/reverse_migrations.rb, line 26
def copy_migration(name, new_name, &block) 
  # create empty new migration
  migration new_name
  new_migration = find_migration(name)          
  find_migration(name) do |mig|
    FileUtils.cp mig, new_migration
  end
  return block.call(new_migration) if block
  new_migration      
end
file_reverse(file, str1, str2) click to toggle source
# File lib/generators/reverse_migrations.rb, line 41
def file_reverse(file, str1, str2) 
  # use thor action          
  file.replace str1, str2
  file.replace str2, str1
end
find_migration(name, &block) click to toggle source
# File lib/generators/reverse_migrations.rb, line 14
def find_migration(name, &block)    
  FileUtils.cd migration_dir do          
    f = FileList['*.rb'].reject{|f| (f =~ /#{Regexp.escape(name)}/) == nil }.first
    return block.call(f) if block
  end
  f
end
migration(options) click to toggle source
# File lib/generators/migration_helper.rb, line 38
def migration(options)   
  # migration_template "migration.rb", "db/migrate/devise_create_#{table_name}"      
  run "rails g migration #{options}"
end
migration_dir() click to toggle source
# File lib/generators/reverse_migrations.rb, line 3
def migration_dir
  File.join(Rails.root, 'db/migrate')          
end
migration_exists?(name) click to toggle source
# File lib/generators/reverse_migrations.rb, line 22
def migration_exists?(name)
  find_migration(name)      
end
reverse_migration(mig_name) click to toggle source
# File lib/generators/reverse_migrations.rb, line 7
def reverse_migration(mig_name)
  if migration_exists?(mig_name)
    new_migration = copy_migration(mig_name, "reverse_#{strategy_name}")
    reverse_migration_method_names(new_migration)
  end
end
reverse_migration_methods(new_migration) click to toggle source
# File lib/generators/reverse_migrations.rb, line 37
def reverse_migration_methods(new_migration) 
  file_swap_content(new_migration, 'self.up', 'self.down')
end

Protected Instance Methods

generate_role_assignment_model() click to toggle source
# File lib/generators/migration_helper.rb, line 70
def generate_role_assignment_model
  run 'rails g model RoleAssignment user_id:integer role_id:integer'          
  return if model_exists?('role_assignment')
  write_model_file('role_assignment', role_assignment_file_content)      
end
generate_role_model() click to toggle source
# File lib/generators/migration_helper.rb, line 64
def generate_role_model
  return if model_exists?('role')
  run 'rails g model Role name:string'
  write_model_file('role', role_file_content)      
end
model_exists?(name) click to toggle source
# File lib/generators/migration_helper.rb, line 47
def model_exists?(name)
  File.exists?(File.join(Rails.root, "app/models/#{name}.rb"))
end
model_file(name) click to toggle source
# File lib/generators/migration_helper.rb, line 76
def model_file(name)                          
  File.join(Rails.root, "app/models/#{name}.rb")        
end
remove_model(name) click to toggle source
# File lib/generators/migration_helper.rb, line 51
def remove_model(name)
  file = File.join(Rails.root, "app/models/#{name}.rb")        
  FileUtils.rm file if file
end
remove_role_assignment_model() click to toggle source
# File lib/generators/migration_helper.rb, line 60
def remove_role_assignment_model 
  remove_model('role_assignment')        
end
remove_role_model() click to toggle source
# File lib/generators/migration_helper.rb, line 56
def remove_role_model 
  remove_model('role')        
end