class Errorkit::InstallGenerator
Public Class Methods
next_migration_number(dirname)
click to toggle source
# File lib/generators/errorkit/install_generator.rb, line 46 def self.next_migration_number(dirname) ActiveRecord::Generators::Base.next_migration_number(dirname) end
source_root()
click to toggle source
# File lib/generators/errorkit/install_generator.rb, line 10 def self.source_root @source_root ||= File.join(File.dirname(__FILE__), 'templates') end
Public Instance Methods
generate_errorkit()
click to toggle source
# File lib/generators/errorkit/install_generator.rb, line 14 def generate_errorkit generate_migration("create_errors") # Ensure the destination structure empty_directory "config" empty_directory "initializers" empty_directory "app" empty_directory "app/models" empty_directory "app/views" empty_directory "app/views/errors" empty_directory "spec" empty_directory "spec/models" empty_directory "spec/mailers" empty_directory "lib" # Fill out some templates (for now, this is just straight copy) template "config/initializers/errorkit.rb", "config/initializers/errorkit.rb" template "app/models/error.rb", "app/models/error.rb" template "spec/models/error_spec.rb", "spec/models/error_spec.rb" # Don't treat these like templates copy_file "app/views/errors/error_notification.html.erb", "app/views/errors/error_notification.html.erb" copy_file "app/views/errors/show.html.erb", "app/views/errors/show.html.erb" # RSpec needs to be in the development group to be used in generators gem_group :test, :development do gem "rspec-rails" gem "shoulda-matchers" gem 'factory_girl_rails' end end
Protected Instance Methods
generate_migration(filename)
click to toggle source
# File lib/generators/errorkit/install_generator.rb, line 52 def generate_migration(filename) if self.class.migration_exists?("db/migrate", "#{filename}") say_status "skipped", "Migration #{filename}.rb already exists" else migration_template "db/migrate/#{filename}.rb", "db/migrate/#{filename}.rb" end end