Class: PowerApi::ControllerGenerator

Inherits:
Rails::Generators::NamedBase
  • Object
show all
Defined in:
lib/generators/power_api/controller/controller_generator.rb

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.valid_actionsObject



4
5
6
# File 'lib/generators/power_api/controller/controller_generator.rb', line 4

def self.valid_actions
  PowerApi::GeneratorHelpers::PERMITTED_ACTIONS
end

Instance Method Details

#add_routesObject



75
76
77
78
79
80
81
82
83
84
85
86
# File 'lib/generators/power_api/controller/controller_generator.rb', line 75

def add_routes
  if helper.parent_resource?
    if helper.resource_actions?
      add_normal_route(actions: helper.controller_actions & ["show", "update", "destroy"])
    end
    add_nested_route if helper.collection_actions?
  else
    add_normal_route(actions: helper.controller_actions)
  end

  helper.format_ruby_file(helper.routes_path)
end

#configure_swaggerObject



97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
# File 'lib/generators/power_api/controller/controller_generator.rb', line 97

def configure_swagger
  create_file(
    helper.swagger_resource_schema_path,
    helper.swagger_schema_tpl
  )

  helper.format_ruby_file(helper.swagger_resource_schema_path)

  insert_into_file(
    helper.swagger_version_definition_path,
    helper.swagger_definition_entry,
    after: helper.swagger_definition_line_to_inject_schema
  )

  create_file(
    helper.swagger_resource_spec_path,
    helper.swagger_resource_spec_tpl
  )

  helper.format_ruby_file(helper.swagger_resource_spec_path)
end

#create_controllerObject



66
67
68
69
70
71
72
73
# File 'lib/generators/power_api/controller/controller_generator.rb', line 66

def create_controller
  create_file(
    helper.resource_controller_path,
    helper.resource_controller_tpl
  )

  helper.format_ruby_file(helper.resource_controller_path)
end

#create_serializerObject



88
89
90
91
92
93
94
95
# File 'lib/generators/power_api/controller/controller_generator.rb', line 88

def create_serializer
  create_file(
    helper.ams_serializer_path,
    helper.ams_serializer_tpl
  )

  helper.format_ruby_file(helper.ams_serializer_path)
end