Class: RailsApiDoc::Controller::Response::Repository

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

Overview

:nodoc:

Constant Summary

Constants included from Headers

Headers::RESPONSE_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

Instance Method Summary collapse

Methods included from Headers

#headers

Methods included from RailsApiDoc::Controller::Repo

#[]=, extended, #method_missing, #respond_to_missing?

Constructor Details

#initialize(repo) ⇒ Repository

Returns a new instance of Repository.



7
8
9
# File 'lib/rails_api_doc/controller/response/repository.rb', line 7

def initialize(repo)
  @repo = repo.clone.transform_values { |v| v.deep_dup }
end

Dynamic Method Handling

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

Instance Method Details

#action_route(ctrl, action) ⇒ Object



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

def action_route(ctrl, action)
  return unless action_route = action_route_for(ctrl, action)

  {
    method: method(action_route),
    url: url(action_route)
  }
end

#load_template(ctrl, action) ⇒ Object



11
12
13
# File 'lib/rails_api_doc/controller/response/repository.rb', line 11

def load_template(ctrl, action)
  RailsApiDoc::Controller::Response::RablCompiler.new("#{ctrl.controller_path}/#{action}").compile_source
end