Module: PowerApi::GeneratorHelper::ControllerHelper

Extended by:
ActiveSupport::Concern
Included in:
PowerApi::GeneratorHelpers
Defined in:
lib/power_api/generator_helper/controller_helper.rb

Overview

rubocop:disable Metrics/ModuleLength

Instance Method Summary collapse

Instance Method Details

#api_main_base_controller_pathObject



16
17
18
# File 'lib/power_api/generator_helper/controller_helper.rb', line 16

def api_main_base_controller_path
  "app/controllers/api/base_controller.rb"
end

#api_main_base_controller_tplObject



36
37
38
39
40
41
# File 'lib/power_api/generator_helper/controller_helper.rb', line 36

def api_main_base_controller_tpl
  <<~CONTROLLER
    class Api::BaseController < PowerApi::BaseController
    end
  CONTROLLER
end

#exposed_base_controller_pathObject



20
21
22
# File 'lib/power_api/generator_helper/controller_helper.rb', line 20

def exposed_base_controller_path
  "app/controllers/#{exposed_file_path}/base_controller.rb"
end

#exposed_base_controller_tplObject



43
44
45
46
47
48
49
# File 'lib/power_api/generator_helper/controller_helper.rb', line 43

def exposed_base_controller_tpl
  <<~CONTROLLER
    class #{exposed_class}::BaseController < Api::BaseController
      skip_before_action :verify_authenticity_token
    end
  CONTROLLER
end

#internal_base_controller_pathObject



24
25
26
# File 'lib/power_api/generator_helper/controller_helper.rb', line 24

def internal_base_controller_path
  "app/controllers/#{internal_file_path}/base_controller.rb"
end

#internal_base_controller_tplObject



51
52
53
54
55
56
57
58
59
# File 'lib/power_api/generator_helper/controller_helper.rb', line 51

def internal_base_controller_tpl
  <<~CONTROLLER
    class #{internal_class}::BaseController < Api::BaseController
      before_action do
        self.namespace_for_serializer = ::#{internal_class}
      end
    end
  CONTROLLER
end

#resource_controller_pathObject



32
33
34
# File 'lib/power_api/generator_helper/controller_helper.rb', line 32

def resource_controller_path
  "app/controllers/#{api_file_path}/#{resource.plural}_controller.rb"
end

#resource_controller_tplObject



71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
# File 'lib/power_api/generator_helper/controller_helper.rb', line 71

def resource_controller_tpl
  tpl_class(
    ctrl_tpl_class_definition_line,
    ctrl_tpl_authentication_code,
    ctrl_tpl_index,
    ctrl_tpl_show,
    ctrl_tpl_create,
    ctrl_tpl_update,
    ctrl_tpl_destroy,
    "private",
    ctrl_tpl_resource,
    ctrl_tpl_resources_from_authenticated_resource,
    ctrl_tpl_find_parent_resource,
    ctrl_tpl_permitted_params
  )
end

#version_base_controller_pathObject



28
29
30
# File 'lib/power_api/generator_helper/controller_helper.rb', line 28

def version_base_controller_path
  "app/controllers/#{version_file_path}/base_controller.rb"
end

#version_base_controller_tplObject



61
62
63
64
65
66
67
68
69
# File 'lib/power_api/generator_helper/controller_helper.rb', line 61

def version_base_controller_tpl
  <<~CONTROLLER
    class #{version_class}::BaseController < #{exposed_class}::BaseController
      before_action do
        self.namespace_for_serializer = ::#{version_class}
      end
    end
  CONTROLLER
end