Class: Framework::MigrationGenerator
- Inherits:
-
Object
- Object
- Framework::MigrationGenerator
- Defined in:
- lib/framework/generators/migration_generator.rb
Defined Under Namespace
Classes: Context
Instance Method Summary collapse
- #generate ⇒ Object
-
#initialize(db_name:, migration_name:) ⇒ MigrationGenerator
constructor
A new instance of MigrationGenerator.
- #template ⇒ Object
- #templates_path ⇒ Object
Constructor Details
#initialize(db_name:, migration_name:) ⇒ MigrationGenerator
Returns a new instance of MigrationGenerator.
9 10 11 12 13 14 |
# File 'lib/framework/generators/migration_generator.rb', line 9 def initialize(db_name: , migration_name: ) @db_name = db_name.underscore @migration_name = migration_name.underscore @timestamp = Time.now.utc.strftime("%Y%m%d%H%M%S") @path = "db/migrate/#{@timestamp}_#@migration_name.rb" end |
Instance Method Details
#generate ⇒ Object
16 17 18 19 20 21 22 23 |
# File 'lib/framework/generators/migration_generator.rb', line 16 def generate context = Context.new(@db_name, @migration_name).template_binding migration_file = File.open(@path, "w+") migration_file << ERB.new(template).result(context) migration_file.close p "Generated migration: #@path" end |
#template ⇒ Object
29 30 31 |
# File 'lib/framework/generators/migration_generator.rb', line 29 def template @template ||= File.read(File.join(templates_path, "migration.rb.erb")) end |
#templates_path ⇒ Object
25 26 27 |
# File 'lib/framework/generators/migration_generator.rb', line 25 def templates_path File.(File.join(File.dirname(__FILE__), '../templates')) end |