class ApipieDSL::SeeDescription

Attributes

description[R]

Public Class Methods

new(method, options = {}) click to toggle source
# File lib/apipie_dsl/see_description.rb, line 6
def initialize(method, options = {})
  @method = method
  @link = options[:link]
  @description = options[:desc] || options[:description]
  @scope = options[:scope]
end

Public Instance Methods

docs() click to toggle source
# File lib/apipie_dsl/see_description.rb, line 13
def docs
  { link: link, url: see_url, description: description }
end

Private Instance Methods

see_url() click to toggle source
# File lib/apipie_dsl/see_description.rb, line 19
def see_url
  method_description = if @scope
    if @scope.is_a?(ApipieDSL::ClassDescription)
      @scope.method_description(@method)
    else
      ApipieDSL.get_method_description(@scope.to_s, @method)
    end
  else
    ApipieDSL.get_method_description(@method)
  end
  raise ArgumentError, "Method #{@method} referenced in 'see' does not exist." if method_description.nil?

  method_description.doc_url(method_description.klass.sections.first)
end