module Neo4j::Generators::MigrationHelper

Public Instance Methods

base_migration_file_name(file_name, prefix = '') click to toggle source
   # File lib/rails/generators/neo4j_generator.rb
12 def base_migration_file_name(file_name, prefix = '')
13   "#{prefix}#{file_name.parameterize}"
14 end
existing_migration(dirname, file_name) click to toggle source

Stolen from github.com/rails/rails/blob/30767f980faa2d7a0531774ddf040471db74a23b/railties/lib/rails/generators/migration.rb#L20

   # File lib/rails/generators/neo4j_generator.rb
25 def existing_migration(dirname, file_name)
26   migration_lookup_at(dirname).grep(/\d+_#{file_name}.rb$/).first
27 end
migration_file_name(file_name, prefix = '') click to toggle source
   # File lib/rails/generators/neo4j_generator.rb
16 def migration_file_name(file_name, prefix = '')
17   "#{Time.now.utc.strftime('%Y%m%d%H%M%S')}_#{base_migration_file_name(file_name, prefix)}.rb"
18 end
migration_lookup_at(dirname) click to toggle source
   # File lib/rails/generators/neo4j_generator.rb
20 def migration_lookup_at(dirname)
21   Dir.glob("#{dirname}/[0-9]*_*.rb")
22 end
migration_template(template_name, prefix = '') click to toggle source

:revoke happens when task is invoked with `rails destroy model ModelName`

   # File lib/rails/generators/neo4j_generator.rb
30 def migration_template(template_name, prefix = '')
31   real_file_name = case @behavior
32                    when :revoke
33                      existing_migration(
34                        'db/neo4j/migrate',
35                        base_migration_file_name(file_name, prefix)
36                      )
37                    else
38                      migration_file_name(file_name, prefix)
39                    end
40 
41   # If running with :revoke and migration doesn't exist, real_file_name = nil
42   return if !real_file_name
43 
44   @migration_class_name = file_name.camelize
45 
46   # template() method is still run on revoke but it doesn't generate anything
47   # other than a consol message indicating the filepath.
48   # (this appears to be behavior provided by rails)
49   template template_name, File.join('db/neo4j/migrate', real_file_name)
50 
51   # On revoke, we need to manually remove the file
52   FileUtils.rm(real_file_name) if @behavior == :revoke
53 end