class Bluebase_api::AppGenerator

Public Instance Methods

bluebase_api_customization() click to toggle source
# File lib/bluebase_api/generators/app_generator.rb, line 28
def bluebase_api_customization
  invoke :customize_root_files
  invoke :customize_bin_files
  invoke :customize_config_files
  invoke :customize_spec_files
  invoke :customize_app_directory
  invoke :customize_public_directory
  invoke :customize_vendor_directory
  invoke :customize_lib_directory
  invoke :customize_tmp_directory
  invoke :setup_git_and_github
  invoke :setup_heroku_apps
  invoke :outro
end
customize_app_directory() click to toggle source
# File lib/bluebase_api/generators/app_generator.rb, line 88
def customize_app_directory
  build :configure_api_directory
  build :configure_v1_directory
  build :add_base_controller
  build :replace_application_controller
  build :add_serializers_directory
  build :remove_app_assets_directory
  build :remove_app_views_directory
end
customize_bin_files() click to toggle source
# File lib/bluebase_api/generators/app_generator.rb, line 53
def customize_bin_files
  # Rails 4.2.0 comes with a setup script by default
  # build :add_setup_to_bin
end
customize_config_files() click to toggle source
# File lib/bluebase_api/generators/app_generator.rb, line 58
def customize_config_files
  build :configure_application_environment
  build :configure_development_environment
  build :configure_test_environment
  build :configure_production_environment
  build :add_staging_environment
  build :add_devise_config
  build :add_figaro_config
  build :replace_en_yml
  build :add_application_yml
  build :add_database_yml if options[:database] == 'postgresql'
  build :add_i18n_tasks_yml
  build :replace_secrets_yml
  build :add_smtp_settings
  build :replace_routes_rb
end
customize_lib_directory() click to toggle source
# File lib/bluebase_api/generators/app_generator.rb, line 84
def customize_lib_directory
  build :remove_lib_assets_directory
end
customize_public_directory() click to toggle source
# File lib/bluebase_api/generators/app_generator.rb, line 98
def customize_public_directory
  build :remove_html_files
end
customize_root_files() click to toggle source
# File lib/bluebase_api/generators/app_generator.rb, line 43
def customize_root_files
  build :replace_gemfile
  build :add_envrc
  build :replace_gitignore
  build :add_rubocop_and_hound_config
  build :add_rvm_config
  build :add_guardfile
  build :add_dot_rspec
end
customize_spec_files() click to toggle source
# File lib/bluebase_api/generators/app_generator.rb, line 75
def customize_spec_files
  build :add_spec_dirs
  build :configure_rspec
  build :configure_factorygirl
  build :configure_actionmailer
  build :configure_i18n
  build :configure_database_cleaner
end
customize_tmp_directory() click to toggle source
# File lib/bluebase_api/generators/app_generator.rb, line 106
def customize_tmp_directory
  build :remove_tmp_assets_directory
end
customize_vendor_directory() click to toggle source
# File lib/bluebase_api/generators/app_generator.rb, line 102
def customize_vendor_directory
  build :remove_vendor_assets_directories
end
finish_template() click to toggle source

Invoked after Rails generates app

Calls superclass method
# File lib/bluebase_api/generators/app_generator.rb, line 23
def finish_template
  invoke :bluebase_api_customization
  super
end
outro() click to toggle source
# File lib/bluebase_api/generators/app_generator.rb, line 132
def outro
  say "Your bluebase_api is complete!"
  say "Remember to set:"
  say "- Your database settings in config/database.yml"
  say "- Your env variables in config/application.yml"
  say "- Your Code Climate token in .travis.yml"
  say "Afterward, you can now run bin/setup in your project directory to set up the app."
end
run_bundle() click to toggle source
# File lib/bluebase_api/generators/app_generator.rb, line 141
def run_bundle
  # We'll run it ourselves
end
setup_git_and_github() click to toggle source
# File lib/bluebase_api/generators/app_generator.rb, line 110
def setup_git_and_github
  if !options[:skip_git]
    say "Initializing git"
    build :git_init
    if options[:github]
      say "Creating github repo"
      build :create_github_repo, options[:github]
    end
  end
end
setup_heroku_apps() click to toggle source
# File lib/bluebase_api/generators/app_generator.rb, line 121
def setup_heroku_apps
  if options[:heroku]
    say "Creating heroku apps"
    build :create_heroku_apps
    build :set_heroku_remotes
    build :set_heroku_env_variables
    build :add_heroku_addons
    build :set_memory_management_variable
  end
end

Private Instance Methods

get_builder_class() click to toggle source
# File lib/bluebase_api/generators/app_generator.rb, line 147
def get_builder_class
  Bluebase_api::AppBuilder
end