Class: RailsApiDoc::Controller::Response::Repository
- Inherits:
-
Object
- Object
- RailsApiDoc::Controller::Response::Repository
- Includes:
- RailsApiDoc::Controller::Repo, Headers
- Defined in:
- lib/rails_api_doc/controller/response/repository.rb
Overview
author: Vadim Shaveiko <@vshaveyko> :nodoc:
Constant Summary
Constants included from 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
Instance Method Summary collapse
- #action_route(ctrl, action) ⇒ Object
-
#initialize(repo) ⇒ Repository
constructor
A new instance of Repository.
- #load_attrs(ctrl, action) ⇒ Object
- #load_template(ctrl, action) ⇒ Object
Methods included from Headers
Methods included from RailsApiDoc::Controller::Repo
#[]=, extended, #method_missing, #respond_to_missing?
Constructor Details
#initialize(repo) ⇒ Repository
Returns a new instance of Repository.
9 10 11 |
# File 'lib/rails_api_doc/controller/response/repository.rb', line 9 def initialize(repo) @repo = 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
Instance Method Details
#action_route(ctrl, action) ⇒ Object
25 26 27 28 29 30 31 32 |
# File 'lib/rails_api_doc/controller/response/repository.rb', line 25 def action_route(ctrl, action) return unless action_route = action_route_for(ctrl, action) { method: method(action_route), url: url(action_route) } end |
#load_attrs(ctrl, action) ⇒ Object
13 14 15 16 17 18 19 |
# File 'lib/rails_api_doc/controller/response/repository.rb', line 13 def load_attrs(ctrl, action) at = load_template(ctrl, action)&.nodes || {} at = RailsApiDoc::Model::AttributeMerger.new(at, 'response').merge_action(action: action, ctrl: ctrl) at end |
#load_template(ctrl, action) ⇒ Object
21 22 23 |
# File 'lib/rails_api_doc/controller/response/repository.rb', line 21 def load_template(ctrl, action) RailsApiDoc::Controller::Response::RablCompiler.new("#{ctrl.controller_path}/#{action}").compile_source end |