Class: Bankai::Generator

Inherits:
Rails::Generators::AppGenerator
  • Object
show all
Defined in:
lib/bankai/generator.rb

Overview

:nodoc:

Constant Summary collapse

SUPPORTED_DATABASES =
if defined?(Rails::Generators::Database::DATABASES)
  Rails::Generators::Database::DATABASES
elsif defined?(DATABASES)
  DATABASES
else
  %w[postgresql mysql2 sqlite3]
end

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details



105
106
107
# File 'lib/bankai/generator.rb', line 105

def self.banner
  "bankai #{arguments.map(&:usage).join(' ')} [options]"
end

Instance Method Details

#configure_appObject



73
74
75
76
77
# File 'lib/bankai/generator.rb', line 73

def configure_app
  say 'Configuring app'
  # TODO: Configure ActionMailer
  build :setup_rack_mini_profiler
end

#customizationObject



50
51
52
53
54
55
56
57
# File 'lib/bankai/generator.rb', line 50

def customization
  invoke :customize_gemfile
  invoke :setup_development_environment
  invoke :configure_app
  invoke :setup_dotfiles
  invoke :generate_default
  invoke :setup_default_directories
end

#customize_gemfileObject



59
60
61
62
# File 'lib/bankai/generator.rb', line 59

def customize_gemfile
  build :replace_gemfile, options[:path]
  bundle_command 'install'
end

#depends_on_system_test?Boolean

Returns:

  • (Boolean)


101
102
103
# File 'lib/bankai/generator.rb', line 101

def depends_on_system_test?
  !(options[:skip_system_test] || options[:skip_rspec] || options[:api])
end

#finish_templateObject



45
46
47
48
# File 'lib/bankai/generator.rb', line 45

def finish_template
  invoke :customization
  super
end

#generate_defaultObject



83
84
85
86
87
88
89
90
91
92
93
94
95
# File 'lib/bankai/generator.rb', line 83

def generate_default
  run('bundle binstubs bundler')
  Bundler.with_original_env do
    generate('bankai:testing') unless options[:skip_rspec]
    generate('bankai:ci', options.api? ? '--api' : '')
    generate('bankai:json')
    generate('bankai:db_optimizations')
    generate('bankai:mailer')
    generate('bankai:deploy') if options[:capistrano]
    generate('annotate:install')
    generate('bankai:lint')
  end
end

#setup_default_directoriesObject



97
98
99
# File 'lib/bankai/generator.rb', line 97

def setup_default_directories
  build :setup_default_directories
end

#setup_development_environmentObject



64
65
66
67
68
69
70
71
# File 'lib/bankai/generator.rb', line 64

def setup_development_environment
  say 'Setting up the development environment'
  build :configure_quiet_assets
  build :configure_puma_dev
  build :configure_generators
  build :clear_seed_file
  # TODO: Add setup script
end

#setup_dotfilesObject



79
80
81
# File 'lib/bankai/generator.rb', line 79

def setup_dotfiles
  build :copy_dotfiles
end