Class: Rails::Generators::AppGenerator

Inherits:
AppBase show all
Defined in:
railties/lib/rails/commands/application.rb,
railties/lib/rails/generators/rails/app/app_generator.rb

Overview

:nodoc:

Constant Summary

Constants inherited from AppBase

Rails::Generators::AppBase::DATABASES, Rails::Generators::AppBase::JDBC_DATABASES

Instance Attribute Summary

Attributes inherited from AppBase

#rails_template

Class Method Summary collapse

Instance Method Summary collapse

Methods inherited from AppBase

add_shared_options_for, strict_args_position

Methods inherited from Base

base_root, class_option, default_source_root, desc, hide!, hook_for, inherited, namespace, remove_hook_for, source_root

Methods included from Actions

#add_source, #capify!, #environment, #gem, #gem_group, #generate, #git, #initializer, #lib, #rake, #rakefile, #readme, #route, #vendor

Constructor Details

#initialize(*args) ⇒ AppGenerator

Returns a new instance of AppGenerator.



166
167
168
169
170
171
172
173
174
175
176
# File 'railties/lib/rails/generators/rails/app/app_generator.rb', line 166

def initialize(*args)
  super

  unless app_path
    raise Error, "Application name should be provided in arguments. For details run: rails --help"
  end

  if !options[:skip_active_record] && !DATABASES.include?(options[:database])
    raise Error, "Invalid value for --database option. Supported for preconfiguration are: #{DATABASES.join(", ")}."
  end
end

Class Method Details

.exit_on_failure?Boolean

We want to exit on failure to be kind to other libraries This is only when accessing via CLI

Returns:

  • (Boolean)


9
10
11
# File 'railties/lib/rails/commands/application.rb', line 9

def self.exit_on_failure?
  true
end

Instance Method Details

#create_active_record_filesObject



210
211
212
213
# File 'railties/lib/rails/generators/rails/app/app_generator.rb', line 210

def create_active_record_files
  return if options[:skip_active_record]
  build(:database_yml)
end

#create_app_filesObject



189
190
191
# File 'railties/lib/rails/generators/rails/app/app_generator.rb', line 189

def create_app_files
  build(:app)
end

#create_bin_filesObject



193
194
195
# File 'railties/lib/rails/generators/rails/app/app_generator.rb', line 193

def create_bin_files
  build(:bin)
end

#create_boot_fileObject



206
207
208
# File 'railties/lib/rails/generators/rails/app/app_generator.rb', line 206

def create_boot_file
  template "config/boot.rb"
end

#create_config_filesObject



197
198
199
# File 'railties/lib/rails/generators/rails/app/app_generator.rb', line 197

def create_config_files
  build(:config)
end

#create_db_filesObject



215
216
217
# File 'railties/lib/rails/generators/rails/app/app_generator.rb', line 215

def create_db_files
  build(:db)
end

#create_lib_filesObject



219
220
221
# File 'railties/lib/rails/generators/rails/app/app_generator.rb', line 219

def create_lib_files
  build(:lib)
end

#create_log_filesObject



223
224
225
# File 'railties/lib/rails/generators/rails/app/app_generator.rb', line 223

def create_log_files
  build(:log)
end

#create_public_filesObject



227
228
229
# File 'railties/lib/rails/generators/rails/app/app_generator.rb', line 227

def create_public_files
  build(:public_directory)
end

#create_root_filesObject



181
182
183
184
185
186
187
# File 'railties/lib/rails/generators/rails/app/app_generator.rb', line 181

def create_root_files
  build(:readme)
  build(:rakefile)
  build(:configru)
  build(:gitignore) unless options[:skip_git]
  build(:gemfile)   unless options[:skip_gemfile]
end

#create_test_filesObject



231
232
233
# File 'railties/lib/rails/generators/rails/app/app_generator.rb', line 231

def create_test_files
  build(:test) unless options[:skip_test_unit]
end

#create_tmp_filesObject



235
236
237
# File 'railties/lib/rails/generators/rails/app/app_generator.rb', line 235

def create_tmp_files
  build(:tmp)
end

#create_vendor_filesObject



239
240
241
# File 'railties/lib/rails/generators/rails/app/app_generator.rb', line 239

def create_vendor_files
  build(:vendor)
end

#delete_assets_initializer_skipping_sprocketsObject



249
250
251
252
253
# File 'railties/lib/rails/generators/rails/app/app_generator.rb', line 249

def delete_assets_initializer_skipping_sprockets
  if options[:skip_sprockets]
    remove_file 'config/initializers/assets.rb'
  end
end

#delete_js_folder_skipping_javascriptObject



243
244
245
246
247
# File 'railties/lib/rails/generators/rails/app/app_generator.rb', line 243

def delete_js_folder_skipping_javascript
  if options[:skip_javascript]
    remove_dir 'app/assets/javascripts'
  end
end

#finish_templateObject



255
256
257
# File 'railties/lib/rails/generators/rails/app/app_generator.rb', line 255

def finish_template
  build(:leftovers)
end

#update_config_filesObject



201
202
203
# File 'railties/lib/rails/generators/rails/app/app_generator.rb', line 201

def update_config_files
  build(:config_when_updating)
end