class Bio::BaseSpace::QueryParameters

The QueryParameters class can be passed as an optional arguments for a specific sorting of list-responses (such as lists of Sample, AppResult, or Variant).

Constants

not very strict parameters testing

Attributes

passed[RW]
required[RW]

Public Class Methods

new(pars = {}, required = ['SortBy', 'Offset', 'Limit', 'SortDir']) click to toggle source

Create a new QueryParameters instance.

pars

Query parameters.

required

List of required query parameters.

# File lib/basespace/model/query_parameters.rb, line 41
def initialize(pars = {}, required = ['SortBy', 'Offset', 'Limit', 'SortDir'])
  @passed = {
    'SortBy'  => 'Id',
    'Offset'  => '0',    # [TODO] .to_i?
    'Limit'   => '100',  # [TODO] .to_i?
    'SortDir' => 'Asc',
  }
  pars.each do |k, v|
    @passed[k] = v
  end
  @required = required
end

Public Instance Methods

get_parameter_dict() click to toggle source

Returns all query parameters.

# File lib/basespace/model/query_parameters.rb, line 65
def get_parameter_dict
  return @passed
end
to_s() click to toggle source

Returns a string representation of all query parameters contained in the object.

# File lib/basespace/model/query_parameters.rb, line 55
def to_s
  return @passed.to_s
end
to_str() click to toggle source

Returns a debugging string representation of the object.

# File lib/basespace/model/query_parameters.rb, line 60
def to_str
  return self.inspect
end
validate() click to toggle source

Check the validity of all query parameters.

Throws UndefinedParameterError if a required parameters is not present.

# File lib/basespace/model/query_parameters.rb, line 72
def validate
  @required.each do |p|
    raise UndefinedParameterError.new(p) unless @passed[p]
  end
  @passed.each do |p, v|
    raise UnknownParameterError.new(p) unless LEGAL[p]
    raise IllegalParameterError.new(p, LEGAL[p]) if (LEGAL[p].length > 0 and ! LEGAL[p].include?(@passed[p]))
  end
end