class SteamStoreParser::BaseClient

Constants

BASE_URL
GAMES_ONLY

Public Class Methods

new(params) click to toggle source
# File lib/steam-store-parser/base-client.rb, line 7
def initialize(params)
  raise ArgumentError unless params.is_a? Hash
  @url = build_url(params)
end

Public Instance Methods

home_page() click to toggle source

@return [String] the HTML source of the page

# File lib/steam-store-parser/base-client.rb, line 18
def home_page
  page(1)
end
page(page) click to toggle source

@return [String] Webpage

# File lib/steam-store-parser/base-client.rb, line 13
def page(page)
  RestClient.get "#{@url}&page=#{page}"
end

Private Instance Methods

build_url(params) click to toggle source
# File lib/steam-store-parser/base-client.rb, line 23
def build_url(params)
  url = "#{BASE_URL}"
  params.each { |key, value| params[key] = [value] unless value.is_a? Array }

  if params.has_key? :tags
    tags = params[:tags].map! {|tag| Parameters::TAGS.fetch(tag)}
    url << "tags=#{tags.join(',')}&"
  end
  if params.has_key? :os
    os = params[:os].map! {|os| Parameters::OS.fetch(os)}
    url << "os=#{os.join(',')}&"
  end
  if params.has_key? :player_amount
    player_amount = params[:player_amount].map! {|pa| Parameters::PLAYER_AMOUNT.fetch(pa)}
    url << "category3=#{player_amount.join(',')}"
  end

  url << GAMES_ONLY

  url
end