Module: JsonapiSwaggerHelpers::DocsControllerMixin

Defined in:
lib/jsonapi_swagger_helpers/docs_controller_mixin.rb

Defined Under Namespace

Modules: ClassMethods

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.included(klass) ⇒ Object



3
4
5
6
7
8
9
10
11
12
13
14
15
16
# File 'lib/jsonapi_swagger_helpers/docs_controller_mixin.rb', line 3

def self.included(klass)
  # Save our controller so we can execute Swagger::Blocks code against it
  JsonapiSwaggerHelpers.docs_controller = klass

  # Add glue code
  klass.send(:include, Swagger::Blocks)
  klass.extend(ResourceMixin) # jsonapi_resource DSL
  klass.extend(ClassMethods) # for predefining payloads

  # Predefine swagger definitions for later reference
  #   * spec payloads define outputs
  #   * strong resources define inputs
  klass.register_payload_definitions!
end

Instance Method Details

#indexObject

Give Swagger::Blocks what it wants



43
44
45
46
# File 'lib/jsonapi_swagger_helpers/docs_controller_mixin.rb', line 43

def index
  self.class.load! unless self.class.loaded?
  render json: Swagger::Blocks.build_root_json([self.class])
end