class Stattleship::Params::QueryParams

Attributes

page[RW]
per_page[RW]
season_id[RW]

Public Instance Methods

params() click to toggle source
# File lib/stattleship/params/query_params.rb, line 6
def params
  {
    'page' => page,
    'per_page' => per_page,
    'season_id' => season_id,
  }
end
query() click to toggle source
# File lib/stattleship/params/query_params.rb, line 14
def query
  { 'query' => validate }
end
validate() click to toggle source
# File lib/stattleship/params/query_params.rb, line 18
def validate
  query_parameters.keys.each do |key|
    validator(key).new(key: key,
                       params: query_parameters,
                       class_name: self.class.name).
      validate
  end

  query_parameters
end

Private Instance Methods

blank?(value) click to toggle source
# File lib/stattleship/params/query_params.rb, line 35
def blank?(value)
  value.to_s.strip == ''
end
present?(value) click to toggle source
# File lib/stattleship/params/query_params.rb, line 39
def present?(value)
  !blank?(value)
end
query_parameters() click to toggle source
# File lib/stattleship/params/query_params.rb, line 31
def query_parameters
  params.delete_if { |_key, value| blank?(value) }
end
validator(key) click to toggle source
# File lib/stattleship/params/query_params.rb, line 43
def validator(key)
  validator_klass = "#{key.split('_').map(&:capitalize).join}Validator"
  klass = "Stattleship::Validators::#{validator_klass}"
  Kernel.const_get(klass)
end