Class: Nor::ScaffoldGenerator

Inherits:
Rails::Generators::NamedBase
  • Object
show all
Includes:
Rails::Generators::ResourceHelpers
Defined in:
lib/generators/nor/scaffold/scaffold_generator.rb

Instance Method Summary collapse

Instance Method Details

#add_server_js_getObject



22
23
24
25
26
27
28
29
30
31
32
33
34
# File 'lib/generators/nor/scaffold/scaffold_generator.rb', line 22

def add_server_js_get
  code = <<~CODE
    \s\s\s\sserver.get('/#{plural_table_name}/:id(\\\\\\\\d+)', (req, res) => {
    \s\s\s\s  app.render(req, res, '/#{plural_table_name}/show', { id: req.params.id })
    \s\s\s\s})

    \s\s\s\sserver.get('/#{plural_table_name}/:id(\\\\\\\\d+)/edit', (req, res) => {
    \s\s\s\s  app.render(req, res, '/#{plural_table_name}/edit', { id: req.params.id })
    \s\s\s\s})

  CODE
  insert_into_file File.join('frontend', 'server.js'), code, before: "    server.get('*'"
end

#rails_scaffoldObject



9
10
11
12
13
14
15
# File 'lib/generators/nor/scaffold/scaffold_generator.rb', line 9

def rails_scaffold
  generate 'model', class_name, *attributes.map { |attribute| "#{attribute.name}:#{attribute.type}" }
  template 'controller.rb', File.join('app', 'controllers', "#{plural_table_name}_controller.rb")
  generate 'serializer', class_name
  gsub_file File.join('app', 'serializers', "#{singular_table_name}_serializer.rb"), 'attributes ', "attributes #{attributes_list_string}"
  route "resources :#{plural_name}"
end

#react_page_componentObject



17
18
19
20
# File 'lib/generators/nor/scaffold/scaffold_generator.rb', line 17

def react_page_component
  directory 'frontend/pages', File.join('frontend', 'pages', plural_table_name)
  directory 'frontend/components', File.join('frontend', 'components', plural_table_name)
end