Class: Pu::Res::ScaffoldGenerator
Overview
run ‘rails g pu:res:scaffold existing_resource` without any arguments to import an existing resource
Instance Method Summary
collapse
derive_association_name, find_shared_namespace, included
#debug, #error, #exception, #info, #success, #warn
#read_config, #write_config
Instance Method Details
#check_class_collision ⇒ Object
Skip collision check when scaffolding for existing model
18
19
20
|
# File 'lib/generators/pu/res/scaffold/scaffold_generator.rb', line 18
def check_class_collision
super if options[:model]
end
|
#create_controller ⇒ Object
40
41
42
|
# File 'lib/generators/pu/res/scaffold/scaffold_generator.rb', line 40
def create_controller
template "controller.rb", File.join("app/controllers", class_path, "#{file_name.pluralize}_controller.rb")
end
|
#create_definition ⇒ Object
48
49
50
|
# File 'lib/generators/pu/res/scaffold/scaffold_generator.rb', line 48
def create_definition
template "definition.rb", File.join("app/definitions", class_path, "#{file_name}_definition.rb")
end
|
#create_model ⇒ Object
34
35
36
37
38
|
# File 'lib/generators/pu/res/scaffold/scaffold_generator.rb', line 34
def create_model
return unless options[:model]
invoke "pu:res:model", [@original_name, *@original_attributes], dest: selected_destination_feature, **options
end
|
#create_policy ⇒ Object
44
45
46
|
# File 'lib/generators/pu/res/scaffold/scaffold_generator.rb', line 44
def create_policy
template "policy.rb", File.join("app/policies", class_path, "#{file_name}_policy.rb")
end
|
#setup ⇒ Object
22
23
24
25
26
27
28
29
30
31
32
|
# File 'lib/generators/pu/res/scaffold/scaffold_generator.rb', line 22
def setup
model_class = class_name.safe_constantize
if model_class.present?
if attributes.empty?
attributes_str = model_class.content_columns.map { |col| "#{col.name}:#{col.type}" }
self.attributes = parse_attributes_internal!(attributes_str)
elsif options[:model]
warn("Overwriting existing resource. You can leave out the attributes to import an existing resource.")
end
end
end
|