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
- LEGAL
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