Class: CouchbaseOrm::IndexMigrationGenerator
- Inherits:
-
Object
- Object
- CouchbaseOrm::IndexMigrationGenerator
- Defined in:
- lib/couchbase-orm/index_migration_generator.rb
Instance Method Summary collapse
- #generate(name) ⇒ Object
-
#initialize(path: CouchbaseOrm.config.index.migrations_path, now: Time.now) ⇒ IndexMigrationGenerator
constructor
A new instance of IndexMigrationGenerator.
Constructor Details
#initialize(path: CouchbaseOrm.config.index.migrations_path, now: Time.now) ⇒ IndexMigrationGenerator
Returns a new instance of IndexMigrationGenerator.
8 9 10 11 |
# File 'lib/couchbase-orm/index_migration_generator.rb', line 8 def initialize(path: CouchbaseOrm.config.index.migrations_path, now: Time.now) @path = path @now = now end |
Instance Method Details
#generate(name) ⇒ Object
13 14 15 16 17 18 19 20 21 22 23 24 |
# File 'lib/couchbase-orm/index_migration_generator.rb', line 13 def generate(name) raise ArgumentError.new('Migration name is required') if name.to_s.strip.empty? = @now.utc.strftime('%Y%m%d%H%M%S') underscored = name.to_s.underscore class_name = name.to_s.camelize file_path = File.join(@path, "#{}_#{underscored}.rb") FileUtils.mkdir_p(@path) File.write(file_path, migration_template(class_name)) file_path end |