class GrapeResource::NamespaceGenerator
Public Instance Methods
generate()
click to toggle source
# File lib/generators/grape_resource/namespace_generator.rb, line 8 def generate unless Object.const_defined?(name.classify) say say say "You need to generate model", :red say say "Example :" say " rails g model #{name.classify} attr1 attr2", :green say return end generator_type "namespace" insert_resources insert_into_main unless mounted_routes_exist? insert_namespace_entities unless entities_exist? template_rspec routes_exist? ? insert_namespace_routes : template_namespace_routes end
Private Instance Methods
insert_into_main()
click to toggle source
# File lib/generators/grape_resource/namespace_generator.rb, line 40 def insert_into_main insert_into_file "app/#{GrapeResource.directory}/main.rb", " mount API::V1::#{name.camelize.pluralize}::Routes\n", before: " #{GrapeResource.entry_point_routes} -- DONT REMOVE THIS LINE" end
insert_namespace_entities()
click to toggle source
# File lib/generators/grape_resource/namespace_generator.rb, line 44 def insert_namespace_entities attributes_for_params template "entities.rb.erb", "app/#{GrapeResource.directory}/#{name.underscore.pluralize}/entities/#{name.underscore.singularize}.rb" inside "app/#{GrapeResource.directory}/#{name.underscore.pluralize}/entities/" do gsub_file("#{name.underscore.singularize}.rb", /.*?remove.*\r?\n/, "") end end
insert_namespace_routes()
click to toggle source
# File lib/generators/grape_resource/namespace_generator.rb, line 63 def insert_namespace_routes insert_into_file "app/#{GrapeResource.directory}/#{name.underscore.pluralize}/routes.rb", " mount #{GrapeResource.class_name_prefix}::#{name.camelize.pluralize}::Resources::#{name.camelize.singularize}\n", before: " #{GrapeResource.entry_point_routes} -- DONT REMOVE THIS LINE\n" unless mount_code_exist? end
insert_resources()
click to toggle source
# File lib/generators/grape_resource/namespace_generator.rb, line 29 def insert_resources check_endpoint_or_method args attributes_for_params template "namespace/namespace_endpoint.rb.erb", "app/#{GrapeResource.directory}/#{name.underscore.pluralize}/resources/#{name.underscore.singularize}.rb" inside "app/#{GrapeResource.directory}/#{name.underscore.pluralize}/resources/" do gsub_file("#{name.underscore.singularize}.rb", /.*?remove.*\r?\n/, "") end end
template_namespace_routes()
click to toggle source
# File lib/generators/grape_resource/namespace_generator.rb, line 67 def template_namespace_routes template "routes.rb.erb", "app/#{GrapeResource.directory}/#{name.underscore.pluralize}/routes.rb" end
template_rspec()
click to toggle source
# File lib/generators/grape_resource/namespace_generator.rb, line 54 def template_rspec check_endpoint_or_method args template "namespace/specs.rb.erb", "app/#{GrapeResource.directory}/#{name.underscore.pluralize}/spec/#{name.underscore.singularize}_spec.rb" inside "app/#{GrapeResource.directory}/#{name.underscore.pluralize}/spec/" do gsub_file("#{name.underscore.singularize}_spec.rb", /.*?remove.*\r?\n/, "") end end