Class: RailsApiDoc::Controller::Request::Repository

Inherits:
Object
  • Object
show all
Extended by:
RailsApiDoc::Controller::Repo
Includes:
RailsApiDoc::Controller::Repo, Headers
Defined in:
lib/rails_api_doc/controller/request/repository.rb

Overview

author: Vadim Shaveiko <@vshaveyko> :nodoc:

Constant Summary

Constants included from Headers

Headers::REQUEST_HEADERS

Constants included from Headers

Headers::DESC_HEADER, Headers::NAME_HEADER, Headers::SPECIAL_HEADER, Headers::TYPE_HEADER, Headers::VALUE_HEADER

Instance Attribute Summary

Attributes included from RailsApiDoc::Controller::Repo

#repo

Class Method Summary collapse

Instance Method Summary collapse

Methods included from RailsApiDoc::Controller::Repo

[]=, extended, method_missing, respond_to_missing?

Methods included from Headers

#headers

Constructor Details

#initializeRepository

Returns a new instance of Repository.



30
31
32
# File 'lib/rails_api_doc/controller/request/repository.rb', line 30

def initialize
  @repo = self.class.repo.clone.transform_values(&:deep_dup)
end

Dynamic Method Handling

This class handles dynamic methods through the method_missing method in the class RailsApiDoc::Controller::Repo

Class Method Details

._abstract_class(klass) ⇒ Object



24
25
26
# File 'lib/rails_api_doc/controller/request/repository.rb', line 24

def _abstract_class(klass)
  klass == ActionController::Base || klass == RailsApiDoc::Params
end

.params_for_klass(klass) ⇒ Object



13
14
15
16
17
18
19
20
21
22
# File 'lib/rails_api_doc/controller/request/repository.rb', line 13

def params_for_klass(klass)
  params = {}

  until _abstract_class(klass)
    params.merge!(self[klass])
    klass = klass.superclass
  end

  params
end