class GrapeApiary::Parameter
Attributes
full_name[R]
name[R]
route[R]
settings[R]
Public Class Methods
new(route, name, options)
click to toggle source
# File lib/grape-apiary/parameter.rb, line 7 def initialize(route, name, options) @full_name = name @name = name @name = name.scan(/\[(.*)\]/).flatten.first if name.include?('[') @route = route @settings = parse_options(options) end
Public Instance Methods
desc()
click to toggle source
# File lib/grape-apiary/parameter.rb, line 23 def desc settings[:desc] end
description()
click to toggle source
# File lib/grape-apiary/parameter.rb, line 35 def description "#{name} (#{requirement}, #{type}, `#{example}`) ... #{desc}" end
documentation()
click to toggle source
# File lib/grape-apiary/parameter.rb, line 27 def documentation settings[:documentation] end
example()
click to toggle source
# File lib/grape-apiary/parameter.rb, line 31 def example documentation ? documentation[:example] : nil end
requirement()
click to toggle source
# File lib/grape-apiary/parameter.rb, line 15 def requirement settings[:requirement] end
type()
click to toggle source
# File lib/grape-apiary/parameter.rb, line 19 def type settings[:type] end
Private Instance Methods
default_options()
click to toggle source
# File lib/grape-apiary/parameter.rb, line 49 def default_options model = name.include?('_id') ? name.gsub('_id', '') : route.route_model { required: true, requirement: 'required', type: 'uuid', desc: "the `id` of the `#{model}`", documentation: { example: GrapeApiary::Config.generate_id } } end
parse_options(options)
click to toggle source
# File lib/grape-apiary/parameter.rb, line 41 def parse_options(options) options = default_options if options.blank? options[:requirement] = options[:required] ? 'required' : 'optional' options end