class MobileWorkflowCli::AppGenerator

Public Class Methods

banner() click to toggle source

Public Instance Methods

finish_template() click to toggle source
Calls superclass method
# File lib/mobile_workflow_cli/app_generator.rb, line 30
def finish_template
  super
  after_bundle do
    run "spring stop"
    build :procfiles
    build :rspec_generator
    build :ability_generator
    build :active_storage if options[:s3_storage] 
    build :mobile_workflow_generator, ARGV[1]
    setup_db
    generate_administrate
    
    generate_dot_env
    initial_git_commit
    
    build :heroku if options[:heroku]
    build :dokku, options[:dokku_host] if options[:dokku]
    build :s3_backend, options[:aws_region] if options[:s3_storage]
  end
end

Protected Instance Methods

get_builder_class() click to toggle source
# File lib/mobile_workflow_cli/app_generator.rb, line 53
def get_builder_class
  MobileWorkflowCli::AppBuilder
end

Private Instance Methods

generate_administrate() click to toggle source

Todo: MBS - move these methods to the builder class Ideally override RailsBuilder methods

# File lib/mobile_workflow_cli/app_generator.rb, line 60
    def generate_administrate
      generate 'administrate:install'
      file 'app/assets/config/manifest.js', <<-CODE
//= link administrate/application.css
//= link administrate/application.js
    CODE
  
      file 'app/controllers/admin/application_controller.rb', <<-CODE
module Admin
  class ApplicationController < Administrate::ApplicationController
    http_basic_authenticate_with(name: ENV["ADMIN_USER"], password: ENV["ADMIN_PASSWORD"])
  end
end
CODE
      generate 'administrate:routes'
    end
generate_dot_env() click to toggle source
# File lib/mobile_workflow_cli/app_generator.rb, line 88
    def generate_dot_env
      admin_user = 'admin'
      admin_password = SecureRandom.base64(12)
      
      file '.env', <<-CODE
ADMIN_USER=#{admin_user}
ADMIN_PASSWORD=#{admin_password}
CODE
    end
initial_git_commit() click to toggle source
# File lib/mobile_workflow_cli/app_generator.rb, line 83
def initial_git_commit
  git add: "."
  git commit: %Q{ -m 'Initial commit' }
end
setup_db() click to toggle source
# File lib/mobile_workflow_cli/app_generator.rb, line 77
def setup_db
  rails_command "db:drop"
  rails_command "db:create"
  rails_command "db:migrate"
end