Module: Rails::Generators::ResourceHelpers

Included in:
Erb::Generators::ScaffoldGenerator, ResourceGenerator, ScaffoldControllerGenerator, TestUnit::Generators::ScaffoldGenerator
Defined in:
railties/lib/rails/generators/resource_helpers.rb

Overview

Deal with controller names on scaffold and add some helpers to deal with ActiveModel.

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.included(base) ⇒ Object

:nodoc:



10
11
12
13
# File 'railties/lib/rails/generators/resource_helpers.rb', line 10

def self.included(base) #:nodoc:
  base.class_option :force_plural, type: :boolean, desc: "Forces the use of a plural ModelName"
  base.class_option :model_name, type: :string, desc: "ModelName to be used"
end

Instance Method Details

#initialize(*args) ⇒ Object

Set controller variables on initialization.



16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
# File 'railties/lib/rails/generators/resource_helpers.rb', line 16

def initialize(*args) #:nodoc:
  super
  controller_name = name
  if options[:model_name]
    self.name = options[:model_name]
    assign_names!(self.name)
  end

  if name == name.pluralize && name.singularize != name.pluralize && !options[:force_plural]
    unless ResourceHelpers.skip_warn
      say "Plural version of the model detected, using singularized version. Override with --force-plural."
      ResourceHelpers.skip_warn = true
    end
    name.replace name.singularize
    assign_names!(name)
  end

  assign_controller_names!(controller_name.pluralize)
end