class Comable::InstallGenerator
Public Class Methods
source_paths()
click to toggle source
# File lib/generators/comable/install/install_generator.rb, line 14 def source_paths paths = superclass.source_paths paths << File.expand_path('../templates', __FILE__) paths.flatten end
Public Instance Methods
add_files()
click to toggle source
# File lib/generators/comable/install/install_generator.rb, line 27 def add_files template 'config/initializers/comable.rb', 'config/initializers/comable.rb' end
append_seeds()
click to toggle source
# File lib/generators/comable/install/install_generator.rb, line 43 def append_seeds append_file 'db/seeds.rb', <<-SEEDS # Seed data for Comable Comable::Core::Engine.load_seed if defined?(Comable::Core) SEEDS end
complete()
click to toggle source
# File lib/generators/comable/install/install_generator.rb, line 102 def complete message_for_complete unless options[:quiet] end
configure_application()
click to toggle source
# File lib/generators/comable/install/install_generator.rb, line 31 def configure_application application <<-APP config.to_prepare do # Overriding Models and Controllers # refs: http://edgeguides.rubyonrails.org/engines.html#overriding-models-and-controllers Dir.glob(Rails.root.join('app/**/*_decorator*.rb')).each do |c| Rails.configuration.cache_classes ? require_dependency(c) : load(c) end end APP end
create_database()
click to toggle source
# File lib/generators/comable/install/install_generator.rb, line 55 def create_database say_status :creating, 'database' quietly { rake 'db:create' } end
insert_routes()
click to toggle source
# File lib/generators/comable/install/install_generator.rb, line 87 def insert_routes insert_into_file File.join('config', 'routes.rb'), after: "Rails.application.routes.draw do\n" do <<-ROUTES # This line mounts Comable's routes at the root of your application. # This means, any requests to URLs such as /products, will go to Comable::ProductsController. # If you would like to change where this engine is mounted, simply change the :at option to something different. # # We ask that you don't use the :as option here, as Comable relies on it being the default of "comable" mount Comable::Core::Engine, at: '/' ROUTES end message_for_insert_routes unless options[:quiet] end
install_migrations()
click to toggle source
# File lib/generators/comable/install/install_generator.rb, line 50 def install_migrations say_status :copying, 'migrations' quietly { rake 'comable:install:migrations' } end
load_sample_data()
click to toggle source
# File lib/generators/comable/install/install_generator.rb, line 78 def load_sample_data if @sample_flag say_status :loading, 'sample data' quietly { rake 'comable:sample' } else say_status :skipping, 'sample data (you can always run rake comable:sample)' end end
load_seed_data()
click to toggle source
# File lib/generators/comable/install/install_generator.rb, line 69 def load_seed_data if @seed_flag say_status :loading, 'seed data' rake_seed else say_status :skipping, 'seed data (you can always run rake db:seed)' end end
prepare_options()
click to toggle source
# File lib/generators/comable/install/install_generator.rb, line 21 def prepare_options @migrate_flag = options[:migrate] @seed_flag = @migrate_flag ? options[:seed] : false @sample_flag = @migrate_flag ? options[:sample] : false end
run_migrations()
click to toggle source
# File lib/generators/comable/install/install_generator.rb, line 60 def run_migrations if @migrate_flag say_status :running, 'migrations' quietly { rake 'db:migrate' } else say_status :skipping, "migrations (don't forget to run rake db:migrate)" end end
Private Instance Methods
message_for_complete()
click to toggle source
# File lib/generators/comable/install/install_generator.rb, line 126 def message_for_complete puts '*' * 50 puts "Comable has been installed successfully. You're all ready to go!" puts ' ' puts 'Enjoy!' end
message_for_insert_routes()
click to toggle source
# File lib/generators/comable/install/install_generator.rb, line 119 def message_for_insert_routes puts '*' * 50 puts "We added the following line to your application's config/routes.rb file:" puts ' ' puts " mount Comable::Core::Engine, at: '/'" end
rake_seed()
click to toggle source
# File lib/generators/comable/install/install_generator.rb, line 108 def rake_seed rake("db:seed #{rake_seed_arguments.join(' ')}") end
rake_seed_arguments()
click to toggle source
# File lib/generators/comable/install/install_generator.rb, line 112 def rake_seed_arguments arguments = [] arguments << "ADMIN_EMAIL=#{options[:admin_email]}" if options[:admin_email] arguments << "ADMIN_PASSWORD=#{options[:admin_password]}" if options[:admin_password] arguments end