Class: Kazan::AppGenerator

Inherits:
Rails::Generators::AppGenerator
  • Object
show all
Defined in:
lib/kazan/generators/app_generator.rb

Instance Method Summary collapse

Instance Method Details

#customizationObject



23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
# File 'lib/kazan/generators/app_generator.rb', line 23

def customization
  invoke :setup_ruby
  invoke :setup_gems
  invoke :setup_secrets
  invoke :setup_puma
  invoke :setup_development_environment
  invoke :setup_test_environment
  invoke :setup_production_environment
  invoke :setup_database

  unless options[:api]
    invoke :setup_assets
    invoke :setup_helpers
  end

  invoke :setup_static if options[:static]

  invoke :setup_error_pages
  invoke :setup_bundler_audit
  invoke :setup_spring
  invoke :setup_empty_directories
  invoke :setup_project_repository
  invoke :outro
end

#finish_templateObject



18
19
20
21
# File 'lib/kazan/generators/app_generator.rb', line 18

def finish_template
  invoke :customization
  super
end

#outroObject



160
161
162
# File 'lib/kazan/generators/app_generator.rb', line 160

def outro
  say 'Last preparation'
end

#setup_assetsObject



111
112
113
114
115
116
117
118
# File 'lib/kazan/generators/app_generator.rb', line 111

def setup_assets
  say 'Setup assets'
  build :shared_views_directory
  build :shared_flash
  build :shared_javascript
  build :shared_styles
  build :assets_config
end

#setup_bundler_auditObject



140
141
142
143
# File 'lib/kazan/generators/app_generator.rb', line 140

def setup_bundler_audit
  say 'Setup bundler audit'
  build :bundler_audit_config
end

#setup_databaseObject



105
106
107
108
109
# File 'lib/kazan/generators/app_generator.rb', line 105

def setup_database
  say 'Setup database'
  build :postgres_config if options[:database] == 'postgresql'
  build :database_tables
end

#setup_development_environmentObject



69
70
71
72
73
74
75
76
77
78
79
80
81
82
# File 'lib/kazan/generators/app_generator.rb', line 69

def setup_development_environment
  say 'Setup development environment'
  build :exception_on_delivery_errors
  build :exception_on_unpermitted_parameters
  build :exception_on_missing_translations
  build :letter_opener_config
  build :bullet_config
  build :foreman_config
  build :rails_generators_config

  unless options[:api]
    build :quiet_assets_config
  end
end

#setup_empty_directoriesObject



150
151
152
153
# File 'lib/kazan/generators/app_generator.rb', line 150

def setup_empty_directories
  say 'Setup empty directories'
  build :empty_directories
end

#setup_error_pagesObject



135
136
137
138
# File 'lib/kazan/generators/app_generator.rb', line 135

def setup_error_pages
  say 'Customizing the 500/404/422 pages'
  build :static_pages
end

#setup_gemsObject



53
54
55
56
# File 'lib/kazan/generators/app_generator.rb', line 53

def setup_gems
  say 'Setup gems'
  build :gemfile_api if options[:api]
end

#setup_helpersObject



120
121
122
123
# File 'lib/kazan/generators/app_generator.rb', line 120

def setup_helpers
  build :simple_form_config
  build :rack_mini_profiler_config
end

#setup_production_environmentObject



96
97
98
99
100
101
102
103
# File 'lib/kazan/generators/app_generator.rb', line 96

def setup_production_environment
  say 'Setup production environment'
  build :smtp_config
  build :rack_timeout_config
  build :rack_canonical_host_config
  build :rack_deflater_config
  build :rollbar_config
end

#setup_project_repositoryObject



155
156
157
158
# File 'lib/kazan/generators/app_generator.rb', line 155

def setup_project_repository
  say 'Setup git reposirory'
  build :init_commit
end

#setup_pumaObject



64
65
66
67
# File 'lib/kazan/generators/app_generator.rb', line 64

def setup_puma
  say 'Setup puma'
  build :puma_config
end

#setup_rubyObject



48
49
50
51
# File 'lib/kazan/generators/app_generator.rb', line 48

def setup_ruby
  say 'Setup ruby'
  build :ruby_version
end

#setup_secretsObject



58
59
60
61
62
# File 'lib/kazan/generators/app_generator.rb', line 58

def setup_secrets
  say 'Setup secrets'
  build :dotenvs
  build :settings
end

#setup_springObject



145
146
147
148
# File 'lib/kazan/generators/app_generator.rb', line 145

def setup_spring
  say 'Setup spring binstubs'
  build :spring
end

#setup_staticObject



125
126
127
128
129
130
131
132
133
# File 'lib/kazan/generators/app_generator.rb', line 125

def setup_static
  say 'Setup static'

  build :remove_turbolinks
  build :stylesheets_gems
  build :stylesheets_manifest
  build :refils
  build :bitters
end

#setup_test_environmentObject



84
85
86
87
88
89
90
91
92
93
94
# File 'lib/kazan/generators/app_generator.rb', line 84

def setup_test_environment
  say 'Setup test environment'
  build :exception_on_missing_assets_in_test
  build :spec_translations_config
  build :spec_action_mailer_config
  build :spec_database_cleaner_config
  build :spec_shoulda_matchers_config
  build :spec_factory_girl_config
  build :rspec_config
  build :rspec_replace_config
end