Class: Orphanage::InitGenerator

Inherits:
Rails::Generators::Base
  • Object
show all
Defined in:
lib/generators/orphanage/init_generator.rb

Instance Method Summary collapse

Instance Method Details

#create_migrationObject



36
37
38
39
40
# File 'lib/generators/orphanage/init_generator.rb', line 36

def create_migration
  puts "creating migration file..."
  migration_file_name = "#{Time.now.utc.strftime("%Y%m%d%H%M%S")}_create_#{home_file_name}_temps.rb"
  template "migration.rb.erb", "db/migrate/#{migration_file_name}"
end

#ensure_home_model_and_table_existsObject



12
13
14
15
16
17
18
19
20
21
22
23
# File 'lib/generators/orphanage/init_generator.rb', line 12

def ensure_home_model_and_table_exists

  begin
    home_model
  rescue NameError => e
    fail "Home model not found. Plese generate it first."
  end

  table_exists = ActiveRecord::Base.connection.data_source_exists? home_table_name
  fail "table #{home_table_name} does not exist. Stopping." if !table_exists

end

#generate_modelObject

ensure_home_model_exists



25
26
27
28
# File 'lib/generators/orphanage/init_generator.rb', line 25

def generate_model
  generate "model #{home_model_name}Temp --skip-migration"

end

#orphanize_modelObject



30
31
32
33
34
# File 'lib/generators/orphanage/init_generator.rb', line 30

def orphanize_model
  # change the model to be an orphan model
  puts "replacing model..."
  template "model.rb.erb", "app/models/#{home_file_name}_temp.rb", force: true
end