class Nor::ScaffoldGenerator
Public Instance Methods
add_server_js_get()
click to toggle source
# 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_scaffold()
click to toggle source
# 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_component()
click to toggle source
# 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
Private Instance Methods
attributes_list_string()
click to toggle source
# File lib/generators/nor/scaffold/scaffold_generator.rb, line 49 def attributes_list_string (['id'] + attributes_names).map { |attribute_name| ":#{attribute_name}" }.join(', ') end
input_type(attribute)
click to toggle source
# File lib/generators/nor/scaffold/scaffold_generator.rb, line 38 def input_type(attribute) case attribute.type when :boolean return 'CheckBox' when :text return 'TextArea' else return 'Input' end end