class EarthDistance::Setup

Creates the earthdistance:setup generator. This generator creates a migration that adds earthdistance support for your database. If fact, it's just the sql from the contrib inside a migration. But it' s handy, isn't it?

To use your generator, simply run it in your project:

rails g earthdistance:setup

Public Class Methods

next_migration_number(dirname) click to toggle source
# File lib/activerecord-postgres-earthdistance/railties.rb, line 26
def self.next_migration_number(dirname)
  if ActiveRecord::Base.timestamped_migrations
    Time.now.utc.strftime("%Y%m%d%H%M%S")
  else
    "%.3d".format(current_migration_number(dirname) + 1)
  end
end
source_root() click to toggle source
# File lib/activerecord-postgres-earthdistance/railties.rb, line 22
def self.source_root
  @source_root ||= File.join(File.dirname(__FILE__), "..", "templates")
end

Public Instance Methods

create_migration_file() click to toggle source
# File lib/activerecord-postgres-earthdistance/railties.rb, line 34
def create_migration_file
  migration_template "setup_earthdistance.rb", "db/migrate/setup_earthdistance.rb", migration_version: migration_version
end

Private Instance Methods

migration_version() click to toggle source
# File lib/activerecord-postgres-earthdistance/railties.rb, line 44
def migration_version
  if requires_migration_version?
    "[#{Rails::VERSION::MAJOR}.#{Rails::VERSION::MINOR}]"
  end
end
requires_migration_version?() click to toggle source
# File lib/activerecord-postgres-earthdistance/railties.rb, line 40
def requires_migration_version?
  Rails::VERSION::MAJOR >= 5
end