hypertrack 0.0.3 → 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/lib/hypertrack.rb +4 -16
- data/lib/hypertrack/api_client.rb +1 -1
- data/lib/hypertrack/api_operations/action_api.rb +17 -0
- data/lib/hypertrack/api_operations/common/list.rb +1 -1
- data/lib/hypertrack/api_operations/user_api.rb +12 -0
- data/lib/hypertrack/errors/hypertrack_errors.rb +10 -2
- data/lib/hypertrack/resources/action.rb +20 -0
- data/lib/hypertrack/resources/user.rb +15 -0
- metadata +8 -20
- data/lib/hypertrack/api_operations/driver_api.rb +0 -25
- data/lib/hypertrack/api_operations/gps_log_api.rb +0 -20
- data/lib/hypertrack/api_operations/shift_api.rb +0 -13
- data/lib/hypertrack/api_operations/task_api.rb +0 -34
- data/lib/hypertrack/api_operations/trip_api.rb +0 -43
- data/lib/hypertrack/resources/customer.rb +0 -10
- data/lib/hypertrack/resources/destination.rb +0 -10
- data/lib/hypertrack/resources/driver.rb +0 -15
- data/lib/hypertrack/resources/event.rb +0 -14
- data/lib/hypertrack/resources/fleet.rb +0 -10
- data/lib/hypertrack/resources/gps_log.rb +0 -31
- data/lib/hypertrack/resources/hub.rb +0 -10
- data/lib/hypertrack/resources/neighbourhood.rb +0 -14
- data/lib/hypertrack/resources/shift.rb +0 -11
- data/lib/hypertrack/resources/task.rb +0 -22
- data/lib/hypertrack/resources/trip.rb +0 -18
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 84303e29979cffc3077bef07b0cdc047c191510a
|
4
|
+
data.tar.gz: d3165cb9c2e75557e1c4eb4f67ab67b63d294ec4
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: e709f5dc1937115e97a1148a386ec28231847abdb4f63366ca9d21b6a7c9889b4abfeaebe1d39e69b945f607a6b6fc1937781d2d289ebb1d7c568713fa36dd09
|
7
|
+
data.tar.gz: ca4f1411f10b913c58cc4a078c1573288b7a14ad567f3bf46a4a7e55e399f9a4ba1e8655f8c14c8d3b03de0d2927c70a58527211ed5d34c29b72cbdb13a42c2e
|
data/lib/hypertrack.rb
CHANGED
@@ -12,11 +12,8 @@ require_relative "hypertrack/api_operations/common/create"
|
|
12
12
|
require_relative "hypertrack/api_operations/common/retrieve"
|
13
13
|
require_relative "hypertrack/api_operations/common/list"
|
14
14
|
require_relative "hypertrack/api_operations/common/update"
|
15
|
-
require_relative "hypertrack/api_operations/
|
16
|
-
require_relative "hypertrack/api_operations/
|
17
|
-
require_relative "hypertrack/api_operations/trip_api"
|
18
|
-
require_relative "hypertrack/api_operations/shift_api"
|
19
|
-
require_relative "hypertrack/api_operations/gps_log_api"
|
15
|
+
require_relative "hypertrack/api_operations/user_api"
|
16
|
+
require_relative "hypertrack/api_operations/action_api"
|
20
17
|
|
21
18
|
# All HTTP calls made here
|
22
19
|
require_relative "hypertrack/api_client"
|
@@ -25,17 +22,8 @@ require_relative "hypertrack/api_client"
|
|
25
22
|
require_relative "hypertrack/shared_resource"
|
26
23
|
|
27
24
|
# Resources
|
28
|
-
require_relative "hypertrack/resources/
|
29
|
-
require_relative "hypertrack/resources/
|
30
|
-
require_relative "hypertrack/resources/destination"
|
31
|
-
require_relative "hypertrack/resources/task"
|
32
|
-
require_relative "hypertrack/resources/trip"
|
33
|
-
require_relative "hypertrack/resources/neighbourhood"
|
34
|
-
require_relative "hypertrack/resources/fleet"
|
35
|
-
require_relative "hypertrack/resources/hub"
|
36
|
-
require_relative "hypertrack/resources/shift"
|
37
|
-
require_relative "hypertrack/resources/event"
|
38
|
-
require_relative "hypertrack/resources/gps_log"
|
25
|
+
require_relative "hypertrack/resources/user"
|
26
|
+
require_relative "hypertrack/resources/action"
|
39
27
|
|
40
28
|
module HyperTrack
|
41
29
|
|
@@ -0,0 +1,17 @@
|
|
1
|
+
module HyperTrack
|
2
|
+
module ApiOperations
|
3
|
+
module ActionAPI
|
4
|
+
|
5
|
+
def complete(params={})
|
6
|
+
path = "complete/"
|
7
|
+
self.update(path, params, [:completion_location])
|
8
|
+
end
|
9
|
+
|
10
|
+
def cancel(params={})
|
11
|
+
path = "cancel/"
|
12
|
+
self.update(path, params)
|
13
|
+
end
|
14
|
+
|
15
|
+
end
|
16
|
+
end
|
17
|
+
end
|
@@ -15,7 +15,9 @@ module HyperTrack
|
|
15
15
|
410 => HyperTrack::ResourceRemovedFromServer,
|
16
16
|
429 => HyperTrack::RateLimitExceeded,
|
17
17
|
500 => HyperTrack::InternalServerError,
|
18
|
-
|
18
|
+
502 => HyperTrack::BadGateway,
|
19
|
+
503 => HyperTrack::ServiceTemporarilyUnavailable,
|
20
|
+
504 => HyperTrack::GatewayTimeout
|
19
21
|
}
|
20
22
|
end
|
21
23
|
|
@@ -56,9 +58,15 @@ module HyperTrack
|
|
56
58
|
# Raised when - There was an error on the server and we have been notified. Try again later.
|
57
59
|
class InternalServerError < Error; end
|
58
60
|
|
59
|
-
# Raised when -
|
61
|
+
# Raised when - load balancer throws 502
|
62
|
+
class BadGateway < Error; end
|
63
|
+
|
64
|
+
# Raised when - service throws 500
|
60
65
|
class ServiceTemporarilyUnavailable < Error; end
|
61
66
|
|
67
|
+
# Raised when - load balancer throws 504
|
68
|
+
class GatewayTimeout < Error; end
|
69
|
+
|
62
70
|
# Raised when - We get an unknown response code from the API
|
63
71
|
class UnknownError < Error; end
|
64
72
|
|
@@ -0,0 +1,20 @@
|
|
1
|
+
module HyperTrack
|
2
|
+
class Action < HyperTrack::SharedResource
|
3
|
+
include HyperTrack::ApiOperations::ActionAPI
|
4
|
+
|
5
|
+
API_BASE_PATH = "actions/"
|
6
|
+
REQUIRED_FIELDS = []
|
7
|
+
|
8
|
+
VALID_ATTRIBUTE_VALUES = {
|
9
|
+
type: {
|
10
|
+
allowed: [:pickup, :delivery, :dropoff, :visit, :stoppver, :task],
|
11
|
+
allow_nil: true
|
12
|
+
},
|
13
|
+
vehicle_type: {
|
14
|
+
allowed: HyperTrack::SharedResource::VALID_VEHICLE_TYPES,
|
15
|
+
allow_nil: true
|
16
|
+
}
|
17
|
+
}
|
18
|
+
|
19
|
+
end
|
20
|
+
end
|
@@ -0,0 +1,15 @@
|
|
1
|
+
module HyperTrack
|
2
|
+
class User < HyperTrack::SharedResource
|
3
|
+
include HyperTrack::ApiOperations::UserAPI
|
4
|
+
|
5
|
+
API_BASE_PATH = "users/"
|
6
|
+
REQUIRED_FIELDS = [:name]
|
7
|
+
|
8
|
+
VALID_ATTRIBUTE_VALUES = {
|
9
|
+
vehicle_type: {
|
10
|
+
allowed: HyperTrack::SharedResource::VALID_VEHICLE_TYPES
|
11
|
+
}
|
12
|
+
}
|
13
|
+
|
14
|
+
end
|
15
|
+
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: hypertrack
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0
|
4
|
+
version: 0.1.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Utsav Kesharwani
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2017-04-22 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: json
|
@@ -24,7 +24,7 @@ dependencies:
|
|
24
24
|
- - "~>"
|
25
25
|
- !ruby/object:Gem::Version
|
26
26
|
version: '1.8'
|
27
|
-
description: Ruby wrapper around HyperTrack's API. Refer http://docs.hypertrack.
|
27
|
+
description: Ruby wrapper around HyperTrack's API. Refer http://docs.hypertrack.com/
|
28
28
|
for more information.
|
29
29
|
email: utsav.kesharwani@gmail.com
|
30
30
|
executables: []
|
@@ -33,28 +33,16 @@ extra_rdoc_files: []
|
|
33
33
|
files:
|
34
34
|
- lib/hypertrack.rb
|
35
35
|
- lib/hypertrack/api_client.rb
|
36
|
+
- lib/hypertrack/api_operations/action_api.rb
|
36
37
|
- lib/hypertrack/api_operations/common/create.rb
|
37
38
|
- lib/hypertrack/api_operations/common/list.rb
|
38
39
|
- lib/hypertrack/api_operations/common/retrieve.rb
|
39
40
|
- lib/hypertrack/api_operations/common/update.rb
|
40
|
-
- lib/hypertrack/api_operations/
|
41
|
-
- lib/hypertrack/api_operations/gps_log_api.rb
|
42
|
-
- lib/hypertrack/api_operations/shift_api.rb
|
43
|
-
- lib/hypertrack/api_operations/task_api.rb
|
44
|
-
- lib/hypertrack/api_operations/trip_api.rb
|
41
|
+
- lib/hypertrack/api_operations/user_api.rb
|
45
42
|
- lib/hypertrack/errors/hypertrack_errors.rb
|
46
43
|
- lib/hypertrack/params_validator.rb
|
47
|
-
- lib/hypertrack/resources/
|
48
|
-
- lib/hypertrack/resources/
|
49
|
-
- lib/hypertrack/resources/driver.rb
|
50
|
-
- lib/hypertrack/resources/event.rb
|
51
|
-
- lib/hypertrack/resources/fleet.rb
|
52
|
-
- lib/hypertrack/resources/gps_log.rb
|
53
|
-
- lib/hypertrack/resources/hub.rb
|
54
|
-
- lib/hypertrack/resources/neighbourhood.rb
|
55
|
-
- lib/hypertrack/resources/shift.rb
|
56
|
-
- lib/hypertrack/resources/task.rb
|
57
|
-
- lib/hypertrack/resources/trip.rb
|
44
|
+
- lib/hypertrack/resources/action.rb
|
45
|
+
- lib/hypertrack/resources/user.rb
|
58
46
|
- lib/hypertrack/shared_resource.rb
|
59
47
|
- lib/util.rb
|
60
48
|
homepage: http://rubygems.org/gems/hypertrack
|
@@ -77,7 +65,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
77
65
|
version: '0'
|
78
66
|
requirements: []
|
79
67
|
rubyforge_project:
|
80
|
-
rubygems_version: 2.
|
68
|
+
rubygems_version: 2.5.1
|
81
69
|
signing_key:
|
82
70
|
specification_version: 4
|
83
71
|
summary: Ruby bindings for the HyperTrack API!
|
@@ -1,25 +0,0 @@
|
|
1
|
-
module HyperTrack
|
2
|
-
module ApiOperations
|
3
|
-
module DriverAPI
|
4
|
-
|
5
|
-
def self.included(base)
|
6
|
-
base.extend(ClassMethods)
|
7
|
-
end
|
8
|
-
|
9
|
-
module ClassMethods
|
10
|
-
|
11
|
-
def map_list(filter_params={})
|
12
|
-
map_list_path = "#{HyperTrack::Driver::API_BASE_PATH}map_list/"
|
13
|
-
HyperTrack::ApiClient.fetch(map_list_path, filter_params)
|
14
|
-
end
|
15
|
-
|
16
|
-
end
|
17
|
-
|
18
|
-
def overview(filter_params={})
|
19
|
-
driver_overview_path = "#{HyperTrack::Driver::API_BASE_PATH}#{self.id}/overview/"
|
20
|
-
HyperTrack::ApiClient.fetch(driver_overview_path, filter_params)
|
21
|
-
end
|
22
|
-
|
23
|
-
end
|
24
|
-
end
|
25
|
-
end
|
@@ -1,20 +0,0 @@
|
|
1
|
-
module HyperTrack
|
2
|
-
module ApiOperations
|
3
|
-
module GPSLogAPI
|
4
|
-
|
5
|
-
def self.included(base)
|
6
|
-
base.extend(ClassMethods)
|
7
|
-
end
|
8
|
-
|
9
|
-
module ClassMethods
|
10
|
-
|
11
|
-
def filtered_list(params)
|
12
|
-
if HyperTrack::ParamsValidator.valid_args?(params, [:driver_id], HyperTrack::GPSLog::VALID_ATTRIBUTE_VALUES)
|
13
|
-
HyperTrack::GPSLog.list(params.merge(filtered: true))
|
14
|
-
end
|
15
|
-
end
|
16
|
-
|
17
|
-
end
|
18
|
-
end
|
19
|
-
end
|
20
|
-
end
|
@@ -1,34 +0,0 @@
|
|
1
|
-
module HyperTrack
|
2
|
-
module ApiOperations
|
3
|
-
module TaskAPI
|
4
|
-
|
5
|
-
def editable_url(params)
|
6
|
-
if HyperTrack::ParamsValidator.valid_args?(params, [:editable], self.class::VALID_ATTRIBUTE_VALUES)
|
7
|
-
api_path = "#{self.class::API_BASE_PATH}#{self.id}/editable_url/"
|
8
|
-
HyperTrack::ApiClient.update(api_path, params)
|
9
|
-
end
|
10
|
-
end
|
11
|
-
|
12
|
-
def start(params)
|
13
|
-
path = "start/"
|
14
|
-
self.update(path, params, [:start_location, :start_time])
|
15
|
-
end
|
16
|
-
|
17
|
-
def complete(params)
|
18
|
-
path = "completed/"
|
19
|
-
self.update(path, params, [:completion_location])
|
20
|
-
end
|
21
|
-
|
22
|
-
def cancel(params={})
|
23
|
-
path = "canceled/"
|
24
|
-
self.update(path, params)
|
25
|
-
end
|
26
|
-
|
27
|
-
def update_destination(params)
|
28
|
-
path = "update_destination/"
|
29
|
-
self.update(path, params, [:location])
|
30
|
-
end
|
31
|
-
|
32
|
-
end
|
33
|
-
end
|
34
|
-
end
|
@@ -1,43 +0,0 @@
|
|
1
|
-
module HyperTrack
|
2
|
-
module ApiOperations
|
3
|
-
module TripAPI
|
4
|
-
|
5
|
-
def self.included(base)
|
6
|
-
base.extend(ClassMethods)
|
7
|
-
end
|
8
|
-
|
9
|
-
module ClassMethods
|
10
|
-
|
11
|
-
def sending_eta(params)
|
12
|
-
if HyperTrack::ParamsValidator.valid_args?(params, [:driver, :destination], HyperTrack::Trip::VALID_ATTRIBUTE_VALUES)
|
13
|
-
eta_path = "#{HyperTrack::Trip::API_BASE_PATH}lite/"
|
14
|
-
HyperTrack::ApiClient.update(eta_path, params)
|
15
|
-
end
|
16
|
-
end
|
17
|
-
|
18
|
-
end
|
19
|
-
|
20
|
-
# Don't want to name this method as 'end'. Its a reserved keyword in Ruby.
|
21
|
-
def end_trip(params)
|
22
|
-
path = "end/"
|
23
|
-
self.update(path, params, [])
|
24
|
-
end
|
25
|
-
|
26
|
-
def add_task(params)
|
27
|
-
path = 'add_task/'
|
28
|
-
self.update(path, params, [:task_id])
|
29
|
-
end
|
30
|
-
|
31
|
-
def remove_task(params)
|
32
|
-
path = 'remove_task/'
|
33
|
-
self.update(path, params, [:task_id])
|
34
|
-
end
|
35
|
-
|
36
|
-
def change_task_order(params)
|
37
|
-
path = 'change_task_order/'
|
38
|
-
self.update(path, params, [:task_order])
|
39
|
-
end
|
40
|
-
|
41
|
-
end
|
42
|
-
end
|
43
|
-
end
|
@@ -1,15 +0,0 @@
|
|
1
|
-
module HyperTrack
|
2
|
-
class Driver < HyperTrack::SharedResource
|
3
|
-
include HyperTrack::ApiOperations::DriverAPI
|
4
|
-
|
5
|
-
API_BASE_PATH = "drivers/"
|
6
|
-
REQUIRED_FIELDS = [:name, :vehicle_type]
|
7
|
-
|
8
|
-
VALID_ATTRIBUTE_VALUES = {
|
9
|
-
vehicle_type: {
|
10
|
-
allowed: HyperTrack::SharedResource::VALID_VEHICLE_TYPES
|
11
|
-
}
|
12
|
-
}
|
13
|
-
|
14
|
-
end
|
15
|
-
end
|
@@ -1,14 +0,0 @@
|
|
1
|
-
module HyperTrack
|
2
|
-
class Event < HyperTrack::SharedResource
|
3
|
-
|
4
|
-
API_BASE_PATH = "events/"
|
5
|
-
REQUIRED_FIELDS = []
|
6
|
-
|
7
|
-
VALID_ATTRIBUTE_VALUES = {}
|
8
|
-
|
9
|
-
def self.create(params={})
|
10
|
-
raise HyperTrack::MethodNotAllowed.new("Create not allowed on HyperTrack::Event class")
|
11
|
-
end
|
12
|
-
|
13
|
-
end
|
14
|
-
end
|
@@ -1,31 +0,0 @@
|
|
1
|
-
module HyperTrack
|
2
|
-
class GPSLog < HyperTrack::SharedResource
|
3
|
-
include HyperTrack::ApiOperations::GPSLogAPI
|
4
|
-
|
5
|
-
API_BASE_PATH = "gps/"
|
6
|
-
REQUIRED_FIELDS = [:driver_id, :location, :speed, :bearing, :altitude, :recorded_at]
|
7
|
-
|
8
|
-
VALID_ATTRIBUTE_VALUES = {
|
9
|
-
activities: {
|
10
|
-
allowed: [:stationary, :walking, :running, :automotive, :cycling, :unknown]
|
11
|
-
},
|
12
|
-
activity_confidence: {
|
13
|
-
allowed: (0..100).to_a
|
14
|
-
}
|
15
|
-
}
|
16
|
-
|
17
|
-
def self.create(params={})
|
18
|
-
raise HyperTrack::MethodNotAllowed.new("Create not allowed on HyperTrack::GPSLog class")
|
19
|
-
end
|
20
|
-
|
21
|
-
def self.list(params={})
|
22
|
-
if params.is_a?(Hash)
|
23
|
-
params[:filtered] ? params.delete(:raw) : params[:raw] = true
|
24
|
-
end
|
25
|
-
params.delete(:filtered)
|
26
|
-
|
27
|
-
super(params)
|
28
|
-
end
|
29
|
-
|
30
|
-
end
|
31
|
-
end
|
@@ -1,14 +0,0 @@
|
|
1
|
-
module HyperTrack
|
2
|
-
class Neighbourhood < HyperTrack::SharedResource
|
3
|
-
|
4
|
-
API_BASE_PATH = "neighborhoods/"
|
5
|
-
REQUIRED_FIELDS = []
|
6
|
-
|
7
|
-
VALID_ATTRIBUTE_VALUES = {}
|
8
|
-
|
9
|
-
def self.create(params={})
|
10
|
-
raise HyperTrack::MethodNotAllowed.new("Create not allowed on HyperTrack::Neighbourhood class")
|
11
|
-
end
|
12
|
-
|
13
|
-
end
|
14
|
-
end
|
@@ -1,22 +0,0 @@
|
|
1
|
-
module HyperTrack
|
2
|
-
class Task < HyperTrack::SharedResource
|
3
|
-
include HyperTrack::ApiOperations::TaskAPI
|
4
|
-
|
5
|
-
API_BASE_PATH = "tasks/"
|
6
|
-
REQUIRED_FIELDS = []
|
7
|
-
|
8
|
-
VALID_ATTRIBUTE_VALUES = {
|
9
|
-
action: {
|
10
|
-
allowed: [:pickup, :delivery, :visit, :task],
|
11
|
-
allow_nil: true
|
12
|
-
},
|
13
|
-
editable: {
|
14
|
-
allowed: [:'not editable', :once, :multiple]
|
15
|
-
},
|
16
|
-
vehicle_type: {
|
17
|
-
allowed: HyperTrack::SharedResource::VALID_VEHICLE_TYPES
|
18
|
-
}
|
19
|
-
}
|
20
|
-
|
21
|
-
end
|
22
|
-
end
|
@@ -1,18 +0,0 @@
|
|
1
|
-
module HyperTrack
|
2
|
-
class Trip < HyperTrack::SharedResource
|
3
|
-
include HyperTrack::ApiOperations::TripAPI
|
4
|
-
|
5
|
-
API_BASE_PATH = "trips/"
|
6
|
-
REQUIRED_FIELDS = [:driver_id]
|
7
|
-
|
8
|
-
VALID_ATTRIBUTE_VALUES = {
|
9
|
-
vehicle_type: {
|
10
|
-
allowed: HyperTrack::SharedResource::VALID_VEHICLE_TYPES
|
11
|
-
},
|
12
|
-
has_ordered_tasks: {
|
13
|
-
allowed: [true, false]
|
14
|
-
}
|
15
|
-
}
|
16
|
-
|
17
|
-
end
|
18
|
-
end
|