Class: GrapeBunch::Generators::InstallGenerator

Inherits:
Rails::Generators::Base
  • Object
show all
Defined in:
lib/generators/grape_bunch/install_generator.rb

Instance Method Summary collapse

Instance Method Details

#create_root_apiObject



6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
# File 'lib/generators/grape_bunch/install_generator.rb', line 6

def create_root_api
  create_file "app/api/api_v1/api.rb", "module ApiV1\n  class API < Grape::API\n    prefix 'api'\n    version 'v1'\n    format :json\n\n    add_swagger_documentation(\napi_version: 'v1',\nhide_documentation_path: true,\nhide_format: true,\ninfo: {\n  title: 'API documentation'\n}\n    )\n  end\nend\n  ROOT_API\nend\n"

#mount_routesObject



27
28
29
30
31
32
33
# File 'lib/generators/grape_bunch/install_generator.rb', line 27

def mount_routes
  inject_into_file 'config/routes.rb', after: "Rails.application.routes.draw do\n" do "  mount ApiV1::API => '/'\n  mount GrapeSwaggerRails::Engine => '/swagger'\n  ROUTES\n  end\nend\n"

#swagger_initializerObject



35
36
37
38
39
40
41
# File 'lib/generators/grape_bunch/install_generator.rb', line 35

def swagger_initializer
  create_file "config/initializers/swagger.rb", "GrapeSwaggerRails.options.url      = 'api/v1/swagger_doc'\nGrapeSwaggerRails.options.app_name = 'GrapeSwagger'\nGrapeSwaggerRails.options.app_url  = '/'\n  SWAGGER_INIT\nend\n"