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