class Grape::App::Doc::Parameter

Attributes

default[R]
desc[R]
doc[R]
name[R]
type[R]
values[R]

Public Class Methods

new(name, opts = {}) click to toggle source
# File lib/grape/app/doc/parameter.rb, line 4
def initialize(name, opts = {})
  @name     = name.to_s
  @doc      = opts[:documentation] || {}
  @desc     = doc[:desc] || doc[:description] || ''
  @values   = opts[:values] || []
  @default  = opts[:default]
  @type     = normalize_type(doc[:type] || opts[:type])
  @required = opts[:required]
end

Public Instance Methods

required?() click to toggle source
# File lib/grape/app/doc/parameter.rb, line 14
def required?
  @required
end

Private Instance Methods

normalize_type(str) click to toggle source
# File lib/grape/app/doc/parameter.rb, line 20
def normalize_type(str)
  return 'String' unless str.is_a?(String)

  str = str.dup
  str.sub! 'Virtus::Attribute::', ''
  str.sub! 'Axiom::Types::', ''
  str.sub! 'BigDecimal', 'Decimal'
  str
end