Class: LocateStore

Inherits:
Object
  • Object
show all
Defined in:
lib/locateStore.rb

Class Method Summary collapse

Class Method Details

.find(string, number) ⇒ Object



9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
# File 'lib/locateStore.rb', line 9

def self.find(string, number)

  uri = URI('https://dev.tescolabs.com/locations/search')
  query = URI.encode_www_form({
                                  # Request parameters

                                  'offset' => '0',
                                  'limit' => '10',
                                  'sort' => "near:#{string}",
                              })


  array = Array.new


  if uri.query && uri.query.length > 0
    uri.query += '&' + query
  else
    uri.query = query
  end

  request = Net::HTTP::Get.new(uri.request_uri)
# Request headers

  request['Ocp-Apim-Subscription-Key'] = '6e75f710286740aa8fbdb7bebef04143'
# Request body

  request.body = "{body}"

  #puts uri


  response = Net::HTTP.start(uri.host, uri.port, :use_ssl => uri.scheme == 'https') do |http|
    http.request(request)
  end

  tesco_branches = JSON.parse(response.body);

   i = 0
  loop do

    output = Hash.new
    #branch = Array.new(i){Array.new(j)}


    #puts branch_name = (tesco_branches['results'][i]['location']['name'])


    output["name"] =(tesco_branches['results'][i]['location']['name'])
    output["phone"] = (tesco_branches['results'][i]['location']['contact']['phoneNumbers'][0]['number'])
    output["latitude"] = (tesco_branches['results'][i]['location']['geo']['coordinates']['latitude'])
    output["longitude"] = (tesco_branches['results'][i]['location']['geo']['coordinates']['longitude'])
    output["mon_open"] =(tesco_branches['results'][i]['location']['openingHours'][0]['standardOpeningHours']['mo']['open'])
    output["mon_close"] =(tesco_branches['results'][i]['location']['openingHours'][0]['standardOpeningHours']['mo']['close'])
    output["tues_open"] =(tesco_branches['results'][i]['location']['openingHours'][0]['standardOpeningHours']['tu']['open'])
    output["tues_close"] =(tesco_branches['results'][i]['location']['openingHours'][0]['standardOpeningHours']['tu']['close'])
    output["wed_open"] =(tesco_branches['results'][i]['location']['openingHours'][0]['standardOpeningHours']['we']['open'])
    output["wed_close"] =(tesco_branches['results'][i]['location']['openingHours'][0]['standardOpeningHours']['we']['close'])
    output["thurs_open"] =(tesco_branches['results'][i]['location']['openingHours'][0]['standardOpeningHours']['th']['open'])
    output["thurs_close"] =(tesco_branches['results'][i]['location']['openingHours'][0]['standardOpeningHours']['th']['close'])
    output["fri_open"] =(tesco_branches['results'][i]['location']['openingHours'][0]['standardOpeningHours']['fr']['open'])
    output["fri_close"] =(tesco_branches['results'][i]['location']['openingHours'][0]['standardOpeningHours']['fr']['close'])
    output["sat_open"] =(tesco_branches['results'][i]['location']['openingHours'][0]['standardOpeningHours']['sa']['open'])
    output["sat_close"] =(tesco_branches['results'][i]['location']['openingHours'][0]['standardOpeningHours']['sa']['close'])
    output["sun_open"] =(tesco_branches['results'][i]['location']['openingHours'][0]['standardOpeningHours']['su']['open'])
    output["sun_close"] =(tesco_branches['results'][i]['location']['openingHours'][0]['standardOpeningHours']['su']['close'])
    output["door_number"] = (tesco_branches['results'][i]['location']['contact']['address']['lines'][0]['lineNumber'])
    output["address"] = (tesco_branches['results'][i]['location']['contact']['address']['lines'][0]['text'])
    output["town"] = (tesco_branches['results'][i]['location']['contact']['address']['town'])
    output["postcode"] = (tesco_branches['results'][i]['location']['contact']['address']['postcode'])
    output["distance"] = (tesco_branches['results'][i]['distanceFrom']['value'])



    #puts output["name"]

    array.push(output)


    i += 1

    if i == number
      break       # this will cause execution to exit the loop

    end

  end

  #puts array[0]["name"]

  #puts array[1]["name"]

  #puts array[2]["name"]

  #puts array[3]["name"]




  return array

end