Class: Rails::Generators::PluginGenerator

Inherits:
AppBase
  • Object
show all
Defined in:
lib/rails/generators/rails/plugin/plugin_generator.rb

Overview

:nodoc:

Constant Summary

Constants inherited from AppBase

AppBase::BUN_VERSION, AppBase::CSS_OPTIONS, AppBase::JAVASCRIPT_OPTIONS, AppBase::NODE_LTS_VERSION

Constants included from AppName

AppName::RESERVED_NAMES

Instance Attribute Summary

Attributes inherited from AppBase

#rails_template

Instance Method Summary collapse

Methods inherited from AppBase

add_shared_options_for, edge_branch, strict_args_position

Methods inherited from Base

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

Methods included from Actions

#add_source, #environment, #gem, #gem_group, #generate, #git, #github, #initializer, #lib, #rails_command, #rake, #rakefile, #readme, #route, #vendor

Constructor Details

#initialize(*args) ⇒ PluginGenerator

Returns a new instance of PluginGenerator.



225
226
227
228
229
230
231
232
233
# File 'lib/rails/generators/rails/plugin/plugin_generator.rb', line 225

def initialize(*args)
  @dummy_path = nil
  super
  imply_options

  if !engine? || !with_dummy_app?
    self.options = options.merge(skip_asset_pipeline: true).freeze
  end
end

Instance Method Details

#create_app_filesObject



253
254
255
# File 'lib/rails/generators/rails/plugin/plugin_generator.rb', line 253

def create_app_files
  build(:app)
end

#create_assets_manifest_fileObject



275
276
277
# File 'lib/rails/generators/rails/plugin/plugin_generator.rb', line 275

def create_assets_manifest_file
  build(:assets_manifest) if !api? && engine?
end

#create_bin_filesObject



283
284
285
# File 'lib/rails/generators/rails/plugin/plugin_generator.rb', line 283

def create_bin_files
  build(:bin)
end

#create_cifilesObject



262
263
264
265
# File 'lib/rails/generators/rails/plugin/plugin_generator.rb', line 262

def create_cifiles
  return if skip_ci?
  build(:cifiles)
end

#create_config_filesObject



267
268
269
# File 'lib/rails/generators/rails/plugin/plugin_generator.rb', line 267

def create_config_files
  build(:config)
end

#create_lib_filesObject



271
272
273
# File 'lib/rails/generators/rails/plugin/plugin_generator.rb', line 271

def create_lib_files
  build(:lib)
end

#create_public_stylesheets_filesObject



279
280
281
# File 'lib/rails/generators/rails/plugin/plugin_generator.rb', line 279

def create_public_stylesheets_files
  build(:stylesheets) unless api?
end

#create_root_filesObject



243
244
245
246
247
248
249
250
251
# File 'lib/rails/generators/rails/plugin/plugin_generator.rb', line 243

def create_root_files
  build(:readme)
  build(:rakefile)
  build(:gemspec)   unless options[:skip_gemspec]
  build(:license)
  build(:gitignore) unless options[:skip_git]
  build(:gemfile)
  build(:version_control)
end

#create_rubocop_fileObject



257
258
259
260
# File 'lib/rails/generators/rails/plugin/plugin_generator.rb', line 257

def create_rubocop_file
  return if skip_rubocop?
  build(:rubocop)
end

#create_test_dummy_filesObject



291
292
293
294
# File 'lib/rails/generators/rails/plugin/plugin_generator.rb', line 291

def create_test_dummy_files
  return unless with_dummy_app?
  create_dummy_app
end

#create_test_filesObject



287
288
289
# File 'lib/rails/generators/rails/plugin/plugin_generator.rb', line 287

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

#finish_templateObject



300
301
302
# File 'lib/rails/generators/rails/plugin/plugin_generator.rb', line 300

def finish_template
  build(:leftovers)
end

#nameObject



306
307
308
309
310
311
312
313
314
315
316
# File 'lib/rails/generators/rails/plugin/plugin_generator.rb', line 306

def name
  @name ||= begin
    # same as ActiveSupport::Inflector#underscore except not replacing '-'
    underscored = original_name.dup
    underscored.gsub!(/([A-Z]+)([A-Z][a-z])/, '\1_\2')
    underscored.gsub!(/([a-z\d])([A-Z])/, '\1_\2')
    underscored.downcase!

    underscored
  end
end

#namespaced_nameObject



322
323
324
# File 'lib/rails/generators/rails/plugin/plugin_generator.rb', line 322

def namespaced_name
  @namespaced_name ||= name.tr("-", "/")
end

#target_rails_prereleaseObject



239
240
241
# File 'lib/rails/generators/rails/plugin/plugin_generator.rb', line 239

def target_rails_prerelease
  super("plugin new")
end

#underscored_nameObject



318
319
320
# File 'lib/rails/generators/rails/plugin/plugin_generator.rb', line 318

def underscored_name
  @underscored_name ||= original_name.underscore
end

#update_gemfileObject



296
297
298
# File 'lib/rails/generators/rails/plugin/plugin_generator.rb', line 296

def update_gemfile
  build(:gemfile_entry) unless options[:skip_gemfile_entry]
end