vroom 0.0.1 → 0.0.3

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 1fc80c2c7c8f1db2d4bf4ee82bcfb5c72ac5f2f1
4
- data.tar.gz: 043ac45555a05e4e6a5db65fc1f0813e6f7e260b
3
+ metadata.gz: 946396b5339fd4e9215d7f5363910cd735bd2330
4
+ data.tar.gz: 8b404bd5c0e6c43a0ea5784a57d406697ec1699d
5
5
  SHA512:
6
- metadata.gz: a30ee561e17cee7f4d549d24a83e00826c6b7ad0ae82ea4d819ed14c71604839db39291e021ab193ad956d51c6cba164893949ca66ee7b7a06e29970d652ff22
7
- data.tar.gz: cb27de7ec067df1b35b17a1cca504c70ea8d98a4df7069df34586242dd3758d6b8d7b1255c3a61cb3abbb951a8fa118a190207f6c74e9d209c1c06f7587198ca
6
+ metadata.gz: 6792294c5a58aea0a6aaae1050aa17fd5aa39848342e18385bae3e3299fca8080e254c973057150167d28ef4dc7b423825e1e1a9a8d4945fb9dc50063abfecc3
7
+ data.tar.gz: 34fac796a721047531e99851b0c5a9878bd712738face5241f1b5894e7e1d8de76a8c0dd8775658d852f502aebe8ede791e3e4b2e5bfa7a943a67a70b1787ee6
@@ -0,0 +1,4 @@
1
+ .idea/
2
+ .rvmrc
3
+ Gemfile.lock
4
+ vroom-*.gem
@@ -0,0 +1,8 @@
1
+ require 'rake/testtask'
2
+
3
+ Rake::TestTask.new do |t|
4
+ t.libs << 'test'
5
+ end
6
+
7
+ desc "Run tests"
8
+ task :default => :test
@@ -0,0 +1,16 @@
1
+ # include vroom modules
2
+ require 'vroom/chassis'
3
+
4
+ # include vroom models
5
+ require 'vroom/models/user'
6
+
7
+ # HTTP module so we can communicate with Dash
8
+ # require 'vroom/http_service'
9
+
10
+ # miscellaneous
11
+ require 'vroom/version'
12
+
13
+ module Vroom
14
+ # A Ruby interface for the Dash.by Chassis API.
15
+ # See https://github.com/aren55555/vroom for a general introduction to Vroom
16
+ end
@@ -0,0 +1,19 @@
1
+ require 'vroom/chassis/rest_api'
2
+
3
+ module Vroom
4
+ module Dash
5
+ class Chassis
6
+ # Creates a new Chassis API client.
7
+ # @param [String] access_token access token
8
+ # @return [Vroom::Dash::Chassis] the API client
9
+ def initialize(access_token = nil)
10
+ @access_token = access_token
11
+ end
12
+
13
+ attr_reader :access_token
14
+
15
+ include RestAPIMethods
16
+
17
+ end
18
+ end
19
+ end
@@ -0,0 +1,37 @@
1
+ module Vroom
2
+ module Dash
3
+ module RestAPIMethods
4
+ require 'json'
5
+ require 'httparty'
6
+
7
+ def user
8
+ response = HTTParty.get('https://dash.by/api/chassis/v1/user',
9
+ :headers => { "Authorization" => "Bearer #{self.access_token}"}
10
+ )
11
+ # TODO: validations
12
+ Vroom::Model::User.new(JSON.parse(response.body))
13
+ end
14
+
15
+ def trips
16
+ # TODO: return TripSet Object
17
+ response = HTTParty.get('https://dash.by/api/chassis/v1/trips',
18
+ headers: { "Authorization" => "Bearer #{self.access_token}"}
19
+ )
20
+ JSON.parse(response.body)
21
+ end
22
+
23
+ def trip(trip_id)
24
+ response = HTTParty.get("https://dash.by/api/chassis/v1/routes/#{trip_id}",
25
+ headers: { "Authorization" => "Bearer #{self.access_token}"}
26
+ )
27
+ JSON.parse(response.body)
28
+ end
29
+
30
+ def stats
31
+ # TODO: return Stats Object
32
+ return 'stats'
33
+ end
34
+
35
+ end
36
+ end
37
+ end
@@ -0,0 +1,6 @@
1
+ module Vroom
2
+ module Model
3
+ class Trip
4
+ end
5
+ end
6
+ end
@@ -0,0 +1,6 @@
1
+ module Vroom
2
+ module Model
3
+ class TripCollection
4
+ end
5
+ end
6
+ end
@@ -0,0 +1,16 @@
1
+ module Vroom
2
+ module Model
3
+ class Units
4
+
5
+ attr_accessor :distance, :temperature, :volume, :fuelEfficiency
6
+
7
+ def initialize(units_obj)
8
+ @distance = units_obj['distance']
9
+ @temperature = units_obj['temperature']
10
+ @volume = units_obj['volume']
11
+ @fuelEfficiency = units_obj['fuelEfficiency']
12
+ end
13
+
14
+ end
15
+ end
16
+ end
@@ -0,0 +1,26 @@
1
+ module Vroom
2
+ module Model
3
+ class User
4
+ require 'vroom/models/units'
5
+ require 'vroom/models/vehicle'
6
+ require 'vroom/models/vehicle_list'
7
+
8
+ attr_accessor :id, :firstName, :lastName, :gender, :userProfileImageUrl, :overallScore, :preferredUnits,
9
+ :currentVehicle, :vehicles
10
+
11
+
12
+ def initialize(user_obj)
13
+ @id = user_obj['id']
14
+ @firstName = user_obj['firstName']
15
+ @lastName = user_obj['lastName']
16
+ @gender = user_obj['gender']
17
+ @userProfileImageUrl = user_obj['userProfileImageUrl']
18
+ @overallScore = user_obj['overallScore']
19
+ @preferredUnits = Vroom::Model::Units.new(user_obj['preferredUnits'])
20
+ @currentVehicle = Vroom::Model::Vehicle.new(user_obj['currentVehicle'])
21
+ @vehicles = Vroom::Model::VehicleList.new(user_obj['vehicles'])
22
+ end
23
+
24
+ end
25
+ end
26
+ end
@@ -0,0 +1,28 @@
1
+ module Vroom
2
+ module Model
3
+ class Vehicle
4
+
5
+ attr_accessor :id, :vin, :make, :model, :year, :name, :odometer, :engineDisplacementLiters, :cityFuelEfficiency,
6
+ :highwayFuelEfficiency, :tankSize, :fuelType, :vehicleProfileImageUrl, :makeLogoImageUrl
7
+
8
+
9
+ def initialize(vehicle_obj)
10
+ @id = vehicle_obj['id']
11
+ @vin = vehicle_obj['vin']
12
+ @make = vehicle_obj['make']
13
+ @model = vehicle_obj['model']
14
+ @year = vehicle_obj['year']
15
+ @name = vehicle_obj['name']
16
+ @odometer = vehicle_obj['odometer']
17
+ @engineDisplacementLiters = vehicle_obj['engineDisplacementLiters']
18
+ @cityFuelEfficiency = vehicle_obj['cityFuelEfficiency']
19
+ @highwayFuelEfficiency = vehicle_obj['highwayFuelEfficiency']
20
+ @tankSize = vehicle_obj['tankSize']
21
+ @fuelType = vehicle_obj['fuelType']
22
+ @vehicleProfileImageUrl = vehicle_obj['vehicleProfileImageUrl']
23
+ @makeLogoImageUrl = vehicle_obj['makeLogoImageUrl']
24
+ end
25
+
26
+ end
27
+ end
28
+ end
@@ -0,0 +1,16 @@
1
+ module Vroom
2
+ module Model
3
+ class VehicleList
4
+
5
+ @vehicle_map
6
+
7
+ def initialize(vehicles_obj)
8
+ @vehicle_map = @vehicle_map || {}
9
+ vehicles_obj.each do |v|
10
+ @vehicle_map[v['id']] = Vroom::Model::Vehicle.new(v)
11
+ end
12
+ end
13
+
14
+ end
15
+ end
16
+ end
@@ -0,0 +1,3 @@
1
+ module Vroom
2
+ VERSION = '0.0.3'
3
+ end
@@ -0,0 +1,10 @@
1
+ require 'minitest/autorun'
2
+ require 'vroom'
3
+
4
+ class VroomTest < Minitest::Test
5
+ def test_rest_methods
6
+ token = '3kxrTIhDk2Nrt2NG1RIR7UlevdhI2cUkvF-LMAW0b-Q497hM1z3M5Q8m8eKg3IRJO_LO8NdgXC5PkazD2YlVyZsyCwgyi3ERiIi3CijlsDVaEmuQn14vVw'
7
+ c = Vroom::Dash::Chassis.new(token)
8
+ assert_equal c.user, 'user'
9
+ end
10
+ end
@@ -0,0 +1,20 @@
1
+ # -*- encoding: utf-8 -*-
2
+ $LOAD_PATH.unshift File.expand_path("../lib", __FILE__)
3
+ require 'vroom/version'
4
+
5
+ Gem::Specification.new do |gem|
6
+ gem.authors = ["Aren Patel"]
7
+ gem.email = ["aren55555@users.noreply.github.com"]
8
+ gem.description = %q{A Ruby interface for the Dash.by Chassis API.}
9
+ gem.summary = %q{A Ruby interface for the Dash.by Chassis API.}
10
+ gem.homepage = ""
11
+
12
+ gem.executables = `git ls-files -- bin/*`.split("\n").map{ |f| File.basename(f) }
13
+ gem.files = `git ls-files`.split("\n")
14
+ gem.test_files = `git ls-files -- {test,spec,features}/*`.split("\n")
15
+ gem.name = 'vroom'
16
+ gem.require_paths = ["lib"]
17
+ gem.version = Vroom::VERSION
18
+
19
+ gem.add_runtime_dependency('httparty')
20
+ end
metadata CHANGED
@@ -1,22 +1,50 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: vroom
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.1
4
+ version: 0.0.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Aren Patel
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-12-07 00:00:00.000000000 Z
12
- dependencies: []
11
+ date: 2014-12-08 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: httparty
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - ">="
18
+ - !ruby/object:Gem::Version
19
+ version: '0'
20
+ type: :runtime
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - ">="
25
+ - !ruby/object:Gem::Version
26
+ version: '0'
13
27
  description: A Ruby interface for the Dash.by Chassis API.
14
28
  email:
15
29
  - aren55555@users.noreply.github.com
16
30
  executables: []
17
31
  extensions: []
18
32
  extra_rdoc_files: []
19
- files: []
33
+ files:
34
+ - ".gitignore"
35
+ - Rakefile
36
+ - lib/vroom.rb
37
+ - lib/vroom/chassis.rb
38
+ - lib/vroom/chassis/rest_api.rb
39
+ - lib/vroom/models/trip.rb
40
+ - lib/vroom/models/trip_list.rb
41
+ - lib/vroom/models/units.rb
42
+ - lib/vroom/models/user.rb
43
+ - lib/vroom/models/vehicle.rb
44
+ - lib/vroom/models/vehicle_list.rb
45
+ - lib/vroom/version.rb
46
+ - test/test_vroom.rb
47
+ - vroom.gemspec
20
48
  homepage: ''
21
49
  licenses: []
22
50
  metadata: {}
@@ -40,4 +68,6 @@ rubygems_version: 2.4.3
40
68
  signing_key:
41
69
  specification_version: 4
42
70
  summary: A Ruby interface for the Dash.by Chassis API.
43
- test_files: []
71
+ test_files:
72
+ - test/test_vroom.rb
73
+ has_rdoc: