class DeviseStalkableGenerator

Public Class Methods

next_migration_number(dirname) click to toggle source
# File lib/generators/devise_stalkable/devise_stalkable_generator.rb, line 18
def self.next_migration_number(dirname)
  if ActiveRecord::Base.timestamped_migrations
    Time.now.utc.strftime('%Y%m%d%H%M%S')
  else
    '%.3d' % (current_migration_number(dirname) + 1)
  end
end
orm_has_migration?() click to toggle source
# File lib/generators/devise_stalkable/devise_stalkable_generator.rb, line 14
def self.orm_has_migration?
  Rails::Generators.options[:rails][:orm] == :active_record
end
source_root() click to toggle source
# File lib/generators/devise_stalkable/devise_stalkable_generator.rb, line 10
def self.source_root
  @_devise_source_root ||= File.expand_path('../templates', __FILE__)
end

Public Instance Methods

create_migration_file() click to toggle source
# File lib/generators/devise_stalkable/devise_stalkable_generator.rb, line 46
def create_migration_file
  migration_template 'migration.rb', "db/migrate/devise_create_#{name.downcase}_logins.rb"
end
invoke_orm_model() click to toggle source
# File lib/generators/devise_stalkable/devise_stalkable_generator.rb, line 29
def invoke_orm_model
  if model_exists?
    say "* Model #{name}Login already exists."
  elsif options[:orm].present?
    invoke "model", ["#{name}Login", "#{name}:belongs_to"], :migration => false,
      :orm => options[:orm]

    unless model_exists?
      abort "Tried to invoke the model generator for '#{options[:orm]}' but could not find it.\n" <<
      "Please create your model by hand before calling `rails g devise_stalkable #{name}`."
    end
  else
    abort "Cannot create a devise model because config.generators.orm is blank.\n" <<
    "Please create your model by hand or configure your generators orm before calling `rails g devise_stalkable #{name}`."
  end
end

Protected Instance Methods

model_exists?() click to toggle source
# File lib/generators/devise_stalkable/devise_stalkable_generator.rb, line 52
def model_exists?
  File.exists?(File.join(destination_root, model_path))
end
model_path() click to toggle source
# File lib/generators/devise_stalkable/devise_stalkable_generator.rb, line 56
def model_path
  @model_path ||= File.join('app', 'models', "#{file_path}_login.rb")
end