class EndpointGenerator

Public Instance Methods

create_files() click to toggle source
# File lib/generators/endpoint/endpoint_generator.rb, line 4
  def create_files
    parent_module = Dir.pwd.split('/').last.remove('ros-').classify
    invoke(:model)
    gsub_file("app/models/#{name}.rb", 'ApplicationRecord', "#{parent_module}::ApplicationRecord")
    insert_into_file 'config/routes.rb', after: "Rails.application.routes.draw do\n" do
 "  jsonapi_resources :#{plural_name}\n"
    end
    create_file "app/controllers/#{plural_name}_controller.rb", <<-FILE


class #{name.classify.pluralize}Controller < #{parent_module}::ApplicationController
end
    FILE

    create_file "app/resources/#{name}_resource.rb", <<-FILE
# frozen_string_literal: true

class #{name.classify}Resource < #{parent_module}::ApplicationResource
  attributes #{args.map { |e| ':' + e.split(':').first }.join(', ')}
end
    FILE

    create_file "app/policies/#{name}_policy.rb", <<-FILE
# frozen_string_literal: true

class #{name.classify}Policy < Cognito::ApplicationPolicy
end
    FILE

  end