class Rack::App::Middlewares::Params::Definition::Options

Constants

ERROR_EACH

Public Class Methods

new(descriptor) click to toggle source
# File lib/rack/app/middlewares/params/definition/options.rb, line 5
def initialize(descriptor)
  @descriptor = descriptor
end

Public Instance Methods

formatted() click to toggle source
# File lib/rack/app/middlewares/params/definition/options.rb, line 9
def formatted
  {
    :class => parameter_class,
    :of => parameter_class_elements,
    :description => parameter_description,
    :example => parameter_example
  }
end

Protected Instance Methods

parameter_class() click to toggle source
# File lib/rack/app/middlewares/params/definition/options.rb, line 28
def parameter_class
  @descriptor[:class] || @descriptor[:type]
end
parameter_class_elements() click to toggle source
# File lib/rack/app/middlewares/params/definition/options.rb, line 32
def parameter_class_elements
  if @descriptor[:of]
    raise "#{parameter_class} #{ERROR_EACH}" unless parameter_class_iterable?
    @descriptor[:of]
  end
end
parameter_class_iterable?() click to toggle source
# File lib/rack/app/middlewares/params/definition/options.rb, line 39
def parameter_class_iterable?
  parameter_class.instance_method(:each)
rescue NameError
  false
end
parameter_description() click to toggle source
# File lib/rack/app/middlewares/params/definition/options.rb, line 24
def parameter_description
  @descriptor[:desc] || @descriptor[:description]
end
parameter_example() click to toggle source
# File lib/rack/app/middlewares/params/definition/options.rb, line 20
def parameter_example
  @descriptor[:example] 
end