Class: LinkedRails::ModelGenerator

Inherits:
ActiveRecord::Generators::ModelGenerator
  • Object
show all
Includes:
Rails::Generators::ResourceHelpers
Defined in:
lib/generators/linked_rails/model/model_generator.rb

Instance Method Summary collapse

Instance Method Details

#copy_filesObject

rubocop:disable Metrics/AbcSize



19
20
21
22
23
24
25
26
# File 'lib/generators/linked_rails/model/model_generator.rb', line 19

def copy_files # rubocop:disable Metrics/AbcSize
  template 'action_list.rb', File.join('app', 'actions', class_path, "#{file_name}_action_list.rb")
  template 'controller.rb', File.join('app', 'controllers', class_path, "#{plural_file_name}_controller.rb")
  template 'form.rb', File.join('app', 'forms', class_path, "#{file_name}_form.rb")
  template 'menu_list.rb', File.join('app', 'menus', class_path, "#{file_name}_menu_list.rb")
  template 'policy.rb', File.join('app', 'policies', class_path, "#{file_name}_policy.rb")
  template 'serializer.rb', File.join('app', 'serializers', class_path, "#{file_name}_serializer.rb")
end

#create_migration_fileObject

rubocop:disable Metrics/AbcSize



10
11
12
13
14
15
16
17
# File 'lib/generators/linked_rails/model/model_generator.rb', line 10

def create_migration_file # rubocop:disable Metrics/AbcSize
  return unless options[:migration] && options[:parent].nil?

  if options[:indexes] == false
    attributes.each { |a| a.attr_options.delete(:index) if a.reference? && !a.has_index? }
  end
  migration_template 'create_table_migration.rb', File.join(db_migrate_path, "create_#{table_name}.rb")
end

#insert_routeObject



28
29
30
31
32
33
# File 'lib/generators/linked_rails/model/model_generator.rb', line 28

def insert_route
  after = after_sorted_match(routes_path, /linked_resource\((\w+\))/)

  opts = after ? {after: after} : {before: 'end'}
  inject_into_file(routes_path, routes_line, opts)
end