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
# 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

  invoke :setup_assets
  invoke :setup_helpers
  invoke :setup_error_pages

  invoke :setup_static

  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



168
169
170
# File 'lib/kazan/generators/app_generator.rb', line 168

def outro
  say 'Last preparation'
end

#setup_assetsObject



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

def setup_assets
  unless options[:api]
    say 'Setup assets'
    build :shared_views_directory
    build :shared_flash
    build :shared_javascript
    build :shared_styles
    build :assets_config
  end
end

#setup_bundler_auditObject



148
149
150
151
# File 'lib/kazan/generators/app_generator.rb', line 148

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



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

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

#setup_error_pagesObject



141
142
143
144
145
146
# File 'lib/kazan/generators/app_generator.rb', line 141

def setup_error_pages
  unless options[:api]
    say 'Customizing the 500/404/422 pages'
    build :static_pages
  end
end

#setup_gemsObject



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

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

#setup_helpersObject



122
123
124
125
126
127
# File 'lib/kazan/generators/app_generator.rb', line 122

def setup_helpers
  unless options[:api]
    build :simple_form_config
    build :rack_mini_profiler_config
  end
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



163
164
165
166
# File 'lib/kazan/generators/app_generator.rb', line 163

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



46
47
48
49
# File 'lib/kazan/generators/app_generator.rb', line 46

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



153
154
155
156
# File 'lib/kazan/generators/app_generator.rb', line 153

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

#setup_staticObject



129
130
131
132
133
134
135
136
137
138
139
# File 'lib/kazan/generators/app_generator.rb', line 129

def setup_static
  if options[:static] && !options[:api]
    say 'Setup static'

    build :remove_turbolinks
    build :stylesheets_gems
    build :stylesheets_manifest
    build :refils
    build :bitters
  end
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