beetrackapi 0.5.0 → 0.6.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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 125410134eb77a70b91301f16624664f04979bcd
4
- data.tar.gz: 4027c261db89866e93d2c4607900d8f9ae543626
3
+ metadata.gz: 5dd0cc4e8ab72482869613c6d057c1c3a3cc7191
4
+ data.tar.gz: 65c3c23bc93479e5deb39d5ff3a4a9623b4a93d4
5
5
  SHA512:
6
- metadata.gz: 8c6030f903e96e8381847152ff90f18839622e134f356eee5ae69276736fe06fae7f5b38b7a05a6cb7f6db195d675eafa86afbef27ee25498fc39ca66a7815cd
7
- data.tar.gz: 4c019f4457f42c980bf4bf1aa60fdd2c3447a5dfb2b37763a6014ae14d1be02de4cae80a63cc6d7d1759998a1cf1710d2b601690449eae13d30b558891916bf0
6
+ metadata.gz: f7fb6ad90c5d27492af7732b272c4bdcfdbd3d19f1ad6fb642a600629f3e3c998dab857506623dfa2d43cfcc993a7f8b36f90ade419903ba5506da8d96d763dd
7
+ data.tar.gz: 937945fede287e93ba1b5376d63dd326061a0e1ce964fa554241531bbc0b66b19e08b9faca879052900a88ea3197af92fcbf496ce2b7113ec65a0c3c58035f2d
data/README.md CHANGED
@@ -20,20 +20,25 @@ client = BeetrackAPI::Client.new(:key => <your_api_key>)
20
20
 
21
21
  ###Get Routes###
22
22
  ```ruby
23
- client.getroutes(:date => 'dd-mm-yyyy'(Optional))
23
+ client.get_routes(:date => 'dd-mm-yyyy'(Optional))
24
24
  ```
25
25
 
26
26
  ###Create Routes###
27
27
  ```ruby
28
- client.createroute(<route_id>, parameters (As seen in beetrack.in/external_api.html))
28
+ client.create_route(<route_id>, parameters)
29
29
  ```
30
30
 
31
31
  ###Get Dispatch Information###
32
32
  ```ruby
33
- client.getdispatchinfo(<dispatch_id>)
33
+ client.get_dispatch_info(<dispatch_id>)
34
34
  ```
35
35
 
36
36
  ###Update Route Information###
