whiz_client 1.0.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +15 -0
- data/.gitignore +25 -0
- data/Gemfile +4 -0
- data/Gemfile.lock +43 -0
- data/LICENSE.txt +22 -0
- data/README.md +95 -0
- data/Rakefile +1 -0
- data/lib/whiz_client.rb +89 -0
- data/lib/whiz_client/client.rb +60 -0
- data/lib/whiz_client/version.rb +3 -0
- data/spec/.DS_Store +0 -0
- data/spec/fixtures/valid_responses/city +1 -0
- data/spec/fixtures/valid_responses/states +1 -0
- data/spec/fixtures/valid_responses/time_zones +1 -0
- data/spec/lib/whiz_client_geo_spec.rb +43 -0
- data/spec/lib/whiz_client_india_spec.rb +91 -0
- data/spec/spec_helper.rb +25 -0
- data/spec/support/request_helper.rb +17 -0
- data/whiz_client.gemspec +30 -0
- metadata +155 -0
checksums.yaml
ADDED
@@ -0,0 +1,15 @@
|
|
1
|
+
---
|
2
|
+
!binary "U0hBMQ==":
|
3
|
+
metadata.gz: !binary |-
|
4
|
+
NTFjZjMzMzRjMWVlNWMyYTM2Y2JiOTJkZTU4M2UxYWQ5Mzc0MWQ5Mw==
|
5
|
+
data.tar.gz: !binary |-
|
6
|
+
MGZlOWJiM2NkMGZmMTRjNTYzMWNjNTliODc3NmU0MDM3MjY2ZGZjOQ==
|
7
|
+
SHA512:
|
8
|
+
metadata.gz: !binary |-
|
9
|
+
OTQ1Mzc0YTU5MjE3MDY5NThhNWU1ZGRjYzhiZTRjMGJkMGZhMjAxODY2MzE0
|
10
|
+
ZDhhY2M5ZjdhMWYwYmI4M2FjNzc3NDY1NjUwZGYzNDQyNjkyMDRkN2QzYWU4
|
11
|
+
OTY0Y2Y1NDVlYTAwMzEyZDNhY2FmNjA0ZDY4MjQ0ODhmN2RlZDI=
|
12
|
+
data.tar.gz: !binary |-
|
13
|
+
ODZhMmMyMzBmOGY5ZTdkYzY3NGU0YjUwZmEzNmYzMTFhY2ViNGQ1OWYxN2E1
|
14
|
+
YzQyZDYzYTczZTIzOGJkM2Y1NGUxNWQxMDlhMDllMzM2M2I1OTdkMjgxZTc2
|
15
|
+
MjVhMDZhZDZiNzVlYTkxODZlMmNmMGRlNDA5ZTY0Yjg0OTkyYjc=
|
data/.gitignore
ADDED
@@ -0,0 +1,25 @@
|
|
1
|
+
## MAC OS
|
2
|
+
.DS_Store
|
3
|
+
## TEXTMATE
|
4
|
+
*.tmproj
|
5
|
+
## netbeans
|
6
|
+
nbproject
|
7
|
+
tmtags
|
8
|
+
## EMACS
|
9
|
+
*~
|
10
|
+
\#*
|
11
|
+
.\#*
|
12
|
+
## VIM
|
13
|
+
*.swp
|
14
|
+
## PROJECT::GENERAL
|
15
|
+
pkg
|
16
|
+
doc
|
17
|
+
.yardoc
|
18
|
+
*.gem
|
19
|
+
Gemfile.lock
|
20
|
+
.bundle
|
21
|
+
vendor/ruby
|
22
|
+
## PROJECT::SPECIFIC
|
23
|
+
.rbenv-version
|
24
|
+
.rbx
|
25
|
+
.ruby-version
|
data/Gemfile
ADDED
data/Gemfile.lock
ADDED
@@ -0,0 +1,43 @@
|
|
1
|
+
PATH
|
2
|
+
remote: .
|
3
|
+
specs:
|
4
|
+
whiz_client (1.0.0)
|
5
|
+
json (>= 1.8.1)
|
6
|
+
rest-client (>= 1.7.2)
|
7
|
+
|
8
|
+
GEM
|
9
|
+
remote: https://rubygems.org/
|
10
|
+
specs:
|
11
|
+
addressable (2.3.6)
|
12
|
+
crack (0.4.2)
|
13
|
+
safe_yaml (~> 1.0.0)
|
14
|
+
diff-lcs (1.2.5)
|
15
|
+
json (1.8.1)
|
16
|
+
mime-types (2.4.3)
|
17
|
+
netrc (0.8.0)
|
18
|
+
rake (10.3.2)
|
19
|
+
rest-client (1.7.2)
|
20
|
+
mime-types (>= 1.16, < 3.0)
|
21
|
+
netrc (~> 0.7)
|
22
|
+
rspec (2.13.0)
|
23
|
+
rspec-core (~> 2.13.0)
|
24
|
+
rspec-expectations (~> 2.13.0)
|
25
|
+
rspec-mocks (~> 2.13.0)
|
26
|
+
rspec-core (2.13.1)
|
27
|
+
rspec-expectations (2.13.0)
|
28
|
+
diff-lcs (>= 1.1.3, < 2.0)
|
29
|
+
rspec-mocks (2.13.1)
|
30
|
+
safe_yaml (1.0.4)
|
31
|
+
webmock (1.16.1)
|
32
|
+
addressable (>= 2.2.7)
|
33
|
+
crack (>= 0.3.2)
|
34
|
+
|
35
|
+
PLATFORMS
|
36
|
+
ruby
|
37
|
+
|
38
|
+
DEPENDENCIES
|
39
|
+
bundler (~> 1.5)
|
40
|
+
rake
|
41
|
+
rspec (~> 2.13.0)
|
42
|
+
webmock (= 1.16.1)
|
43
|
+
whiz_client!
|
data/LICENSE.txt
ADDED
@@ -0,0 +1,22 @@
|
|
1
|
+
Copyright (c) 2014 Chiranjib Roy
|
2
|
+
|
3
|
+
MIT License
|
4
|
+
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining
|
6
|
+
a copy of this software and associated documentation files (the
|
7
|
+
"Software"), to deal in the Software without restriction, including
|
8
|
+
without limitation the rights to use, copy, modify, merge, publish,
|
9
|
+
distribute, sublicense, and/or sell copies of the Software, and to
|
10
|
+
permit persons to whom the Software is furnished to do so, subject to
|
11
|
+
the following conditions:
|
12
|
+
|
13
|
+
The above copyright notice and this permission notice shall be
|
14
|
+
included in all copies or substantial portions of the Software.
|
15
|
+
|
16
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
17
|
+
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
18
|
+
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
19
|
+
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
|
20
|
+
LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
|
21
|
+
OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
|
22
|
+
WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
data/README.md
ADDED
@@ -0,0 +1,95 @@
|
|
1
|
+
# WhizClient
|
2
|
+
|
3
|
+
A wrapper ruby library to access WhizApi. Get your api key from www.whizapi.com.
|
4
|
+
|
5
|
+
Using this library one can access following services...
|
6
|
+
|
7
|
+
Get the list of major cities of a state in India.
|
8
|
+
Get list of States and Union Territories of India.
|
9
|
+
Get city/area from the STD code in India.
|
10
|
+
Get STD dialing code for any location in India.
|
11
|
+
Get address, City, Locality by pin code in India.
|
12
|
+
Get pin code of any address, city, locality in India.
|
13
|
+
Get list of all time zones in the world.
|
14
|
+
Get current time of a particular time zone.
|
15
|
+
|
16
|
+
## Supported versions
|
17
|
+
|
18
|
+
Ruby 1.9.2, 1.9.3, 2.0.0, 2.1.x
|
19
|
+
|
20
|
+
## Installation
|
21
|
+
|
22
|
+
Add this line to your application's Gemfile:
|
23
|
+
|
24
|
+
gem 'whiz_client'
|
25
|
+
|
26
|
+
And then execute:
|
27
|
+
|
28
|
+
$ bundle
|
29
|
+
|
30
|
+
Or install it yourself as:
|
31
|
+
|
32
|
+
$ gem install whiz_client
|
33
|
+
|
34
|
+
## Usage
|
35
|
+
|
36
|
+
Add following code to your environment file
|
37
|
+
|
38
|
+
WhizClient::Client::APP_KEY = '<your api key>' # Get your api key from www.whizapi.com
|
39
|
+
|
40
|
+
Get list of States and Union Territories of India.
|
41
|
+
|
42
|
+
WhizClient::India.list_all_states
|
43
|
+
|
44
|
+
Get the list of major cities of a state in India.
|
45
|
+
|
46
|
+
WhizClient::India.find_city_by_state(<state-id>)
|
47
|
+
|
48
|
+
Get city/area from the STD code in India.
|
49
|
+
|
50
|
+
WhizClient::India.find_city_by_std_codes(<STD-CODE>)
|
51
|
+
|
52
|
+
Get STD dialing code for any location in India.
|
53
|
+
|
54
|
+
WhizClient::India.find_std_codes_by_location(<city-name>)
|
55
|
+
|
56
|
+
Get address, City, Locality by pin code in India.
|
57
|
+
|
58
|
+
WhizClient::India.find_city_by_postal_code(<pin code>)
|
59
|
+
|
60
|
+
Get pin code of any address, city, locality in India.
|
61
|
+
|
62
|
+
WhizClient::India.find_postal_code_by_location(<location>)
|
63
|
+
|
64
|
+
Get list of all time zones in the world.
|
65
|
+
|
66
|
+
WhizClient::Geo.time_zones
|
67
|
+
|
68
|
+
Get current time of a particular time zone.
|
69
|
+
|
70
|
+
WhizClient::Geo.current_time_of_timezone(<time zone>)
|
71
|
+
|
72
|
+
|
73
|
+
## Error handaling
|
74
|
+
|
75
|
+
begin
|
76
|
+
WhizClient::India.list_all_states
|
77
|
+
rescue WhizClient::WhizResponseError => e
|
78
|
+
puts e.error_message
|
79
|
+
end
|
80
|
+
|
81
|
+
WhizClient::Client::APP_KEY is not defined
|
82
|
+
|
83
|
+
## Contributing
|
84
|
+
|
85
|
+
1. Fork it ( http://github.com/<my-github-username>/whiz_client/fork )
|
86
|
+
2. Create your feature branch (`git checkout -b my-new-feature`)
|
87
|
+
3. Run $ rspec.
|
88
|
+
4. Commit your changes (`git commit -am 'Add some feature'`)
|
89
|
+
5. Push to the branch (`git push origin my-new-feature`)
|
90
|
+
6. Create new Pull Request
|
91
|
+
|
92
|
+
|
93
|
+
## License
|
94
|
+
|
95
|
+
WhizClient is Copyright (c) 2014 Chiranjib Roy. It is free software, and may be redistributed under the terms specified in the MIT-LICENSE file.
|
data/Rakefile
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
require "bundler/gem_tasks"
|
data/lib/whiz_client.rb
ADDED
@@ -0,0 +1,89 @@
|
|
1
|
+
require 'json'
|
2
|
+
require "whiz_client/version"
|
3
|
+
require "whiz_client/client"
|
4
|
+
|
5
|
+
module WhizClient
|
6
|
+
class WhizBase
|
7
|
+
class << self
|
8
|
+
def parse(response)
|
9
|
+
response_hash = JSON.parse(response)
|
10
|
+
response_hash['Data']
|
11
|
+
end
|
12
|
+
|
13
|
+
def request_params(params)
|
14
|
+
raise NotImplementedError
|
15
|
+
end
|
16
|
+
end
|
17
|
+
end
|
18
|
+
|
19
|
+
class India < WhizBase
|
20
|
+
|
21
|
+
class << self
|
22
|
+
|
23
|
+
def list_all_states
|
24
|
+
response = Client.request(request_params(method_name: 'indian-states-list'))
|
25
|
+
parse(response)
|
26
|
+
end
|
27
|
+
|
28
|
+
def find_city_by_state(stateid)
|
29
|
+
response = Client.request(request_params(stateid: stateid, method_name: 'indian-city-by-state'))
|
30
|
+
parse(response).map {|hash| hash['city'] }
|
31
|
+
end
|
32
|
+
|
33
|
+
def find_city_by_std_codes(std_code)
|
34
|
+
response = Client.request(request_params(std_code: std_code, method_name: 'city-from-std-codes'))
|
35
|
+
parse(response)
|
36
|
+
end
|
37
|
+
|
38
|
+
def find_std_codes_by_location(location)
|
39
|
+
response = Client.request(request_params(location: location, method_name: 'indian-std-codes'))
|
40
|
+
parse(response)
|
41
|
+
end
|
42
|
+
|
43
|
+
def find_city_by_postal_code(postal_code)
|
44
|
+
response = Client.request(request_params(postal_code: postal_code, method_name: 'indian-city-by-postal-code'))
|
45
|
+
parse(response)
|
46
|
+
end
|
47
|
+
|
48
|
+
def find_postal_code_by_location(location)
|
49
|
+
response = Client.request(request_params(location: location, method_name: 'indian-postal-codes'))
|
50
|
+
parse(response)
|
51
|
+
end
|
52
|
+
|
53
|
+
def self.method_missing(method_sym, *arguments, &block)
|
54
|
+
puts method_sym
|
55
|
+
puts arguments
|
56
|
+
end
|
57
|
+
|
58
|
+
private
|
59
|
+
|
60
|
+
def request_params(params)
|
61
|
+
{ api_type: 'indian' }.merge(params)
|
62
|
+
end
|
63
|
+
end
|
64
|
+
end
|
65
|
+
|
66
|
+
class Geo < WhizBase
|
67
|
+
class << self
|
68
|
+
|
69
|
+
def time_zones
|
70
|
+
response = Client.request(request_params(method_name: 'time-zones'))
|
71
|
+
parse(response).map { |hash| hash.values }.flatten
|
72
|
+
end
|
73
|
+
|
74
|
+
def current_time_of_timezone(time_zone)
|
75
|
+
response = Client.request(request_params(method_name: 'current-time-of-timezone', time_zone: time_zone ))
|
76
|
+
parse(response)
|
77
|
+
end
|
78
|
+
|
79
|
+
private
|
80
|
+
|
81
|
+
def request_params(params)
|
82
|
+
{ api_type: 'geo' }.merge(params)
|
83
|
+
end
|
84
|
+
|
85
|
+
end
|
86
|
+
|
87
|
+
end
|
88
|
+
|
89
|
+
end
|
@@ -0,0 +1,60 @@
|
|
1
|
+
require 'rest_client'
|
2
|
+
|
3
|
+
module WhizClient
|
4
|
+
|
5
|
+
class WhizResponseError < StandardError
|
6
|
+
attr_reader :error_message, :error_code
|
7
|
+
|
8
|
+
def initialize(error_message, error_code)
|
9
|
+
@error_message = error_message
|
10
|
+
@error_code = error_code
|
11
|
+
end
|
12
|
+
end
|
13
|
+
|
14
|
+
class Client
|
15
|
+
|
16
|
+
INDIAN_API_URL = 'https://www.whizapi.com/api/v2/util/ui/in/'
|
17
|
+
GEO_API_URL = 'https://www.WhizAPI.com/api/v2/geo/time/ui/'
|
18
|
+
|
19
|
+
class << self
|
20
|
+
|
21
|
+
def request(params)
|
22
|
+
request_type = params[:api_type]
|
23
|
+
url = case request_type
|
24
|
+
when 'indian' then construct_indian_api_url(params)
|
25
|
+
when 'geo' then construct_geo_api_url(params)
|
26
|
+
end
|
27
|
+
|
28
|
+
begin
|
29
|
+
RestClient.get URI.encode(url)
|
30
|
+
rescue URI::InvalidURIError
|
31
|
+
raise WhizResponseError.new('Invalid Url', 500)
|
32
|
+
rescue => error
|
33
|
+
raise WhizResponseError.new("Error: #{error.message}", 500)
|
34
|
+
end
|
35
|
+
end
|
36
|
+
|
37
|
+
private
|
38
|
+
|
39
|
+
def construct_indian_api_url(params)
|
40
|
+
raise WhizResponseError.new('WhizClient::Client::APP_KEY is not defined', 500) unless defined? APP_KEY
|
41
|
+
|
42
|
+
url = "#{INDIAN_API_URL}#{params[:method_name]}?AppKey=#{APP_KEY}"
|
43
|
+
url += "&stateid=#{params[:stateid]}" if params.has_key? :stateid
|
44
|
+
url += "&code=#{params[:std_code]}" if params.has_key? :std_code
|
45
|
+
url += "&search=#{params[:location]}" if params.has_key? :location
|
46
|
+
url += "&pin=#{params[:postal_code]}" if params.has_key? :postal_code
|
47
|
+
url
|
48
|
+
end
|
49
|
+
|
50
|
+
def construct_geo_api_url(params)
|
51
|
+
raise WhizResponseError.new('WhizClient::Client::APP_KEY is not defined', 500) unless defined? APP_KEY
|
52
|
+
|
53
|
+
url = "#{GEO_API_URL}#{params[:method_name]}?AppKey=#{APP_KEY}"
|
54
|
+
url += "&zid=#{params[:time_zone]}" if params.has_key? :time_zone
|
55
|
+
url
|
56
|
+
end
|
57
|
+
|
58
|
+
end
|
59
|
+
end
|
60
|
+
end
|
data/spec/.DS_Store
ADDED
Binary file
|
@@ -0,0 +1 @@
|
|
1
|
+
{"ResponseCode":0,"ResponseMessage":"OK","ResponseDateTime":"6/24/2014 12:29:11 PM GMT","Data":[{"city":"Adoor","State":"Kerala"},{"city":"Akathiyoor","State":"Kerala"},{"city":"Alappuzha","State":"Kerala"},{"city":"Ancharakandy","State":"Kerala"},{"city":"Aroor","State":"Kerala"},{"city":"Ashtamichira","State":"Kerala"},{"city":"Attingal","State":"Kerala"},{"city":"Avinissery","State":"Kerala"},{"city":"Chalakudy","State":"Kerala"},{"city":"Changanassery","State":"Kerala"},{"city":"Chendamangalam","State":"Kerala"},{"city":"Chengannur","State":"Kerala"},{"city":"Cherthala","State":"Kerala"},{"city":"Cheruthazham","State":"Kerala"},{"city":"Chittur-Thathamangalam","State":"Kerala"},{"city":"Chockli","State":"Kerala"},{"city":"Erattupetta","State":"Kerala"},{"city":"Guruvayoor","State":"Kerala"},{"city":"Irinjalakuda","State":"Kerala"},{"city":"Idukki","State":"Kerala"},{"city":"Kadirur","State":"Kerala"},{"city":"Kalliasseri","State":"Kerala"},{"city":"Kalpetta","State":"Kerala"},{"city":"Kanhangad","State":"Kerala"},{"city":"Kanjikkuzhi","State":"Kerala"},{"city":"Kannur","State":"Kerala"},{"city":"Kasaragod","State":"Kerala"},{"city":"Kayamkulam","State":"Kerala"},{"city":"Kochi","State":"Kerala"},{"city":"Kodungallur","State":"Kerala"},{"city":"Kollam","State":"Kerala"},{"city":"Koothuparamba","State":"Kerala"},{"city":"Kothamangalam","State":"Kerala"},{"city":"Kottayam","State":"Kerala"},{"city":"Kozhikode","State":"Kerala"},{"city":"Kunnamkulam","State":"Kerala"},{"city":"Malappuram","State":"Kerala"},{"city":"Mattannur","State":"Kerala"},{"city":"Mavelikkara","State":"Kerala"},{"city":"Mavoor","State":"Kerala"},{"city":"Muvattupuzha","State":"Kerala"},{"city":"Nedumangad","State":"Kerala"},{"city":"Neyyattinkara","State":"Kerala"},{"city":"Nilambur","State":"Kerala"},{"city":"Ottappalam","State":"Kerala"},{"city":"Palai","State":"Kerala"},{"city":"Palakkad","State":"Kerala"},{"city":"Panamattom","State":"Kerala"},{"city":"Panniyannur","State":"Kerala"},{"city":"Pappinisseri","State":"Kerala"},{"city":"Paravoor","State":"Kerala"},{"city":"Pathanamthitta","State":"Kerala"},{"city":"Peringathur","State":"Kerala"},{"city":"Perinthalmanna","State":"Kerala"},{"city":"Perumbavoor","State":"Kerala"},{"city":"Ponkunnam","State":"Kerala"},{"city":"Ponnani","State":"Kerala"},{"city":"Punalur","State":"Kerala"},{"city":"Puthuppally","State":"Kerala"}]}
|
@@ -0,0 +1 @@
|
|
1
|
+
{"ResponseCode":0,"ResponseMessage":"OK","ResponseDateTime":"6/24/2014 12:24:39 PM GMT","Data":[{"ID":"1","Name":"Assam ","Type":"state"},{"ID":"2","Name":"Jammu and Kashmir","Type":"state"},{"ID":"3","Name":"Maharashtra","Type":"state"},{"ID":"4","Name":"Uttar Pradesh","Type":"state"},{"ID":"5","Name":"Gujarat","Type":"state"},{"ID":"6","Name":"Andhra Pradesh","Type":"state"},{"ID":"7","Name":"Karnataka","Type":"state"},{"ID":"8","Name":"Kerala","Type":"state"},{"ID":"9","Name":"West Bengal","Type":"state"},{"ID":"10","Name":"Tripura","Type":"state"},{"ID":"11","Name":"Chhattisgarh","Type":"state"},{"ID":"12","Name":"Punjab","Type":"state"},{"ID":"13","Name":"Mizoram","Type":"state"},{"ID":"14","Name":"Rajasthan","Type":"state"},{"ID":"15","Name":"Goa","Type":"state"},{"ID":"16","Name":"Uttarakhand","Type":"state"},{"ID":"17","Name":"Arunachal Pradesh","Type":"state"},{"ID":"18","Name":"Bihar","Type":"state"},{"ID":"19","Name":"Lakshadweep","Type":"Union Territory"},{"ID":"20","Name":"Jharkhand","Type":"state"},{"ID":"21","Name":"Dadra and Nagar Haveli","Type":"National Capital Territory"},{"ID":"22","Name":"Orissa","Type":"state"},{"ID":"23","Name":"Tamil Nadu","Type":"state"},{"ID":"24","Name":"Himachal Pradesh","Type":"state"},{"ID":"25","Name":"Haryana","Type":"state"},{"ID":"26","Name":"Madhya Pradesh","Type":"state"},{"ID":"27","Name":"Delhi","Type":"Union Territory"},{"ID":"28","Name":"Chandigarh","Type":"Union Territory"},{"ID":"29","Name":"Daman and Diu","Type":"Union Territory"},{"ID":"30","Name":"Nagaland","Type":"state"},{"ID":"31","Name":"Sikkim","Type":"state"},{"ID":"32","Name":"Manipur","Type":"state"},{"ID":"33","Name":"Meghalaya","Type":"state"},{"ID":"34","Name":"Pondicherry","Type":"Union Territory"},{"ID":"35","Name":"Jammu & Kashmir","Type":"state"},{"ID":"36","Name":"Andaman and Nicobar Islands","Type":"Union Territory"}]}
|
@@ -0,0 +1 @@
|
|
1
|
+
{"ResponseCode":0,"ResponseMessage":"OK","ResponseDateTime":"6/24/2014 12:30:33 PM GMT","Data":[ { "_TimeZone": "Dateline Standard Time" }, { "_TimeZone": "UTC-11" }, { "_TimeZone": "Hawaiian Standard Time" }, { "_TimeZone": "Alaskan Standard Time" }, { "_TimeZone": "Pacific Standard Time (Mexico)" }, { "_TimeZone": "Pacific Standard Time" }, { "_TimeZone": "US Mountain Standard Time" }, { "_TimeZone": "Mountain Standard Time (Mexico)" }, { "_TimeZone": "Mountain Standard Time" }, { "_TimeZone": "Central America Standard Time" }, { "_TimeZone": "Central Standard Time" }, { "_TimeZone": "Central Standard Time (Mexico)" }, { "_TimeZone": "Canada Central Standard Time" }, { "_TimeZone": "SA Pacific Standard Time" }, { "_TimeZone": "Eastern Standard Time" }, { "_TimeZone": "US Eastern Standard Time" }, { "_TimeZone": "Venezuela Standard Time" }, { "_TimeZone": "Paraguay Standard Time" }, { "_TimeZone": "Atlantic Standard Time" }, { "_TimeZone": "Central Brazilian Standard Time" }, { "_TimeZone": "SA Western Standard Time" }, { "_TimeZone": "Pacific SA Standard Time" }, { "_TimeZone": "Newfoundland Standard Time" }, { "_TimeZone": "E. South America Standard Time" }, { "_TimeZone": "Argentina Standard Time" }, { "_TimeZone": "SA Eastern Standard Time" }, { "_TimeZone": "Greenland Standard Time" }, { "_TimeZone": "Montevideo Standard Time" }, { "_TimeZone": "Bahia Standard Time" }, { "_TimeZone": "UTC-02" }, { "_TimeZone": "Mid-Atlantic Standard Time" }, { "_TimeZone": "Azores Standard Time" }, { "_TimeZone": "Cape Verde Standard Time" }, { "_TimeZone": "Morocco Standard Time" }, { "_TimeZone": "Coordinated Universal Time" }, { "_TimeZone": "GMT Standard Time" }, { "_TimeZone": "Greenwich Standard Time" }, { "_TimeZone": "W. Europe Standard Time" }, { "_TimeZone": "Central Europe Standard Time" }, { "_TimeZone": "Romance Standard Time" }, { "_TimeZone": "Central European Standard Time" }, { "_TimeZone": "Libya Standard Time" }, { "_TimeZone": "W. Central Africa Standard Time" }, { "_TimeZone": "Namibia Standard Time" }, { "_TimeZone": "GTB Standard Time" }, { "_TimeZone": "Middle East Standard Time" }, { "_TimeZone": "Egypt Standard Time" }, { "_TimeZone": "Syria Standard Time" }, { "_TimeZone": "E. Europe Standard Time" }, { "_TimeZone": "South Africa Standard Time" }, { "_TimeZone": "FLE Standard Time" }, { "_TimeZone": "Turkey Standard Time" }, { "_TimeZone": "Jerusalem Standard Time" }, { "_TimeZone": "Jordan Standard Time" }, { "_TimeZone": "Arabic Standard Time" }, { "_TimeZone": "Kaliningrad Standard Time" }, { "_TimeZone": "Arab Standard Time" }, { "_TimeZone": "E. Africa Standard Time" }, { "_TimeZone": "Iran Standard Time" }, { "_TimeZone": "Arabian Standard Time" }, { "_TimeZone": "Azerbaijan Standard Time" }, { "_TimeZone": "Russian Standard Time" }, { "_TimeZone": "Mauritius Standard Time" }, { "_TimeZone": "Georgian Standard Time" }, { "_TimeZone": "Caucasus Standard Time" }, { "_TimeZone": "Afghanistan Standard Time" }, { "_TimeZone": "West Asia Standard Time" }, { "_TimeZone": "Pakistan Standard Time" }, { "_TimeZone": "India Standard Time" }, { "_TimeZone": "Sri Lanka Standard Time" }, { "_TimeZone": "Nepal Standard Time" }, { "_TimeZone": "Central Asia Standard Time" }, { "_TimeZone": "Bangladesh Standard Time" }, { "_TimeZone": "Ekaterinburg Standard Time" }, { "_TimeZone": "Myanmar Standard Time" }, { "_TimeZone": "SE Asia Standard Time" }, { "_TimeZone": "N. Central Asia Standard Time" }, { "_TimeZone": "China Standard Time" }, { "_TimeZone": "North Asia Standard Time" }, { "_TimeZone": "Malay Peninsula Standard Time" }, { "_TimeZone": "W. Australia Standard Time" }, { "_TimeZone": "Taipei Standard Time" }, { "_TimeZone": "Ulaanbaatar Standard Time" }, { "_TimeZone": "North Asia East Standard Time" }, { "_TimeZone": "Tokyo Standard Time" }, { "_TimeZone": "Korea Standard Time" }, { "_TimeZone": "Cen. Australia Standard Time" }, { "_TimeZone": "AUS Central Standard Time" }, { "_TimeZone": "E. Australia Standard Time" }, { "_TimeZone": "AUS Eastern Standard Time" }, { "_TimeZone": "West Pacific Standard Time" }, { "_TimeZone": "Tasmania Standard Time" }, { "_TimeZone": "Yakutsk Standard Time" }, { "_TimeZone": "Central Pacific Standard Time" }, { "_TimeZone": "Vladivostok Standard Time" }, { "_TimeZone": "New Zealand Standard Time" }, { "_TimeZone": "UTC+12" }, { "_TimeZone": "Fiji Standard Time" }, { "_TimeZone": "Magadan Standard Time" }, { "_TimeZone": "Kamchatka Standard Time" }, { "_TimeZone": "Tonga Standard Time" }, { "_TimeZone": "Samoa Standard Time" } ]}
|
@@ -0,0 +1,43 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
describe WhizClient::Geo do
|
4
|
+
|
5
|
+
include RequestHelper
|
6
|
+
context 'When APP_KEY is defined' do
|
7
|
+
|
8
|
+
before(:each) do
|
9
|
+
stub_const('WhizClient::Client::GEO_API_URL', 'https://example.com/')
|
10
|
+
stub_const('WhizClient::Client::APP_KEY', 'xxxxxxxxxxx')
|
11
|
+
end
|
12
|
+
|
13
|
+
context '.time_zones' do
|
14
|
+
it 'returns an array' do
|
15
|
+
fake_response = '{"ResponseCode":0,"ResponseMessage":"OK","ResponseDateTime":"11/7/2014 9:04:32 AM GMT","Data":[ { "_TimeZone": "Dateline Standard Time" }, { "_TimeZone": "UTC-11" }, { "_TimeZone": "Hawaiian Standard Time" }, { "_TimeZone": "Alaskan Standard Time" } ]}'
|
16
|
+
|
17
|
+
stub_request(:get, 'https://example.com/time-zones?AppKey=xxxxxxxxxxx').
|
18
|
+
with(:headers => {'Accept'=>'*/*; q=0.5, application/xml', 'Accept-Encoding'=>'gzip, deflate', 'User-Agent'=>'Ruby'}).
|
19
|
+
to_return(:status => 200, :body => valid_response(:time_zones), :headers => {})
|
20
|
+
|
21
|
+
expect(described_class.time_zones).to be_a_kind_of Array
|
22
|
+
end
|
23
|
+
end
|
24
|
+
|
25
|
+
context '.current_time_of_timezone' do
|
26
|
+
it 'returns a String' do
|
27
|
+
fake_response = '{"ResponseCode":0,"ResponseMessage":"OK","ResponseDateTime":"11/7/2014 9:12:16 AM GMT","Data":"11/7/2014 2:42:16 PM"}'
|
28
|
+
|
29
|
+
stub_request(:get, "https://example.com/current-time-of-timezone?AppKey=xxxxxxxxxxx&zid=Pacific%20Standard%20Time").
|
30
|
+
with(:headers => {'Accept'=>'*/*; q=0.5, application/xml', 'Accept-Encoding'=>'gzip, deflate', 'User-Agent'=>'Ruby'}).
|
31
|
+
to_return(:status => 200, :body => fake_response, :headers => {})
|
32
|
+
|
33
|
+
expect(described_class.current_time_of_timezone('Pacific Standard Time')).to be_a_kind_of String
|
34
|
+
end
|
35
|
+
end
|
36
|
+
end
|
37
|
+
|
38
|
+
context 'When APP_KEY is uninitialized' do
|
39
|
+
it 'raise exception' do
|
40
|
+
expect{ described_class.time_zones }.to raise_error WhizClient::WhizResponseError
|
41
|
+
end
|
42
|
+
end
|
43
|
+
end
|
@@ -0,0 +1,91 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
describe WhizClient::India do
|
4
|
+
|
5
|
+
include RequestHelper
|
6
|
+
|
7
|
+
context 'When APP_KEY is defined' do
|
8
|
+
|
9
|
+
before(:each) do
|
10
|
+
stub_const('WhizClient::Client::INDIAN_API_URL', 'https://example.com/')
|
11
|
+
stub_const('WhizClient::Client::APP_KEY', 'xxxxxxxxxxx')
|
12
|
+
end
|
13
|
+
|
14
|
+
context '.list_all_states' do
|
15
|
+
it 'returns an array' do
|
16
|
+
stub_request(:get, "https://example.com/indian-states-list?AppKey=xxxxxxxxxxx").
|
17
|
+
with(:headers => {'Accept'=>'*/*; q=0.5, application/xml', 'Accept-Encoding'=>'gzip, deflate', 'User-Agent'=>'Ruby'}).
|
18
|
+
to_return(:status => 200, :body => valid_response(:states), :headers => {})
|
19
|
+
|
20
|
+
expect(described_class.list_all_states).to be_a_kind_of Array
|
21
|
+
end
|
22
|
+
end
|
23
|
+
|
24
|
+
context '.find_city_by_state' do
|
25
|
+
it 'returns an array' do
|
26
|
+
fake_response = '{"ResponseCode":0,"ResponseMessage":"OK","ResponseDateTime":"11/7/2014 9:40:15 AM GMT","Data":[{"city":"Adoor","State":"Kerala"},{"city":"Akathiyoor","State":"Kerala"}]}'
|
27
|
+
|
28
|
+
stub_request(:get, "https://example.com/indian-city-by-state?AppKey=xxxxxxxxxxx&stateid=9").
|
29
|
+
with(:headers => {'Accept'=>'*/*; q=0.5, application/xml', 'Accept-Encoding'=>'gzip, deflate', 'User-Agent'=>'Ruby'}).
|
30
|
+
to_return(:status => 200, :body => fake_response, :headers => {})
|
31
|
+
|
32
|
+
expect(described_class.find_city_by_state(9)).to be_a_kind_of Array
|
33
|
+
end
|
34
|
+
end
|
35
|
+
|
36
|
+
context '.find_city_by_std_codes' do
|
37
|
+
it 'returns an array' do
|
38
|
+
fake_response = '{"ResponseCode":0,"ResponseMessage":"OK","ResponseDateTime":"11/7/2014 9:40:15 AM GMT","Data":[{"city":"Adoor","State":"Kerala"},{"city":"Akathiyoor","State":"Kerala"}]}'
|
39
|
+
|
40
|
+
stub_request(:get, "https://example.com/city-from-std-codes?AppKey=xxxxxxxxxxx&code=33").
|
41
|
+
with(:headers => {'Accept'=>'*/*; q=0.5, application/xml', 'Accept-Encoding'=>'gzip, deflate', 'User-Agent'=>'Ruby'}).
|
42
|
+
to_return(:status => 200, :body => fake_response, :headers => {})
|
43
|
+
|
44
|
+
expect(described_class.find_city_by_std_codes('33')).to be_a_kind_of Array
|
45
|
+
end
|
46
|
+
end
|
47
|
+
|
48
|
+
context '.find_std_codes_by_location' do
|
49
|
+
it 'returns an array' do
|
50
|
+
fake_response = '{"ResponseCode":0,"ResponseMessage":"OK","ResponseDateTime":"11/7/2014 9:40:15 AM GMT","Data":[{"city":"Adoor","State":"Kerala"},{"city":"Akathiyoor","State":"Kerala"}]}'
|
51
|
+
|
52
|
+
stub_request(:get, "https://example.com/indian-std-codes?AppKey=xxxxxxxxxxx&search=Calcutta").
|
53
|
+
with(:headers => {'Accept'=>'*/*; q=0.5, application/xml', 'Accept-Encoding'=>'gzip, deflate', 'User-Agent'=>'Ruby'}).
|
54
|
+
to_return(:status => 200, :body => fake_response, :headers => {})
|
55
|
+
|
56
|
+
expect(described_class.find_std_codes_by_location('Calcutta')).to be_a_kind_of Array
|
57
|
+
end
|
58
|
+
end
|
59
|
+
|
60
|
+
context '.find_city_by_postal_code' do
|
61
|
+
it 'returns an array' do
|
62
|
+
fake_response = '{"ResponseCode":0,"ResponseMessage":"OK","ResponseDateTime":"11/7/2014 9:40:15 AM GMT","Data":[{"city":"Adoor","State":"Kerala"},{"city":"Akathiyoor","State":"Kerala"}]}'
|
63
|
+
|
64
|
+
stub_request(:get, "https://example.com/indian-city-by-postal-code?AppKey=xxxxxxxxxxx&pin=700054").
|
65
|
+
with(:headers => {'Accept'=>'*/*; q=0.5, application/xml', 'Accept-Encoding'=>'gzip, deflate', 'User-Agent'=>'Ruby'}).
|
66
|
+
to_return(:status => 200, :body => fake_response, :headers => {})
|
67
|
+
|
68
|
+
expect(described_class.find_city_by_postal_code('700054')).to be_a_kind_of Array
|
69
|
+
end
|
70
|
+
end
|
71
|
+
|
72
|
+
context '.find_postal_code_by_location' do
|
73
|
+
it 'returns an array' do
|
74
|
+
fake_response = '{"ResponseCode":0,"ResponseMessage":"OK","ResponseDateTime":"11/7/2014 9:40:15 AM GMT","Data":[{"city":"Adoor","State":"Kerala"},{"city":"Akathiyoor","State":"Kerala"}]}'
|
75
|
+
|
76
|
+
stub_request(:get, "https://example.com/indian-postal-codes?AppKey=xxxxxxxxxxx&search=kolkata").
|
77
|
+
with(:headers => {'Accept'=>'*/*; q=0.5, application/xml', 'Accept-Encoding'=>'gzip, deflate', 'User-Agent'=>'Ruby'}).
|
78
|
+
to_return(:status => 200, :body => fake_response, :headers => {})
|
79
|
+
|
80
|
+
expect(described_class.find_postal_code_by_location('kolkata')).to be_a_kind_of Array
|
81
|
+
end
|
82
|
+
end
|
83
|
+
end
|
84
|
+
|
85
|
+
context 'When APP_KEY is uninitialized' do
|
86
|
+
it 'raise exception' do
|
87
|
+
expect{ described_class.list_all_states }.to raise_error WhizClient::WhizResponseError
|
88
|
+
end
|
89
|
+
end
|
90
|
+
end
|
91
|
+
|
data/spec/spec_helper.rb
ADDED
@@ -0,0 +1,25 @@
|
|
1
|
+
require 'webmock/rspec'
|
2
|
+
require 'support/request_helper'
|
3
|
+
require 'whiz_client'
|
4
|
+
|
5
|
+
|
6
|
+
RSpec.configure do |config|
|
7
|
+
config.color = true
|
8
|
+
config.order = "rand"
|
9
|
+
|
10
|
+
# Filters
|
11
|
+
config.treat_symbols_as_metadata_keys_with_true_values = true
|
12
|
+
config.run_all_when_everything_filtered = true
|
13
|
+
config.filter_run :focus
|
14
|
+
config.filter_run_excluding :broken
|
15
|
+
|
16
|
+
|
17
|
+
# WebMock
|
18
|
+
config.before(:each, type: :feature, js: true) do
|
19
|
+
WebMock.disable_net_connect!(allow_localhost: true)
|
20
|
+
end
|
21
|
+
|
22
|
+
config.after(:each, type: :feature, js: true) do
|
23
|
+
WebMock.disable_net_connect!
|
24
|
+
end
|
25
|
+
end
|
@@ -0,0 +1,17 @@
|
|
1
|
+
module RequestHelper
|
2
|
+
def valid_response(fixture)
|
3
|
+
File.read(fixture_filepath(:valid_responses, fixture))
|
4
|
+
end
|
5
|
+
|
6
|
+
def mock_valid_response(dir, fixture)
|
7
|
+
described_class.stub(:request_data) { valid_response(fixture) }
|
8
|
+
end
|
9
|
+
|
10
|
+
def fixture_filepath(sub_dir, name)
|
11
|
+
root_path.join('fixtures', sub_dir.to_s, name.to_s)
|
12
|
+
end
|
13
|
+
|
14
|
+
def root_path
|
15
|
+
Pathname.new(File.join(File.dirname(__FILE__), '../')).realpath
|
16
|
+
end
|
17
|
+
end
|
data/whiz_client.gemspec
ADDED
@@ -0,0 +1,30 @@
|
|
1
|
+
# coding: utf-8
|
2
|
+
lib = File.expand_path('../lib', __FILE__)
|
3
|
+
$LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
|
4
|
+
require 'whiz_client/version'
|
5
|
+
|
6
|
+
Gem::Specification.new do |spec|
|
7
|
+
spec.name = "whiz_client"
|
8
|
+
spec.version = WhizClient::VERSION
|
9
|
+
spec.authors = ["Chiranjib Roy"]
|
10
|
+
spec.email = ["raychiranjib1@gmail.com"]
|
11
|
+
spec.summary = %q{A client program for WhizApi}
|
12
|
+
spec.description = %q{It is wrapper to get access of WhizApi Service like Indian State, City, STD code and various api created by WhizApi.}
|
13
|
+
spec.homepage = ""
|
14
|
+
spec.license = "MIT"
|
15
|
+
|
16
|
+
spec.rubyforge_project = 'whiz_client'
|
17
|
+
|
18
|
+
spec.files = `git ls-files`.split($/)
|
19
|
+
spec.executables = spec.files.grep(%r{^bin/}) { |f| File.basename(f) }
|
20
|
+
spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
|
21
|
+
spec.require_paths = ["lib"]
|
22
|
+
|
23
|
+
spec.add_dependency 'rest-client', ">=1.7.2"
|
24
|
+
spec.add_dependency 'json', ">=1.8.1"
|
25
|
+
|
26
|
+
spec.add_development_dependency "bundler", "~> 1.5"
|
27
|
+
spec.add_development_dependency "rake"
|
28
|
+
spec.add_development_dependency "rspec", '~> 2.13.0'
|
29
|
+
spec.add_development_dependency "webmock", '1.16.1'
|
30
|
+
end
|
metadata
ADDED
@@ -0,0 +1,155 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: whiz_client
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 1.0.0
|
5
|
+
platform: ruby
|
6
|
+
authors:
|
7
|
+
- Chiranjib Roy
|
8
|
+
autorequire:
|
9
|
+
bindir: bin
|
10
|
+
cert_chain: []
|
11
|
+
date: 2014-11-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.2
|
20
|
+
type: :runtime
|
21
|
+
prerelease: false
|
22
|
+
version_requirements: !ruby/object:Gem::Requirement
|
23
|
+
requirements:
|
24
|
+
- - ! '>='
|
25
|
+
- !ruby/object:Gem::Version
|
26
|
+
version: 1.7.2
|
27
|
+
- !ruby/object:Gem::Dependency
|
28
|
+
name: json
|
29
|
+
requirement: !ruby/object:Gem::Requirement
|
30
|
+
requirements:
|
31
|
+
- - ! '>='
|
32
|
+
- !ruby/object:Gem::Version
|
33
|
+
version: 1.8.1
|
34
|
+
type: :runtime
|
35
|
+
prerelease: false
|
36
|
+
version_requirements: !ruby/object:Gem::Requirement
|
37
|
+
requirements:
|
38
|
+
- - ! '>='
|
39
|
+
- !ruby/object:Gem::Version
|
40
|
+
version: 1.8.1
|
41
|
+
- !ruby/object:Gem::Dependency
|
42
|
+
name: bundler
|
43
|
+
requirement: !ruby/object:Gem::Requirement
|
44
|
+
requirements:
|
45
|
+
- - ~>
|
46
|
+
- !ruby/object:Gem::Version
|
47
|
+
version: '1.5'
|
48
|
+
type: :development
|
49
|
+
prerelease: false
|
50
|
+
version_requirements: !ruby/object:Gem::Requirement
|
51
|
+
requirements:
|
52
|
+
- - ~>
|
53
|
+
- !ruby/object:Gem::Version
|
54
|
+
version: '1.5'
|
55
|
+
- !ruby/object:Gem::Dependency
|
56
|
+
name: rake
|
57
|
+
requirement: !ruby/object:Gem::Requirement
|
58
|
+
requirements:
|
59
|
+
- - ! '>='
|
60
|
+
- !ruby/object:Gem::Version
|
61
|
+
version: '0'
|
62
|
+
type: :development
|
63
|
+
prerelease: false
|
64
|
+
version_requirements: !ruby/object:Gem::Requirement
|
65
|
+
requirements:
|
66
|
+
- - ! '>='
|
67
|
+
- !ruby/object:Gem::Version
|
68
|
+
version: '0'
|
69
|
+
- !ruby/object:Gem::Dependency
|
70
|
+
name: rspec
|
71
|
+
requirement: !ruby/object:Gem::Requirement
|
72
|
+
requirements:
|
73
|
+
- - ~>
|
74
|
+
- !ruby/object:Gem::Version
|
75
|
+
version: 2.13.0
|
76
|
+
type: :development
|
77
|
+
prerelease: false
|
78
|
+
version_requirements: !ruby/object:Gem::Requirement
|
79
|
+
requirements:
|
80
|
+
- - ~>
|
81
|
+
- !ruby/object:Gem::Version
|
82
|
+
version: 2.13.0
|
83
|
+
- !ruby/object:Gem::Dependency
|
84
|
+
name: webmock
|
85
|
+
requirement: !ruby/object:Gem::Requirement
|
86
|
+
requirements:
|
87
|
+
- - '='
|
88
|
+
- !ruby/object:Gem::Version
|
89
|
+
version: 1.16.1
|
90
|
+
type: :development
|
91
|
+
prerelease: false
|
92
|
+
version_requirements: !ruby/object:Gem::Requirement
|
93
|
+
requirements:
|
94
|
+
- - '='
|
95
|
+
- !ruby/object:Gem::Version
|
96
|
+
version: 1.16.1
|
97
|
+
description: It is wrapper to get access of WhizApi Service like Indian State, City,
|
98
|
+
STD code and various api created by WhizApi.
|
99
|
+
email:
|
100
|
+
- raychiranjib1@gmail.com
|
101
|
+
executables: []
|
102
|
+
extensions: []
|
103
|
+
extra_rdoc_files: []
|
104
|
+
files:
|
105
|
+
- .gitignore
|
106
|
+
- Gemfile
|
107
|
+
- Gemfile.lock
|
108
|
+
- LICENSE.txt
|
109
|
+
- README.md
|
110
|
+
- Rakefile
|
111
|
+
- lib/whiz_client.rb
|
112
|
+
- lib/whiz_client/client.rb
|
113
|
+
- lib/whiz_client/version.rb
|
114
|
+
- spec/.DS_Store
|
115
|
+
- spec/fixtures/valid_responses/city
|
116
|
+
- spec/fixtures/valid_responses/states
|
117
|
+
- spec/fixtures/valid_responses/time_zones
|
118
|
+
- spec/lib/whiz_client_geo_spec.rb
|
119
|
+
- spec/lib/whiz_client_india_spec.rb
|
120
|
+
- spec/spec_helper.rb
|
121
|
+
- spec/support/request_helper.rb
|
122
|
+
- whiz_client.gemspec
|
123
|
+
homepage: ''
|
124
|
+
licenses:
|
125
|
+
- MIT
|
126
|
+
metadata: {}
|
127
|
+
post_install_message:
|
128
|
+
rdoc_options: []
|
129
|
+
require_paths:
|
130
|
+
- lib
|
131
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
132
|
+
requirements:
|
133
|
+
- - ! '>='
|
134
|
+
- !ruby/object:Gem::Version
|
135
|
+
version: '0'
|
136
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
137
|
+
requirements:
|
138
|
+
- - ! '>='
|
139
|
+
- !ruby/object:Gem::Version
|
140
|
+
version: '0'
|
141
|
+
requirements: []
|
142
|
+
rubyforge_project: whiz_client
|
143
|
+
rubygems_version: 2.1.11
|
144
|
+
signing_key:
|
145
|
+
specification_version: 4
|
146
|
+
summary: A client program for WhizApi
|
147
|
+
test_files:
|
148
|
+
- spec/.DS_Store
|
149
|
+
- spec/fixtures/valid_responses/city
|
150
|
+
- spec/fixtures/valid_responses/states
|
151
|
+
- spec/fixtures/valid_responses/time_zones
|
152
|
+
- spec/lib/whiz_client_geo_spec.rb
|
153
|
+
- spec/lib/whiz_client_india_spec.rb
|
154
|
+
- spec/spec_helper.rb
|
155
|
+
- spec/support/request_helper.rb
|