class Universities::Request

Constants

BASE_URL

Public Class Methods

new(country: nil, name: nil) click to toggle source
# File lib/universities/request.rb, line 10
def initialize(country: nil, name: nil)
  @country = country
  @name = name
end

Public Instance Methods

by_country(word)
Alias for: country
by_name(word)
Alias for: name
country(word) click to toggle source
# File lib/universities/request.rb, line 22
def country(word)
  dup_and_update(country: word)
end
Also aliased as: by_country
fetch() click to toggle source
# File lib/universities/request.rb, line 15
def fetch
  response = HTTParty.get(BASE_URL, query: params)
  response.parsed_response.map do |hash|
    Entity.build(hash)
  end
end
name(word) click to toggle source
# File lib/universities/request.rb, line 28
def name(word)
  dup_and_update(name: word)
end
Also aliased as: by_name

Private Instance Methods

country_params() click to toggle source
# File lib/universities/request.rb, line 45
def country_params
  sanitize_string(@country) if @country
end
name_params() click to toggle source
# File lib/universities/request.rb, line 49
def name_params
  sanitize_string(@name) if @name
end
params() click to toggle source
# File lib/universities/request.rb, line 38
def params
  hash = {}
  hash[:country] = country_params if @country
  hash[:name] = name_params if @name
  hash
end
sanitize_string(string) click to toggle source
# File lib/universities/request.rb, line 53
def sanitize_string(string)
  string.gsub(/\s+/, '+')
end