provide-ruby 0.3.0 → 0.4.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: c53f3120ba4f09e50e5a243085e4db46317dbc5a
4
- data.tar.gz: 216dd315efc3032dc46cb89e2dc9f78ffd246bd6
3
+ metadata.gz: 9a6aae64fec68e62ebbb87b1cf7b9695ce0a0929
4
+ data.tar.gz: 70ea991ade7497793af7ddb6f243ca9fc8cb2b3c
5
5
  SHA512:
6
- metadata.gz: d7e2883681f71b980ca0b757df6a607060212ff90cb1dd37ba04d5bff6107f858495f9effbc31b5404e7ee213458e025ccea6c85addab8a77585d89f1b0913bf
7
- data.tar.gz: 189f4aabfba8fbeac0b7536ab683369ff830fa2f53fc8ed2c91200c57e61974a83f520dd6e0f87134f45580b09bc53b681150b743fb80b2158a8e7e21350eec1
6
+ metadata.gz: 12dab8b9eebba927b51c99ff43501845e40884ad66887a57d2f6369dcf5c5bb67d68208f9ad355727bafd2b41a3377b7ccdd689cf8bda16ccfcb882a33582e1e
7
+ data.tar.gz: a0b6dbd573b5602936f6c9257a7df2c4c4eb6dbec15594b62b2c1ccf79e95e0858616f598865a16a8a363445d838081aed1c25ec0d5c46c1787e02e72e1a38d3
@@ -0,0 +1,99 @@
1
+ module Provide
2
+ module Services
3
+ class Tourguide < Provide::ApiClient
4
+
5
+ def initialize(scheme = 'http', host)
6
+ @scheme = scheme
7
+ @host = host
8
+ end
9
+
10
+ def directions(from_latitude, from_longitude, to_latitude, to_longitude, waypoints = nil, departure = 'now', alternatives = 0)
11
+ parse client.get('directions', {
12
+ :alternatives => alternatives,
13
+ :departure => departure,
14
+ :from_latitude => from_latitude,
15
+ :from_longitude => from_longitude,
16
+ :to_latitude => to_latitude,
17
+ :to_longitude => to_longitude,
18
+ :waypoints => waypoints,
19
+ })
20
+ end
21
+
22
+ def eta(from_latitude, from_longitude, to_latitude, to_longitude, waypoints = nil, departure = 'now', alternatives = 0)
23
+ parse client.get('directions/eta', {
24
+ :alternatives => alternatives,
25
+ :departure => departure,
26
+ :from_latitude => from_latitude,
27
+ :from_longitude => from_longitude,
28
+ :to_latitude => to_latitude,
29
+ :to_longitude => to_longitude,
30
+ :waypoints => waypoints,
31
+ })
32
+ end
33
+
34
+ def geocode(street_number = nil, street = nil, city = nil, state = nil, postal_code = nil)
35
+ parse client.get('geocoder', {
36
+ :street_number => street_number,
37
+ :street => street,
38
+ :city => city,
39
+ :state => state,
40
+ :postal_code => postal_code,
41
+ })
42
+ end
43
+
44
+ def reverse_geocode(latitude, longitude)
45
+ parse client.get('geocoder', {
46
+ :latitude => latitude,
47
+ :longitude => longitude,
48
+ })
49
+ end
50
+
51
+ def matrix(origin_coords, destination_coords)
52
+ parse client.get('matrix', {
53
+ :origin_coords => origin_coords,
54
+ :destination_coords => destination_coords,
55
+ })
56
+ end
57
+
58
+ def place_details(place_id)
59
+ parse client.get('places', {
60
+ :place_id => place_id,
61
+ })
62
+ end
63
+
64
+ def places_autocomplete(query, latitude, longitude, radius = 15)
65
+ parse client.get('places/autocomplete', {
66
+ :q => query,
67
+ :latitude => latitude,
68
+ :longitude => longitude,
69
+ :radius => radius,
70
+ })
71
+ end
72
+
73
+ def timezones(latitude, longitude)
74
+ parse client.get('timezones', {
75
+ :latitude => latitude,
76
+ :longitude => longitude,
77
+ })
78
+ end
79
+
80
+ private
81
+
82
+ def client
83
+ @client ||= begin
84
+ Provide::ApiClient.new(@scheme, @host, 'api/v1/')
85
+ end
86
+ end
87
+
88
+ def parse(response)
89
+ begin
90
+ return response.code, JSON.parse(response.body)
91
+ rescue
92
+ raise Exception.new({
93
+ :code => response.code,
94
+ })
95
+ end
96
+ end
97
+ end
98
+ end
99
+ end
@@ -1,3 +1,3 @@
1
1
  module Provide
2
- VERSION = '0.3.0'
2
+ VERSION = '0.4.0'
3
3
  end
data/lib/provide-ruby.rb CHANGED
@@ -4,5 +4,7 @@ require 'json'
4
4
  require 'provide-ruby/version'
5
5
  require 'provide-ruby/api_client'
6
6
 
7
+ require 'provide-ruby/services/tourguide'
8
+
7
9
  module Provide
8
10
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: provide-ruby
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.0
4
+ version: 0.4.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Kyle Thomas
@@ -114,6 +114,7 @@ files:
114
114
  - bin/setup
115
115
  - lib/provide-ruby.rb
116
116
  - lib/provide-ruby/api_client.rb
117
+ - lib/provide-ruby/services/tourguide.rb
117
118
  - lib/provide-ruby/version.rb
118
119
  - provide-ruby.gemspec
119
120
  homepage: https://github.com/provideapp/provide-ruby.git