Class: SportsSouth::Image

Inherits:
Base
  • Object
show all
Defined in:
lib/sports_south/image.rb

Constant Summary collapse

API_URL =
'http://webservices.theshootingwarehouse.com/smart/images.asmx'

Constants inherited from Base

Base::TIMEOUT, Base::USER_AGENT

Class Method Summary collapse

Class Method Details

.urls(item_number, options = {}) ⇒ Object



6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
# File 'lib/sports_south/image.rb', line 6

def self.urls(item_number, options = {})
  requires!(options, :username, :password, :source, :customer_number)

  http, request = get_http_and_request(API_URL, '/GetPictureURLs')

  request.set_form_data(form_params(options).merge({
    ItemNumber: item_number
  }))

  response = http.request(request)
  body = sanitize_response(response)
  xml_doc = Nokogiri::XML(body)

  raise SportsSouth::NotAuthenticated if not_authenticated?(xml_doc)

  images = {}

  xml_doc.css('Table').each do |image|
    size = content_for(image, 'ImageSize').to_sym
    images[size] = content_for(image, 'Link')
  end

  images
end