Class: Cardboard::Generators::InstallGenerator
- Inherits:
-
ActiveRecord::Generators::Base
- Object
- ActiveRecord::Generators::Base
- Cardboard::Generators::InstallGenerator
- Defined in:
- lib/generators/cardboard/install/install_generator.rb
Class Method Summary collapse
Instance Method Summary collapse
- #copy_initializer ⇒ Object
- #create_assets ⇒ Object
- #install_migrations ⇒ Object
- #setup_cardboard_yaml ⇒ Object
- #setup_directory ⇒ Object
- #setup_routes ⇒ Object
Class Method Details
.source_root ⇒ Object
12 13 14 |
# File 'lib/generators/cardboard/install/install_generator.rb', line 12 def self.source_root @_cardboard_source_root ||= File.("../templates", __FILE__) end |
Instance Method Details
#copy_initializer ⇒ Object
16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 |
# File 'lib/generators/cardboard/install/install_generator.rb', line 16 def copy_initializer if @site_title = ask("What is the site name? [#{@name}]").presence || @name @user_class = ["user-class"].presence || ask("What is your user class called? [AdminUser]").presence || 'AdminUser' user_class_underscore = @user_class.underscore #TODO: check that this class really exists @current_user_helper = "current_#{user_class_underscore}" @authentication_method = "authenticate_#{user_class_underscore}!" @logout_link_path = "destroy_#{user_class_underscore}_session_path" unless defined?(Devise) @current_user_helper = ask("What is the current_user helper called in your app? [#{@current_user_helper}]").presence || @current_user_helper @authentication_method = ask("What is the authenticate! helper called in your app? [#{@authentication_method}]").presence || @authentication_method @logout_link_path = ask("What is the signout link of your app [#{@logout_link_path}]?").presence || @logout_link_path end end path = "#{Rails.root}/config/initializers/cardboard.rb" # if File.exists?(path) # p "Skipping config/initializers/cardboard.rb creation, as file already exists!" # else p "Adding cardboard initializer (config/initializers/cardboard.rb)..." template 'cardboard.rb.erb', path require path if File.exists?(path) # Load the configuration # end end |
#create_assets ⇒ Object
61 62 63 64 |
# File 'lib/generators/cardboard/install/install_generator.rb', line 61 def create_assets p "Generating cardboard assets..." generate "cardboard:assets" end |
#install_migrations ⇒ Object
66 67 68 69 70 71 |
# File 'lib/generators/cardboard/install/install_generator.rb', line 66 def install_migrations puts "Copying over migrations..." Dir.chdir(Rails.root) do `rake cardboard:install:migrations` end end |
#setup_cardboard_yaml ⇒ Object
46 47 48 49 |
# File 'lib/generators/cardboard/install/install_generator.rb', line 46 def setup_cardboard_yaml p "Generating a default config/cardboard.yml file..." copy_file 'cardboard.yml', 'config/cardboard.yml' end |
#setup_directory ⇒ Object
51 52 53 54 |
# File 'lib/generators/cardboard/install/install_generator.rb', line 51 def setup_directory empty_directory "app/controllers/cardboard" empty_directory "app/views/templates" end |
#setup_routes ⇒ Object
56 57 58 59 |
# File 'lib/generators/cardboard/install/install_generator.rb', line 56 def setup_routes p "Mounting Cardboard::Engine at \"/cardboard\" in config/routes.rb..." inject_into_file "config/routes.rb", " mount Cardboard::Engine => \"/cardboard\"\n", :after => /routes\.draw do\n/ end |