bouncie 0.3.0 → 0.4.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/.github/workflows/ci.yml +32 -0
- data/.github/workflows/{main.yml → publish.yml} +0 -0
- data/.rubocop.yml +8 -0
- data/Gemfile +3 -1
- data/Gemfile.lock +30 -1
- data/Rakefile +4 -2
- data/bin/console +4 -3
- data/bouncie.gemspec +23 -18
- data/lib/bouncie.rb +11 -1
- data/lib/bouncie/client.rb +26 -10
- data/lib/bouncie/device_events/connect_event.rb +8 -0
- data/lib/bouncie/device_events/disconnect_event.rb +8 -0
- data/lib/bouncie/entity.rb +20 -11
- data/lib/bouncie/trip.rb +2 -0
- data/lib/bouncie/vehicle.rb +2 -0
- data/lib/bouncie/vehicle_health_events/battery_event.rb +8 -0
- data/lib/bouncie/vehicle_health_events/mil_event.rb +8 -0
- data/lib/bouncie/vehicle_trip_events/trip_data_event.rb +8 -0
- data/lib/bouncie/vehicle_trip_events/trip_end_event.rb +8 -0
- data/lib/bouncie/vehicle_trip_events/trip_metrics_event.rb +8 -0
- data/lib/bouncie/vehicle_trip_events/trip_start_event.rb +8 -0
- data/lib/bouncie/version.rb +3 -1
- data/lib/bouncie/webhook.rb +32 -0
- metadata +58 -5
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: a4a21bb80e2739155f9d5e90b254d45fe7083659f11802ad79d2981a7773bd9f
|
4
|
+
data.tar.gz: 92a9a86b053858e14c5c675feeb278b32381d9065c7d9d74328e79ff8db82dd2
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: b1cd8e4e7bf3b355d360ebc2749f13c44946dfe4ff13edf51c81a7520302bcc4fcd1670c51c16512347072235ca51755ef799690bd59d9b480af05607a97b4aa
|
7
|
+
data.tar.gz: 2674f9a466d5e8a2af6f983ef001fe351cf8697b190d44401463d7e0082820167b051fd5d1ba3bfa681168d47ab41c0842bec49b123e3677c3faa7e54ad52f37
|
@@ -0,0 +1,32 @@
|
|
1
|
+
name: CI
|
2
|
+
|
3
|
+
on:
|
4
|
+
push:
|
5
|
+
branches: [ master ]
|
6
|
+
pull_request:
|
7
|
+
branches: [ master ]
|
8
|
+
|
9
|
+
jobs:
|
10
|
+
test:
|
11
|
+
runs-on: ubuntu-latest
|
12
|
+
steps:
|
13
|
+
- uses: actions/checkout@v2
|
14
|
+
- name: Set up Ruby
|
15
|
+
# To automatically get bug fixes and new Ruby versions for ruby/setup-ruby,
|
16
|
+
# change this to (see https://github.com/ruby/setup-ruby#versioning):
|
17
|
+
# uses: ruby/setup-ruby@v1
|
18
|
+
uses: ruby/setup-ruby@v1
|
19
|
+
with:
|
20
|
+
ruby-version: 2.6
|
21
|
+
- name: Install dependencies
|
22
|
+
run: bundle install
|
23
|
+
- name: RSpec tests
|
24
|
+
run: rspec spec
|
25
|
+
|
26
|
+
lint:
|
27
|
+
runs-on: ubuntu-latest
|
28
|
+
steps:
|
29
|
+
- name: Rubocop Linter Action
|
30
|
+
uses: andrewmcodes/rubocop-linter-action@v3.2.0
|
31
|
+
env:
|
32
|
+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
File without changes
|
data/.rubocop.yml
ADDED
data/Gemfile
CHANGED
data/Gemfile.lock
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
PATH
|
2
2
|
remote: .
|
3
3
|
specs:
|
4
|
-
bouncie (0.
|
4
|
+
bouncie (0.4.0)
|
5
5
|
activesupport
|
6
6
|
faraday
|
7
7
|
oj
|
@@ -15,16 +15,28 @@ GEM
|
|
15
15
|
minitest (~> 5.1)
|
16
16
|
tzinfo (~> 1.1)
|
17
17
|
zeitwerk (~> 2.2, >= 2.2.2)
|
18
|
+
ast (2.4.0)
|
19
|
+
coderay (1.1.2)
|
18
20
|
concurrent-ruby (1.1.6)
|
19
21
|
diff-lcs (1.3)
|
20
22
|
faraday (1.0.1)
|
21
23
|
multipart-post (>= 1.2, < 3)
|
22
24
|
i18n (1.8.3)
|
23
25
|
concurrent-ruby (~> 1.0)
|
26
|
+
method_source (0.9.2)
|
24
27
|
minitest (5.14.1)
|
25
28
|
multipart-post (2.1.1)
|
26
29
|
oj (3.10.6)
|
30
|
+
parallel (1.19.1)
|
31
|
+
parser (2.7.1.3)
|
32
|
+
ast (~> 2.4.0)
|
33
|
+
pry (0.12.2)
|
34
|
+
coderay (~> 1.1.0)
|
35
|
+
method_source (~> 0.9.0)
|
36
|
+
rainbow (3.0.0)
|
27
37
|
rake (13.0.1)
|
38
|
+
regexp_parser (1.7.1)
|
39
|
+
rexml (3.2.4)
|
28
40
|
rspec (3.8.0)
|
29
41
|
rspec-core (~> 3.8.0)
|
30
42
|
rspec-expectations (~> 3.8.0)
|
@@ -38,9 +50,23 @@ GEM
|
|
38
50
|
diff-lcs (>= 1.2.0, < 2.0)
|
39
51
|
rspec-support (~> 3.8.0)
|
40
52
|
rspec-support (3.8.2)
|
53
|
+
rubocop (0.85.1)
|
54
|
+
parallel (~> 1.10)
|
55
|
+
parser (>= 2.7.0.1)
|
56
|
+
rainbow (>= 2.2.2, < 4.0)
|
57
|
+
regexp_parser (>= 1.7)
|
58
|
+
rexml
|
59
|
+
rubocop-ast (>= 0.0.3)
|
60
|
+
ruby-progressbar (~> 1.7)
|
61
|
+
unicode-display_width (>= 1.4.0, < 2.0)
|
62
|
+
rubocop-ast (0.0.3)
|
63
|
+
parser (>= 2.7.0.1)
|
64
|
+
ruby-progressbar (1.10.1)
|
41
65
|
thread_safe (0.3.6)
|
42
66
|
tzinfo (1.2.7)
|
43
67
|
thread_safe (~> 0.1)
|
68
|
+
unicode-display_width (1.7.0)
|
69
|
+
yard (0.9.25)
|
44
70
|
zeitwerk (2.3.0)
|
45
71
|
|
46
72
|
PLATFORMS
|
@@ -49,8 +75,11 @@ PLATFORMS
|
|
49
75
|
DEPENDENCIES
|
50
76
|
bouncie!
|
51
77
|
bundler (~> 2.0)
|
78
|
+
pry
|
52
79
|
rake (~> 13.0)
|
53
80
|
rspec (~> 3.2)
|
81
|
+
rubocop (~> 0.85.1)
|
82
|
+
yard (~> 0.9.25)
|
54
83
|
|
55
84
|
BUNDLED WITH
|
56
85
|
2.0.2
|
data/Rakefile
CHANGED
data/bin/console
CHANGED
@@ -1,7 +1,8 @@
|
|
1
1
|
#!/usr/bin/env ruby
|
2
|
+
# frozen_string_literal: true
|
2
3
|
|
3
|
-
require
|
4
|
-
require
|
4
|
+
require 'bundler/setup'
|
5
|
+
require 'bouncie'
|
5
6
|
|
6
7
|
# You can add fixtures and/or initialization code here to make experimenting
|
7
8
|
# with your gem easier. You can also use a different console, if you like.
|
@@ -10,5 +11,5 @@ require "bouncie"
|
|
10
11
|
# require "pry"
|
11
12
|
# Pry.start
|
12
13
|
|
13
|
-
require
|
14
|
+
require 'irb'
|
14
15
|
IRB.start(__FILE__)
|
data/bouncie.gemspec
CHANGED
@@ -1,37 +1,42 @@
|
|
1
|
-
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
lib = File.expand_path('lib', __dir__)
|
2
4
|
$LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
|
3
|
-
require
|
5
|
+
require 'bouncie/version'
|
4
6
|
|
5
7
|
Gem::Specification.new do |spec|
|
6
|
-
spec.name =
|
8
|
+
spec.name = 'bouncie'
|
7
9
|
spec.version = Bouncie::VERSION
|
8
|
-
spec.authors = [
|
9
|
-
spec.email = [
|
10
|
+
spec.authors = ['Corey Psoinos']
|
11
|
+
spec.email = ['corey@streetsmarts.io']
|
10
12
|
|
11
|
-
spec.summary =
|
13
|
+
spec.summary = 'An API wrapper for Bouncie'
|
12
14
|
# spec.description = %q{TODO: Write a longer description or delete this line.}
|
13
|
-
spec.homepage =
|
15
|
+
spec.homepage = 'https://github.com/streetsmartslabs/bouncie'
|
14
16
|
|
15
17
|
# spec.metadata["allowed_push_host"] = "TODO: Set to 'http://mygemserver.com'"
|
16
18
|
|
17
|
-
spec.metadata[
|
18
|
-
spec.metadata[
|
19
|
+
spec.metadata['homepage_uri'] = spec.homepage
|
20
|
+
spec.metadata['source_code_uri'] = spec.homepage
|
19
21
|
# spec.metadata["changelog_uri"] = "TODO: Put your gem's CHANGELOG.md URL here."
|
20
22
|
|
21
23
|
# Specify which files should be added to the gem when it is released.
|
22
24
|
# The `git ls-files -z` loads the files in the RubyGem that have been added into git.
|
23
|
-
spec.files
|
25
|
+
spec.files = Dir.chdir(File.expand_path(__dir__)) do
|
24
26
|
`git ls-files -z`.split("\x0").reject { |f| f.match(%r{^(test|spec|features)/}) }
|
25
27
|
end
|
26
|
-
spec.bindir =
|
28
|
+
spec.bindir = 'exe'
|
27
29
|
spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
|
28
|
-
spec.require_paths = [
|
30
|
+
spec.require_paths = ['lib']
|
29
31
|
|
30
|
-
spec.add_development_dependency
|
31
|
-
spec.add_development_dependency
|
32
|
-
spec.add_development_dependency
|
32
|
+
spec.add_development_dependency 'bundler', '~> 2.0'
|
33
|
+
spec.add_development_dependency 'pry'
|
34
|
+
spec.add_development_dependency 'rake', '~> 13.0'
|
35
|
+
spec.add_development_dependency 'rspec', '~> 3.2'
|
36
|
+
spec.add_development_dependency 'rubocop', '~> 0.85.1'
|
37
|
+
spec.add_development_dependency 'yard', '~> 0.9.25'
|
33
38
|
|
34
|
-
spec.add_dependency
|
35
|
-
spec.add_dependency
|
36
|
-
spec.add_dependency
|
39
|
+
spec.add_dependency 'activesupport'
|
40
|
+
spec.add_dependency 'faraday'
|
41
|
+
spec.add_dependency 'oj'
|
37
42
|
end
|
data/lib/bouncie.rb
CHANGED
@@ -1,10 +1,20 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
1
3
|
require 'bouncie/version'
|
2
4
|
require 'bouncie/client'
|
3
5
|
require 'bouncie/entity'
|
4
6
|
require 'bouncie/vehicle'
|
5
7
|
require 'bouncie/trip'
|
8
|
+
require 'bouncie/webhook'
|
9
|
+
require 'bouncie/device_events/connect_event'
|
10
|
+
require 'bouncie/device_events/disconnect_event'
|
11
|
+
require 'bouncie/vehicle_health_events/battery_event'
|
12
|
+
require 'bouncie/vehicle_health_events/mil_event'
|
13
|
+
require 'bouncie/vehicle_trip_events/trip_data_event'
|
14
|
+
require 'bouncie/vehicle_trip_events/trip_end_event'
|
15
|
+
require 'bouncie/vehicle_trip_events/trip_metrics_event'
|
16
|
+
require 'bouncie/vehicle_trip_events/trip_start_event'
|
6
17
|
|
7
18
|
module Bouncie
|
8
19
|
class Error < StandardError; end
|
9
|
-
# Your code goes here...
|
10
20
|
end
|
data/lib/bouncie/client.rb
CHANGED
@@ -1,37 +1,53 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
1
3
|
require 'faraday'
|
2
4
|
require 'oj'
|
3
5
|
|
4
6
|
module Bouncie
|
7
|
+
# Class that wraps a Faraday connection in order to interact with the Bouncie API
|
5
8
|
class Client
|
6
|
-
API_ENDPOINT = 'https://api.bouncie.dev/v1'
|
9
|
+
API_ENDPOINT = 'https://api.bouncie.dev/v1'
|
7
10
|
|
8
11
|
attr_reader :options
|
9
12
|
|
13
|
+
# @param [Hash] options the options to create a `Bouncie::Client` with.
|
14
|
+
# @option opts [String] :api_key your Bouncie app's API key. Retrieve this from https://www.bouncie.dev/apps. Required.
|
15
|
+
# @option opts [String] :authorization_code code from a user who grants access to their information via OAuth. Required.
|
16
|
+
# @option opts [Hash] :headers hash of any additional headers to add to HTTP requests
|
10
17
|
def initialize(options)
|
11
18
|
@options = options
|
12
19
|
end
|
13
20
|
|
21
|
+
# @param imei [String] (Required) IMEI for the vehicle to retrieve trips for
|
22
|
+
# @param transaction_id [String] Unique Trip Identifier
|
23
|
+
# @param gps_format [String] (Required) One of: `polyline` or `geojson`
|
24
|
+
# @param starts_after [ISODate] Will match trips with a starting time after this parameter. The window between starts-after and ends-before must be no longer than a week. If not provided, the last week will be used by default
|
25
|
+
# @param ends_before [ISODate] Will match trips with an ending time before this parameter
|
26
|
+
# @return [Trip]
|
14
27
|
def trips(imei:, transaction_id: nil, gps_format: 'polyline', starts_after: nil, ends_before: nil)
|
15
28
|
request(
|
16
29
|
http_method: :get,
|
17
|
-
endpoint:
|
30
|
+
endpoint: 'trips',
|
18
31
|
params: {
|
19
|
-
imei:
|
32
|
+
imei: imei,
|
20
33
|
transaction_id: transaction_id,
|
21
|
-
gps_format:
|
22
|
-
starts_after:
|
23
|
-
ends_before:
|
34
|
+
gps_format: gps_format,
|
35
|
+
starts_after: starts_after,
|
36
|
+
ends_before: ends_before
|
24
37
|
}.compact
|
25
38
|
).map { |data| Bouncie::Trip.new(data) }
|
26
39
|
end
|
27
40
|
|
41
|
+
# @param vin [String] (optional) Vehicles with vin matching given value
|
42
|
+
# @param imei [String] (optional) Vehicles with imei matching given value
|
43
|
+
# @return [Vehicle]
|
28
44
|
def vehicles(imei: nil, vin: nil)
|
29
45
|
request(
|
30
46
|
http_method: :get,
|
31
47
|
endpoint: 'vehicles',
|
32
48
|
params: {
|
33
49
|
imei: imei,
|
34
|
-
vin:
|
50
|
+
vin: vin
|
35
51
|
}.compact
|
36
52
|
).map { |data| Bouncie::Vehicle.new(data) }
|
37
53
|
end
|
@@ -39,14 +55,14 @@ module Bouncie
|
|
39
55
|
private
|
40
56
|
|
41
57
|
def headers
|
42
|
-
@
|
58
|
+
@headers ||= {
|
43
59
|
'AuthorizationCode' => options[:authorization_code],
|
44
|
-
'ApiKey'
|
60
|
+
'ApiKey' => options[:api_key]
|
45
61
|
}.merge(options[:headers] || {})
|
46
62
|
end
|
47
63
|
|
48
64
|
def client
|
49
|
-
@
|
65
|
+
@client ||= Faraday.new(API_ENDPOINT, headers: headers) do |client|
|
50
66
|
client.request :url_encoded
|
51
67
|
client.adapter Faraday.default_adapter
|
52
68
|
end
|
data/lib/bouncie/entity.rb
CHANGED
@@ -1,18 +1,13 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
1
3
|
require 'active_support/inflector'
|
2
4
|
|
3
5
|
module Bouncie
|
6
|
+
# Abstract base class for objects returned from API requests. Parses dates, converts keys to underscore.
|
4
7
|
class Entity
|
5
8
|
def initialize(data)
|
6
|
-
@data = data.transform_keys { |k| k.underscore.to_sym }
|
7
|
-
|
8
|
-
if val.is_a?(Hash)
|
9
|
-
@data[key] = Bouncie::Entity.new(val)
|
10
|
-
elsif val.is_a?(Array)
|
11
|
-
@data[key] = val.map { |v| Bouncie::Entity.new(v) }
|
12
|
-
elsif val.is_a?(String) && ['_updated', '_time'].any? { |v| key.to_s.end_with?(v) }
|
13
|
-
@data[key] = DateTime.parse(val)
|
14
|
-
end
|
15
|
-
end
|
9
|
+
@data = data.transform_keys { |k| k.to_s.underscore.to_sym }
|
10
|
+
massage_data
|
16
11
|
end
|
17
12
|
|
18
13
|
def method_missing(method_name, *args, &block)
|
@@ -23,8 +18,22 @@ module Bouncie
|
|
23
18
|
end
|
24
19
|
end
|
25
20
|
|
26
|
-
def respond_to_missing?(method_name,
|
21
|
+
def respond_to_missing?(method_name, _include_private = false)
|
27
22
|
@data.key?(method_name)
|
28
23
|
end
|
24
|
+
|
25
|
+
private
|
26
|
+
|
27
|
+
def massage_data
|
28
|
+
@data.each do |key, val|
|
29
|
+
if val.is_a?(Hash)
|
30
|
+
@data[key] = Bouncie::Entity.new(val)
|
31
|
+
elsif val.is_a?(Array)
|
32
|
+
@data[key] = val.map { |v| Bouncie::Entity.new(v) }
|
33
|
+
elsif val.is_a?(String) && %w[_updated _time timestamp].any? { |v| key.to_s.end_with?(v) }
|
34
|
+
@data[key] = DateTime.parse(val)
|
35
|
+
end
|
36
|
+
end
|
37
|
+
end
|
29
38
|
end
|
30
39
|
end
|
data/lib/bouncie/trip.rb
CHANGED
data/lib/bouncie/vehicle.rb
CHANGED
data/lib/bouncie/version.rb
CHANGED
@@ -0,0 +1,32 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require 'bouncie/device_events/connect_event'
|
4
|
+
require 'bouncie/device_events/disconnect_event'
|
5
|
+
require 'bouncie/vehicle_health_events/battery_event'
|
6
|
+
require 'bouncie/vehicle_health_events/mil_event'
|
7
|
+
require 'bouncie/vehicle_trip_events/trip_data_event'
|
8
|
+
require 'bouncie/vehicle_trip_events/trip_end_event'
|
9
|
+
require 'bouncie/vehicle_trip_events/trip_metrics_event'
|
10
|
+
require 'bouncie/vehicle_trip_events/trip_start_event'
|
11
|
+
|
12
|
+
module Bouncie
|
13
|
+
# Class used for parsing webhooks into specific events.
|
14
|
+
class Webhook
|
15
|
+
WEBHOOK_EVENTS_MAP = {
|
16
|
+
'connect' => Bouncie::DeviceEvents::ConnectEvent,
|
17
|
+
'disconnect' => Bouncie::DeviceEvents::DisconnectEvent,
|
18
|
+
'battery' => Bouncie::VehicleHealthEvents::BatteryEvent,
|
19
|
+
'mil' => Bouncie::VehicleHealthEvents::MilEvent,
|
20
|
+
'trip_data' => Bouncie::VehicleTripEvents::TripDataEvent,
|
21
|
+
'trip_end' => Bouncie::VehicleTripEvents::TripEndEvent,
|
22
|
+
'trip_metrics' => Bouncie::VehicleTripEvents::TripMetricsEvent,
|
23
|
+
'trip_start' => Bouncie::VehicleTripEvents::TripStartEvent
|
24
|
+
}.freeze
|
25
|
+
|
26
|
+
def self.parse(data)
|
27
|
+
event_name = data[:event_type] || data[:eventType] || data['eventType'] || data['event_type']
|
28
|
+
event_klass = Bouncie::Webhook::WEBHOOK_EVENTS_MAP[event_name.underscore]
|
29
|
+
event_klass.new(data)
|
30
|
+
end
|
31
|
+
end
|
32
|
+
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: bouncie
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.4.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Corey Psoinos
|
@@ -24,6 +24,20 @@ dependencies:
|
|
24
24
|
- - "~>"
|
25
25
|
- !ruby/object:Gem::Version
|
26
26
|
version: '2.0'
|
27
|
+
- !ruby/object:Gem::Dependency
|
28
|
+
name: pry
|
29
|
+
requirement: !ruby/object:Gem::Requirement
|
30
|
+
requirements:
|
31
|
+
- - ">="
|
32
|
+
- !ruby/object:Gem::Version
|
33
|
+
version: '0'
|
34
|
+
type: :development
|
35
|
+
prerelease: false
|
36
|
+
version_requirements: !ruby/object:Gem::Requirement
|
37
|
+
requirements:
|
38
|
+
- - ">="
|
39
|
+
- !ruby/object:Gem::Version
|
40
|
+
version: '0'
|
27
41
|
- !ruby/object:Gem::Dependency
|
28
42
|
name: rake
|
29
43
|
requirement: !ruby/object:Gem::Requirement
|
@@ -53,7 +67,35 @@ dependencies:
|
|
53
67
|
- !ruby/object:Gem::Version
|
54
68
|
version: '3.2'
|
55
69
|
- !ruby/object:Gem::Dependency
|
56
|
-
name:
|
70
|
+
name: rubocop
|
71
|
+
requirement: !ruby/object:Gem::Requirement
|
72
|
+
requirements:
|
73
|
+
- - "~>"
|
74
|
+
- !ruby/object:Gem::Version
|
75
|
+
version: 0.85.1
|
76
|
+
type: :development
|
77
|
+
prerelease: false
|
78
|
+
version_requirements: !ruby/object:Gem::Requirement
|
79
|
+
requirements:
|
80
|
+
- - "~>"
|
81
|
+
- !ruby/object:Gem::Version
|
82
|
+
version: 0.85.1
|
83
|
+
- !ruby/object:Gem::Dependency
|
84
|
+
name: yard
|
85
|
+
requirement: !ruby/object:Gem::Requirement
|
86
|
+
requirements:
|
87
|
+
- - "~>"
|
88
|
+
- !ruby/object:Gem::Version
|
89
|
+
version: 0.9.25
|
90
|
+
type: :development
|
91
|
+
prerelease: false
|
92
|
+
version_requirements: !ruby/object:Gem::Requirement
|
93
|
+
requirements:
|
94
|
+
- - "~>"
|
95
|
+
- !ruby/object:Gem::Version
|
96
|
+
version: 0.9.25
|
97
|
+
- !ruby/object:Gem::Dependency
|
98
|
+
name: activesupport
|
57
99
|
requirement: !ruby/object:Gem::Requirement
|
58
100
|
requirements:
|
59
101
|
- - ">="
|
@@ -67,7 +109,7 @@ dependencies:
|
|
67
109
|
- !ruby/object:Gem::Version
|
68
110
|
version: '0'
|
69
111
|
- !ruby/object:Gem::Dependency
|
70
|
-
name:
|
112
|
+
name: faraday
|
71
113
|
requirement: !ruby/object:Gem::Requirement
|
72
114
|
requirements:
|
73
115
|
- - ">="
|
@@ -81,7 +123,7 @@ dependencies:
|
|
81
123
|
- !ruby/object:Gem::Version
|
82
124
|
version: '0'
|
83
125
|
- !ruby/object:Gem::Dependency
|
84
|
-
name:
|
126
|
+
name: oj
|
85
127
|
requirement: !ruby/object:Gem::Requirement
|
86
128
|
requirements:
|
87
129
|
- - ">="
|
@@ -101,8 +143,10 @@ executables: []
|
|
101
143
|
extensions: []
|
102
144
|
extra_rdoc_files: []
|
103
145
|
files:
|
104
|
-
- ".github/workflows/
|
146
|
+
- ".github/workflows/ci.yml"
|
147
|
+
- ".github/workflows/publish.yml"
|
105
148
|
- ".gitignore"
|
149
|
+
- ".rubocop.yml"
|
106
150
|
- Gemfile
|
107
151
|
- Gemfile.lock
|
108
152
|
- README.md
|
@@ -112,10 +156,19 @@ files:
|
|
112
156
|
- bouncie.gemspec
|
113
157
|
- lib/bouncie.rb
|
114
158
|
- lib/bouncie/client.rb
|
159
|
+
- lib/bouncie/device_events/connect_event.rb
|
160
|
+
- lib/bouncie/device_events/disconnect_event.rb
|
115
161
|
- lib/bouncie/entity.rb
|
116
162
|
- lib/bouncie/trip.rb
|
117
163
|
- lib/bouncie/vehicle.rb
|
164
|
+
- lib/bouncie/vehicle_health_events/battery_event.rb
|
165
|
+
- lib/bouncie/vehicle_health_events/mil_event.rb
|
166
|
+
- lib/bouncie/vehicle_trip_events/trip_data_event.rb
|
167
|
+
- lib/bouncie/vehicle_trip_events/trip_end_event.rb
|
168
|
+
- lib/bouncie/vehicle_trip_events/trip_metrics_event.rb
|
169
|
+
- lib/bouncie/vehicle_trip_events/trip_start_event.rb
|
118
170
|
- lib/bouncie/version.rb
|
171
|
+
- lib/bouncie/webhook.rb
|
119
172
|
homepage: https://github.com/streetsmartslabs/bouncie
|
120
173
|
licenses: []
|
121
174
|
metadata:
|