37
37
  ```ruby
38
- client.updateroute(route_id, parameters (As seen in beetrack.in/external_api.html)))
39
- ```
38
+ client.update_route(route_id, parameters)
39
+ ```
40
+
41
+
42
+ ## Documentation
43
+
44
+ Please check the API's documentation in https://beetrack.com/apidoc
@@ -1,14 +1,13 @@
1
1
  Gem::Specification.new do |s|
2
2
  s.name = 'beetrackapi'
3
- s.version = '0.5.0'
4
- s.licenses = ['MIT']
3
+ s.version = '0.6.0'
5
4
  s.platform = Gem::Platform::RUBY
6
- s.authors = ['Nicolás Kipreos']
7
- s.email = ['nicolas.kipreos@beetrack.in']
8
- s.homepage = 'http://github.com/nkipreos/'
5
+ s.authors = ['Nicolás Kipreos', 'Jose Luis Honorato']
6
+ s.email = ['nicolas.kipreos@beetrack.com']
7
+ s.homepage = 'https://github.com/Beetrack/beetrack-api-ruby'
9
8
  s.description = 'A Ruby Wrapper for the Beetrack API'
10
9
  s.summary = 'See description'
11
10
  s.files = Dir.glob('{lib}/**/*') + %w(README.md beetrackapi.gemspec)
12
- s.add_development_dependency('curb', '>= 0.8.5')
11
+ s.add_development_dependency('rest-client', '>= 1.7.3')
13
12
  s.require_path = 'lib'
14
13
  end
@@ -1,48 +1,66 @@
1
- require 'curb'
2
1
  require 'json'
3
2
  require 'cgi'
4
3
  require 'time'
5
4
  require 'rest_client'
6
5
 
7
6
  module BeetrackAPI
8
-
7
+
9
8
  class Error < StandardError; end
10
9
  class AuthenticationError < Error; end
11
10
 
12
11
  class Client
13
12
  attr_accessor :key
14
- attr_reader :url
13
+ attr_reader :url
15
14
 
16
15
  def initialize(options = {})
17
16
  @key = options[:key]
18
17
  @url = options[:url] || 'https://app.beetrack.cl/api/external/v1/'
18
+ @url = @url + '/' if @url[-1] != '/'
19
19
  end
20
20
 
21
- def getroutes(options = {})
21
+ def get_routes(options = {})
22
22
  date = options.empty? ? "#{Date.today.strftime("%d-%m-%Y")}" : options[:date]
23
23
  get('routes', :date => date)
24
24
  end
25
25
 
26
- def getroute(route_id)
26
+ alias_method :getroutes, :get_routes
27
+
28
+ def get_route(route_id)
27
29
  get("routes/#{route_id}")
28
30
  end
29
31
 
30
- def createroute(options = {})
32
+ alias_method :getroute, :get_route
33
+
34
+ def create_route(options = {})
31
35
  post("routes", options)
32
36
  end
33
37
 
34
- def getdispatchinfo(dispatch_id)
38
+ alias_method :createroute, :create_route
39
+
40
+ def get_dispatch_info(dispatch_id)
35
41
  get("dispatches/#{dispatch_id}")
36
42
  end
37
43
 
38
- def gettrucks
44
+ alias_method :getdispatchinfo, :get_dispatch_info
45
+
46
+ def get_trucks
39
47
  get("trucks")
40
48
  end
41
49
 
42
- def updateroute(route_id, options ={})
50
+ alias_method :gettrucks, :get_trucks
51
+
52
+ def get_truck(identifier)
53
+ get("trucks/#{identifier}")
54
+ end
55
+
56
+ alias_method :gettruck, :get_truck
57
+
58
+ def update_route(route_id, options ={})
43
59
  put("routes/#{route_id}", options)
44
60
  end
45
61
 
62
+ alias_method :updateroute, :update_route
63
+
46
64
  def upload_file(file, content_type)
47
65
  request = RestClient::Request.new(
48
66
  :method => :post,
@@ -70,27 +88,36 @@ module BeetrackAPI
70
88
  private
71
89
 
72
90
  def get(path, params = {})
73
- res = Curl.get(@url + request_uri(path,params)) do |http|
74
- http.headers['X-AUTH-TOKEN'] = @key
75
- http.headers['Content-Type'] = 'application/json'
76
- end
77
- JSON.parse(res.body_str)
91
+ request = RestClient::Request.new(
92
+ :method => :get,
93
+ :url => @url + request_uri(path, params),
94
+ :headers => {
95
+ 'Content-Type' => 'application/json',
96
+ 'X-AUTH-TOKEN' => @key
97
+ },
98
+ ssl_version: 'TLSv1_2')
99
+ return JSON.parse(request.execute)
78
100
  end
79
101
 
80
102
  def post(path, params ={})
81
- res = Curl.post(@url + path, params.to_json) do |http|
82
- http.headers['X-AUTH-TOKEN'] = @key
83
- http.headers['Content-Type'] = 'application/json'
84
- end
85
- JSON.parse(res.body_str)
103
+ JSON.parse(make_request(:post, path, params))
86
104
  end
87
105
 
88
106
  def put(path, params ={})
89
- res = Curl.put(@url + path, params.to_json) do |http|
90
- http.headers['X-AUTH-TOKEN'] = @key
91
- http.headers['Content-Type'] = 'application/json'
92
- end
93
- JSON.parse(res.body_str)
107
+ JSON.parse(make_request(:put, path, params))
108
+ end
109
+
110
+ def make_request(method, path, params)
111
+ request = RestClient::Request.new(
112
+ :method => method,
113
+ :url => @url + path,
114
+ :payload => params.to_json,
115
+ :headers => {
116
+ 'Content-Type' => 'application/json',
117
+ 'X-AUTH-TOKEN' => @key
118
+ },
119
+ ssl_version: 'TLSv1_2')
120
+ return request.execute
94
121
  end
95
122
 
96
123
  def parse(http_response)
metadata CHANGED
@@ -1,32 +1,33 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: beetrackapi
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.5.0
4
+ version: 0.6.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Nicolás Kipreos
8
+ - Jose Luis Honorato
8
9
  autorequire:
9
10
  bindir: bin
10
11
  cert_chain: []
11
- date: 2015-04-27 00:00:00.000000000 Z
12
+ date: 2016-03-15 00:00:00.000000000 Z
12
13
  dependencies:
13
14
  - !ruby/object:Gem::Dependency
14
- name: curb
15
+ name: rest-client
15
16
  requirement: !ruby/object:Gem::Requirement
16
17
  requirements:
17
18
  - - ">="
18
19
  - !ruby/object:Gem::Version
19
- version: 0.8.5
20
+ version: 1.7.3
20
21
  type: :development
21
22
  prerelease: false
22
23
  version_requirements: !ruby/object:Gem::Requirement
23
24
  requirements:
24
25
  - - ">="
25
26
  - !ruby/object:Gem::Version
26
- version: 0.8.5
27
+ version: 1.7.3
27
28
  description: A Ruby Wrapper for the Beetrack API
28
29
  email:
29
- - nicolas.kipreos@beetrack.in
30
+ - nicolas.kipreos@beetrack.com
30
31
  executables: []
31
32
  extensions: []
32
33
  extra_rdoc_files: []
@@ -34,9 +35,8 @@ files:
34
35
  - README.md
35
36
  - beetrackapi.gemspec
36
37
  - lib/beetrackapi.rb
37
- homepage: http://github.com/nkipreos/
38
- licenses:
39
- - MIT
38
+ homepage: https://github.com/Beetrack/beetrack-api-ruby
39
+ licenses: []
40
40
  metadata: {}
41
41
  post_install_message:
42
42
  rdoc_options: []