Sha256: dd718b60588dba2297278374d7a69f138927b720e575270093abaf41de76e44a

Contents?: true

Size: 1.29 KB

Versions: 5

Compression:

Stored size: 1.29 KB

Contents

# frozen_string_literal: true
# author: Vadim Shaveiko <@vshaveyko>
# :nodoc:
class RailsApiDoc::ApiDocsController < RailsApiDoc::ApplicationController

  def show
    # preload controllers for parameters to apply
    Dir.glob("#{Rails.root}/app/controllers/**/*.rb").each { |file| require_dependency file }

    @registered_controllers = RailsApiDoc::Controller::Request::Factory.registered_controllers

    @request_repository = RailsApiDoc::Controller::Request::Factory.repo

    @response_repository = RailsApiDoc::Controller::Response::Factory.repo
  end

  def create
    attributes = RailsApiDoc::Model::AttributeParser.parse_attributes(params)

    @res = RailsApiDoc::ApiDatum.create!(attributes)

    redirect_to api_doc_path
  end

  def destroy
    if params[:id]
      @res = RailsApiDoc::ApiDatum.find(params[:id]).destroy!
    else
      attributes = RailsApiDoc::Model::AttributeParser.parse_attributes(params)

      @res = RailsApiDoc::ApiDatum.create!(attributes)
    end

    redirect_to api_doc_path
  end

  def update
    attributes = RailsApiDoc::Model::AttributeParser.parse_attributes(params)

    if params[:id]
      @res = RailsApiDoc::ApiDatum.find(params[:id]).update!(attributes)
    else
      @res = RailsApiDoc::ApiDatum.create!(attributes)
    end

    redirect_to api_doc_path
  end

end

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
rails_api_documentation-0.3.4 app/controllers/rails_api_doc/api_docs_controller.rb
rails_api_documentation-0.3.3 app/controllers/rails_api_doc/api_docs_controller.rb
rails_api_documentation-0.3.2 app/controllers/rails_api_doc/api_docs_controller.rb
rails_api_documentation-0.3.1 app/controllers/rails_api_doc/api_docs_controller.rb
rails_api_documentation-0.3.0 app/controllers/rails_api_doc/api_docs_controller.rb