Class/Module Index [+]

Quicksearch

Grape::DSL::Parameters

Public Instance Methods

at_least_one_of(*attrs) click to toggle source
# File lib/grape/dsl/parameters.rb, line 56
def at_least_one_of(*attrs)
  validates(attrs, at_least_one_of: true)
end
exactly_one_of(*attrs) click to toggle source
# File lib/grape/dsl/parameters.rb, line 52
def exactly_one_of(*attrs)
  validates(attrs, exactly_one_of: true)
end
group(*attrs, &block) click to toggle source
# File lib/grape/dsl/parameters.rb, line 60
def group(*attrs, &block)
  requires(*attrs, &block)
end
includes(*names) click to toggle source
Alias for: use
mutually_exclusive(*attrs) click to toggle source
# File lib/grape/dsl/parameters.rb, line 48
def mutually_exclusive(*attrs)
  validates(attrs, mutual_exclusion: true)
end
optional(*attrs, &block) click to toggle source
# File lib/grape/dsl/parameters.rb, line 36
def optional(*attrs, &block)
  orig_attrs = attrs

  validations = {}
  validations.merge!(attrs.pop) if attrs.last.is_a?(Hash)
  validations[:type] ||= Array if block_given?
  validates(attrs, validations)

  block_given? ? new_scope(orig_attrs, true, &block) :
      push_declared_params(attrs)
end
params(params) click to toggle source
# File lib/grape/dsl/parameters.rb, line 64
def params(params)
  params = @parent.params(params) if @parent
  if @element
    if params.is_a?(Array)
      params = params.flat_map { |el| el[@element] || {} }
    elsif params.is_a?(Hash)
      params = params[@element] || {}
    else
      params = {}
    end
  end
  params
end
requires(*attrs, &block) click to toggle source
# File lib/grape/dsl/parameters.rb, line 21
def requires(*attrs, &block)
  orig_attrs = attrs.clone

  opts = attrs.last.is_a?(Hash) ? attrs.pop : nil

  if opts && opts[:using]
    require_required_and_optional_fields(attrs.first, opts)
  else
    validate_attributes(attrs, opts, &block)

    block_given? ? new_scope(orig_attrs, &block) :
        push_declared_params(attrs)
  end
end
use(*names) click to toggle source
# File lib/grape/dsl/parameters.rb, line 8
def use(*names)
  named_params = @api.settings[:named_params] || {}
  options = names.last.is_a?(Hash) ? names.pop : {}
  names.each do |name|
    params_block = named_params.fetch(name) do
      raise "Params :#{name} not found!"
    end
    instance_exec(options, &params_block)
  end
end
Also aliased as: use_scope, includes
use_scope(*names) click to toggle source
Alias for: use

[Validate]

Generated with the Darkfish Rdoc Generator 2.