class ComposerGenerator
Public Instance Methods
install()
click to toggle source
# File lib/generators/composer/composer_generator.rb, line 7 def install gen_route if yes?("gen route?") gen_model if yes?("gen model?") gen_controller if yes?("gen controller?") gen_view if yes?("gen view?") gen_pundit if yes?("gen pundit?") gen_serializer if yes?("gen serializer?") end
Private Instance Methods
gen_controller()
click to toggle source
# File lib/generators/composer/composer_generator.rb, line 35 def gen_controller if yes?("does it need a namespace?") @namespace = ask("pls, input namespace name:") @namespace = @namespace.split('::').map(&:camelize).join("::") template 'controllers/namespace_controller.rb.erb', File.join("app/controllers", @namespace.underscore, "#{singular_name}.rb") else template 'controllers/controller.rb.erb', File.join("app/controllers", "#{singular_name}.rb") end end
gen_model()
click to toggle source
# File lib/generators/composer/composer_generator.rb, line 31 def gen_model template 'models/model.rb.erb', File.join("app/models", "#{singular_name}.rb") end
gen_pundit()
click to toggle source
# File lib/generators/composer/composer_generator.rb, line 76 def gen_pundit if yes?("does it need a namespace?") @namespace = ask("pls, input namespace name:") @namespace = @namespace.split('::').map(&:camelize).join("::") template 'policies/pundit.rb.erb', File.join("app/policies", @namespace.underscore, "#{singular_name.underscore}_policy.rb") else template 'policies/pundit.rb.erb', File.join("app/policies", "#{singular_name.underscore}_policy.rb") end end
gen_route()
click to toggle source
# File lib/generators/composer/composer_generator.rb, line 18 def gen_route inject_into_file 'config/routes.rb', after: "# composer flag\n" do <<-RUBY resources :#{plural_name} resources :#{plural_name} do get :foo get :bar, on: :collection end RUBY end end
gen_serializer()
click to toggle source
# File lib/generators/composer/composer_generator.rb, line 86 def gen_serializer if yes?("does it need a namespace?") @namespace = ask("pls, input namespace name:") @namespace = @namespace.split('::').map(&:camelize).join("::") template 'serializers/namespace_serializer.rb.erb', File.join("app/serializers", @namespace.underscore, "#{singular_name}_serializer.rb") else template 'serializers/serializer.rb.erb', File.join("app/serializers", "#{singular_name}_serializer.rb") end end
gen_view()
click to toggle source
# File lib/generators/composer/composer_generator.rb, line 45 def gen_view actions = "index show new edit destory _form _record" if yes?("does it need a namespace?") @namespace = ask("pls, input namespace name:") @namespace = @namespace.split('::').map(&:camelize).join("::") actions.split(" ").each do |action| case action when 'destory' template "views/destroy.html.erb", File.join("app/views", @namespace.underscore, "destroy.turbo_stream.haml") when '_record' filename = "_#{singular_name}.html.haml" template "views/_record.html.erb", File.join("app/views", @namespace.underscore, filename) else template "views/#{action}.html.erb", File.join("app/views", @namespace.underscore, "#{action}.html.haml") end end else actions.split(" ").each do |action| case action when 'destory' template "views/destroy.html.erb", File.join("app/views", "destroy.turbo_stream.haml") when '_record' filename = "_#{singular_name}.html.haml" template "views/_record.html.erb", File.join("app/views", filename) else template "views/#{action}.html.erb", File.join("app/views", "#{action}.html.haml") end end end end