streetfoodr 0.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (3) hide show
  1. checksums.yaml +7 -0
  2. data/lib/streetfoodr.rb +62 -0
  3. metadata +144 -0
checksums.yaml ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: 613a4aeff572ff4e20f6435a02400bff712a2d3b
4
+ data.tar.gz: 98b0b6cc7d2cc5d62016d987695ff73f535792b4
5
+ SHA512:
6
+ metadata.gz: 44389dc8e7be2aabaed21ee65d3610ef93abb7a7749f3aaf423482b54dcd42b06fac1b39bb18487a8ae0d0c73833cc826ef40bf37a29c125ec06220b05e0c102
7
+ data.tar.gz: b13918d4651f444763d7ce307e657959d4aa8a030d44f19675ba3166420b242aec0fc776367e329bd4ae00689f35f41ae9c8935855bb450bc958fcffb98dc2da
@@ -0,0 +1,62 @@
1
+ require 'rest-client'
2
+
3
+ class FoodTruck
4
+ API_ROOT_URL = 'http://data.streetfoodapp.com/1.1/'
5
+
6
+ def self.get_city_trucks(city)
7
+ response = RestClient.get(API_ROOT_URL + "schedule/" + city)
8
+ JSON.parse(response)
9
+ end
10
+
11
+ def self.get_city_trucks_identifiers(city)
12
+ raw_data = self.get_city_trucks(city)
13
+
14
+ identifier_name_pairs = Array.new
15
+
16
+ raw_data['vendors'].map do |truck|
17
+ truck_info = Hash[identifier: truck[0], name: truck[1]["name"]]
18
+
19
+ identifier_name_pairs << truck_info
20
+ end
21
+
22
+ return identifier_name_pairs
23
+ end
24
+
25
+ def self.get_api_identifier_by_name(name, city)
26
+
27
+ truck_info = self.get_city_trucks_identifiers(city)
28
+ .find { |truck_info| truck_info[:name] == name}
29
+
30
+ if truck_info == nil
31
+ raise ArgumentError, "A truck with that name in that city could not be found." +
32
+ " Keep in mind that the name must be exact."
33
+ end
34
+
35
+ return truck_info
36
+ end
37
+
38
+ def initialize(foodtruck_identifier, city)
39
+ @identifier = foodtruck_identifier
40
+ @city = city
41
+ end
42
+
43
+ def locations
44
+ response = RestClient.get(API_ROOT_URL + "locations/" + @identifier)
45
+ begin
46
+ JSON.parse(response)
47
+ rescue JSON::ParserError => ex
48
+ raise ArgumentError, "This food truck identifier does not exist"
49
+ end
50
+ end
51
+
52
+ def history(year, month)
53
+ response = RestClient.get(API_ROOT_URL + "history/" + @city + "/" +
54
+ year + "/" + month + "/" + @identifier)
55
+ begin
56
+ JSON.parse(response)
57
+ rescue JSON::ParserError => ex
58
+ raise ArgumentError, "Either this food truck identifier does not exist," +
59
+ " or there is no history for it available during the period you have chosen."
60
+ end
61
+ end
62
+ end
metadata ADDED
@@ -0,0 +1,144 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: streetfoodr
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.0.0
5
+ platform: ruby
6
+ authors:
7
+ - Alla Hoffman
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+ date: 2015-01-11 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: rest-client
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - "~>"
18
+ - !ruby/object:Gem::Version
19
+ version: '1.7'
20
+ - - ">="
21
+ - !ruby/object:Gem::Version
22
+ version: 1.7.2
23
+ type: :runtime
24
+ prerelease: false
25
+ version_requirements: !ruby/object:Gem::Requirement
26
+ requirements:
27
+ - - "~>"
28
+ - !ruby/object:Gem::Version
29
+ version: '1.7'
30
+ - - ">="
31
+ - !ruby/object:Gem::Version
32
+ version: 1.7.2
33
+ - !ruby/object:Gem::Dependency
34
+ name: pry
35
+ requirement: !ruby/object:Gem::Requirement
36
+ requirements:
37
+ - - "~>"
38
+ - !ruby/object:Gem::Version
39
+ version: '0.10'
40
+ - - ">="
41
+ - !ruby/object:Gem::Version
42
+ version: 0.10.1
43
+ type: :development
44
+ prerelease: false
45
+ version_requirements: !ruby/object:Gem::Requirement
46
+ requirements:
47
+ - - "~>"
48
+ - !ruby/object:Gem::Version
49
+ version: '0.10'
50
+ - - ">="
51
+ - !ruby/object:Gem::Version
52
+ version: 0.10.1
53
+ - !ruby/object:Gem::Dependency
54
+ name: rspec
55
+ requirement: !ruby/object:Gem::Requirement
56
+ requirements:
57
+ - - "~>"
58
+ - !ruby/object:Gem::Version
59
+ version: '3.1'
60
+ - - ">="
61
+ - !ruby/object:Gem::Version
62
+ version: 3.1.0
63
+ type: :development
64
+ prerelease: false
65
+ version_requirements: !ruby/object:Gem::Requirement
66
+ requirements:
67
+ - - "~>"
68
+ - !ruby/object:Gem::Version
69
+ version: '3.1'
70
+ - - ">="
71
+ - !ruby/object:Gem::Version
72
+ version: 3.1.0
73
+ - !ruby/object:Gem::Dependency
74
+ name: vcr
75
+ requirement: !ruby/object:Gem::Requirement
76
+ requirements:
77
+ - - "~>"
78
+ - !ruby/object:Gem::Version
79
+ version: '2.9'
80
+ - - ">="
81
+ - !ruby/object:Gem::Version
82
+ version: 2.9.3
83
+ type: :development
84
+ prerelease: false
85
+ version_requirements: !ruby/object:Gem::Requirement
86
+ requirements:
87
+ - - "~>"
88
+ - !ruby/object:Gem::Version
89
+ version: '2.9'
90
+ - - ">="
91
+ - !ruby/object:Gem::Version
92
+ version: 2.9.3
93
+ - !ruby/object:Gem::Dependency
94
+ name: webmock
95
+ requirement: !ruby/object:Gem::Requirement
96
+ requirements:
97
+ - - "~>"
98
+ - !ruby/object:Gem::Version
99
+ version: '1.20'
100
+ - - ">="
101
+ - !ruby/object:Gem::Version
102
+ version: 1.20.4
103
+ type: :development
104
+ prerelease: false
105
+ version_requirements: !ruby/object:Gem::Requirement
106
+ requirements:
107
+ - - "~>"
108
+ - !ruby/object:Gem::Version
109
+ version: '1.20'
110
+ - - ">="
111
+ - !ruby/object:Gem::Version
112
+ version: 1.20.4
113
+ description: Wrapped for the Street Food App API
114
+ email: sm1th303@gmail.com
115
+ executables: []
116
+ extensions: []
117
+ extra_rdoc_files: []
118
+ files:
119
+ - lib/streetfoodr.rb
120
+ homepage: http://rubygems.org/gems/streetfoodr
121
+ licenses:
122
+ - MIT
123
+ metadata: {}
124
+ post_install_message:
125
+ rdoc_options: []
126
+ require_paths:
127
+ - lib
128
+ required_ruby_version: !ruby/object:Gem::Requirement
129
+ requirements:
130
+ - - ">="
131
+ - !ruby/object:Gem::Version
132
+ version: '0'
133
+ required_rubygems_version: !ruby/object:Gem::Requirement
134
+ requirements:
135
+ - - ">="
136
+ - !ruby/object:Gem::Version
137
+ version: '0'
138
+ requirements: []
139
+ rubyforge_project:
140
+ rubygems_version: 2.2.2
141
+ signing_key:
142
+ specification_version: 4
143
+ summary: Streetfoodapp API
144
+ test_files: []