class ActiveRecord::Generators::FastTreeGenerator

Public Instance Methods

copy_fast_tree_migration() click to toggle source
# File lib/generators/active_record/fast_tree_generator.rb, line 12
def copy_fast_tree_migration
  if (behavior == :invoke && model_exists?) || (behavior == :revoke && migration_exists?(table_name))
    migration_template "migration_existing.rb", "db/migrate/add_fast_tree_to_#{table_name}.rb", migration_version: migration_version
  else
    migration_template "migration.rb", "db/migrate/fast_tree_create_#{table_name}.rb", migration_version: migration_version
  end
end
generate_model() click to toggle source
# File lib/generators/active_record/fast_tree_generator.rb, line 20
def generate_model
  invoke "active_record:model", [name], migration: false unless model_exists? && behavior == :invoke
end
migration_data() click to toggle source
# File lib/generators/active_record/fast_tree_generator.rb, line 24
      def migration_data
<<RUBY
      ## Pointers
      t.integer :l_ptr
      t.integer :r_ptr
      t.integer :depth
RUBY
      end
migration_version() click to toggle source
# File lib/generators/active_record/fast_tree_generator.rb, line 42
def migration_version
  if rails5?
    "[#{Rails::VERSION::MAJOR}.#{Rails::VERSION::MINOR}]"
  end
end
postgresql?() click to toggle source
# File lib/generators/active_record/fast_tree_generator.rb, line 37
def postgresql?
  config = ActiveRecord::Base.configurations[Rails.env]
  config && config['adapter'] == 'postgresql'
end
rails5?() click to toggle source
# File lib/generators/active_record/fast_tree_generator.rb, line 33
def rails5?
  Rails.version.start_with? '5'
end