Class: Trireme::AppGenerator
- Inherits:
-
Rails::Generators::AppGenerator
- Object
- Rails::Generators::AppGenerator
- Trireme::AppGenerator
- Defined in:
- lib/trireme/generators/app_generator.rb
Instance Method Summary collapse
- #add_gems ⇒ Object
- #add_home_controller ⇒ Object
- #configure_generators ⇒ Object
- #configure_smtp ⇒ Object
- #create_views_and_layouts ⇒ Object
- #finish_template ⇒ Object
- #outro ⇒ Object
- #remove_routes_comment_lines ⇒ Object
- #setup_console ⇒ Object
- #setup_deployment ⇒ Object
- #setup_gems ⇒ Object
- #setup_git ⇒ Object
- #setup_staging_environment ⇒ Object
- #setup_stylesheets ⇒ Object
- #trireme_customization ⇒ Object
Instance Method Details
#add_gems ⇒ Object
41 42 43 44 45 46 47 48 49 50 51 52 53 54 |
# File 'lib/trireme/generators/app_generator.rb', line 41 def add_gems say 'Adding gems and installing' # Remove sqlite gem from Gemfile (we'll add it back under development group) build :remove_sqlite_gem # Append 'templates/additional_gems' to Gemfile build :add_custom_gems # Confirm other gems before adding (e.g., Carrierwave) build :add_additional_gems bundle_command 'install' end |
#add_home_controller ⇒ Object
61 62 63 64 65 |
# File 'lib/trireme/generators/app_generator.rb', line 61 def add_home_controller say 'Creating home controller with index' build :generate_home_controller end |
#configure_generators ⇒ Object
34 35 36 37 38 39 |
# File 'lib/trireme/generators/app_generator.rb', line 34 def configure_generators say 'Configuring generators' # Add generator configuration to config/application.rb build :configure_generators end |
#configure_smtp ⇒ Object
74 75 76 77 78 |
# File 'lib/trireme/generators/app_generator.rb', line 74 def configure_smtp say 'Configuring action mailer for production' build :setup_smtp end |
#create_views_and_layouts ⇒ Object
125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 |
# File 'lib/trireme/generators/app_generator.rb', line 125 def create_views_and_layouts say 'Creating partials and adding layouts' # Create app/views/shared directory build :create_shared_views_directory # Copy partials to app/views/shared build :create_flashes_partial build :create_form_errors_partial build :create_admin_actions_partial # Add title, icon, placeholder helpers build :copy_utility_helper build :copy_application_layout build :copy_bootstrap_scaffold_templates end |
#finish_template ⇒ Object
8 9 10 11 |
# File 'lib/trireme/generators/app_generator.rb', line 8 def finish_template invoke :trireme_customization super end |
#outro ⇒ Object
162 163 164 |
# File 'lib/trireme/generators/app_generator.rb', line 162 def outro say "Ready to set sail (and probably catch on fire, sink, and kill everyone on board)! Run 'cap deploy:setup' to finish preparing the server for deployment." end |
#remove_routes_comment_lines ⇒ Object
56 57 58 59 |
# File 'lib/trireme/generators/app_generator.rb', line 56 def remove_routes_comment_lines # Remove commented lines from config/routes.rb # build :remove_routes_comment_lines end |
#setup_console ⇒ Object
80 81 82 83 84 85 |
# File 'lib/trireme/generators/app_generator.rb', line 80 def setup_console say 'Configuring console (config/initializers/jazz_hands.rb)' # Add jazz_hands configuration in config/initializers/jazz_hands.rb build :setup_console end |
#setup_deployment ⇒ Object
144 145 146 147 148 149 150 |
# File 'lib/trireme/generators/app_generator.rb', line 144 def setup_deployment # Get domain and server ip from input build :get_server_options # Add deploy configuration and recipes build :setup_deploy end |
#setup_gems ⇒ Object
99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 |
# File 'lib/trireme/generators/app_generator.rb', line 99 def setup_gems say 'Setting up gems...' # Add quiet assets config to development (makes it easy to turn off) build :setup_quiet_assets # Add mailcatcher configuration for development build :setup_mailcatcher # Sets sublime text as editor for better_errors build :set_sublime_text_as_editor # Set up devise in accordance with preferences build :setup_devise # Setup rspec (rspec:install) build :setup_rspec # Setup guard by copying Guardfile build :setup_guard # Add configuration for exception notification if it is specified if config.has_key? :exception_notification build :setup_exception_notification end end |
#setup_git ⇒ Object
152 153 154 155 156 157 158 159 160 |
# File 'lib/trireme/generators/app_generator.rb', line 152 def setup_git say 'Setting up .gitignore and git repo' # Add gitignore_additions to .gitignore build :add_to_gitignore # Initialize git repository and create first commit build :initialize_git end |
#setup_staging_environment ⇒ Object
67 68 69 70 71 72 |
# File 'lib/trireme/generators/app_generator.rb', line 67 def setup_staging_environment say 'Setting up the staging environment' # Create config/environments/staging.rb based on production.rb build :setup_staging_environment end |
#setup_stylesheets ⇒ Object
87 88 89 90 91 92 93 94 95 96 97 |
# File 'lib/trireme/generators/app_generator.rb', line 87 def setup_stylesheets say 'Setting up stylesheets' # Add boostrap_and_overrides to app/assets/stylesheets; it contains bootstrap variables and imports bootstrap build :add_bootstrap_and_overrides # Replaces application.css with application.css.scss that imports compass, bootstrap, font-awesome build :replace_application_css # build :add_foundation_scaffold_templates end |
#trireme_customization ⇒ Object
13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 |
# File 'lib/trireme/generators/app_generator.rb', line 13 def trireme_customization if [:config_file] say "Loading yaml configuration from #{[:config_file]}" Trireme::configure_with([:config_file]) end invoke :configure_generators invoke :add_gems invoke :remove_routes_comment_lines invoke :add_home_controller invoke :setup_staging_environment if config[:action_mailer] && config[:action_mailer][:smtp_settings] invoke :configure_smtp end invoke :setup_console invoke :setup_stylesheets invoke :setup_gems invoke :create_views_and_layouts invoke :setup_deployment invoke :setup_git end |