Class: PowerApi::ExposedApiConfigGenerator

Inherits:
Rails::Generators::Base
  • Object
show all
Defined in:
lib/generators/power_api/exposed_api_config/exposed_api_config_generator.rb

Instance Method Summary collapse

Instance Method Details

#add_base_controllerObject



11
12
13
14
15
16
# File 'lib/generators/power_api/exposed_api_config/exposed_api_config_generator.rb', line 11

def add_base_controller
  create_file(
    helper.exposed_base_controller_path,
    helper.exposed_base_controller_tpl
  )
end

#install_first_versionObject



29
30
31
# File 'lib/generators/power_api/exposed_api_config/exposed_api_config_generator.rb', line 29

def install_first_version
  generate "power_api:version 1"
end

#install_rswagObject



18
19
20
21
22
23
24
25
26
27
# File 'lib/generators/power_api/exposed_api_config/exposed_api_config_generator.rb', line 18

def install_rswag
  generate "rswag:ui:install"
  generate "rswag:api:install"
  generate "rswag:specs:install"

  create_file(helper.rswag_ui_initializer_path, helper.rswag_ui_initializer_tpl, force: true)
  create_file(helper.swagger_helper_path, helper.swagger_helper_tpl, force: true)
  create_file(helper.spec_swagger_path)
  create_file(helper.spec_integration_path)
end

#install_simple_token_authObject



33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
# File 'lib/generators/power_api/exposed_api_config/exposed_api_config_generator.rb', line 33

def install_simple_token_auth
  create_file(
    helper.simple_token_auth_initializer_path,
    helper.simple_token_auth_initializer_tpl,
    force: true
  )

  helper.authenticated_resources.each do |resource|
    generate resource.authenticated_resource_migration

    insert_into_file(
      resource.path,
      helper.simple_token_auth_method,
      after: resource.class_definition_line
    )
  end
end