pingboard 0.0.7 → 0.0.8

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: 42e0686595560ccc7ff0618340442403855f0e24
4
- data.tar.gz: f02da016217d420d2626d88ed52a544034b036a2
3
+ metadata.gz: 187e7f10439900d992e6039ed5170364bca739fb
4
+ data.tar.gz: 712674cb12a728c694c435f4a5d636457eb1659a
5
5
  SHA512:
6
- metadata.gz: 504bd9ade0e2f3ddc3bd64bf2b4f49f8fe3fb133028f41fb1b20396f134939d7a981e04fb537e6727101fe14cd21619e055ba75df4241ff4aab7fb0da6229ca0
7
- data.tar.gz: 37237cfe77fcb9a9703f6700a669d75388c18b1844bd26ac3997b0594e617513a855fea9b02d805c4313d4b25b5ca9ecbec5377d46c2dc9fbde9bbcae6023a2a
6
+ metadata.gz: c2b57635f5a6c337200c1e3823f04f45146f1f4b6e25e16fffdae471b285eb0f23bcba437dfc8f1150c2ece6b46035fd7796499aa82c59f892d22c1b5f3a3b4e
7
+ data.tar.gz: 74ebfcdbfc14584e059ea19963ba02afe370e39abae03267e7e0e0002e97e6dac113685b78b3824a430d32d609f95e18c499867d7dd080bc655be72f97e8a994
@@ -23,27 +23,62 @@ module Pingboard
23
23
 
24
24
  def search(query, options={})
25
25
  options.merge!(q: query)
26
- response = @request.new(self, :get, URL_API_VERSION_PATH + URL_SEARCH_USERS_PATH, options).do
26
+ response = @request.new(
27
+ client: self,
28
+ http_verb: :get,
29
+ path: URL_API_VERSION_PATH + URL_SEARCH_USERS_PATH,
30
+ headers: {'Authorization' => "Bearer #{access_token}" },
31
+ body: nil,
32
+ params: options
33
+ ).do
27
34
  JSON.parse(response.body)
28
35
  end
29
36
 
30
37
  def users(options={})
31
- response = @request.new(self, :get, URL_API_VERSION_PATH + URL_USERS_PATH, options).do
38
+ response = @request.new(
39
+ client: self,
40
+ http_verb: :get,
41
+ path: URL_API_VERSION_PATH + URL_USERS_PATH,
42
+ headers: {'Authorization' => "Bearer #{access_token}" },
43
+ body: nil,
44
+ params: options
45
+ ).do
32
46
  JSON.parse(response.body)
33
47
  end
34
48
 
35
49
  def user(user_id, options={})
36
- response = @request.new(self, :get, URL_API_VERSION_PATH + URL_USERS_PATH + "/#{user_id}", options).do
50
+ response = @request.new(
51
+ client: self,
52
+ http_verb: :get,
53
+ path: URL_API_VERSION_PATH + URL_USERS_PATH + "/#{user_id}",
54
+ headers: {'Authorization' => "Bearer #{access_token}" },
55
+ body: nil,
56
+ params: options
57
+ ).do
37
58
  JSON.parse(response.body)
38
59
  end
39
60
 
40
61
  def status(status_id, options={})
41
- response = @request.new(self, :get, URL_API_VERSION_PATH + URL_STATUSES_PATH + "/#{status_id}", options).do
62
+ response = @request.new(
63
+ client: self,
64
+ http_verb: :get,
65
+ path: URL_API_VERSION_PATH + URL_STATUSES_PATH + "/#{status_id}",
66
+ headers: {'Authorization' => "Bearer #{access_token}" },
67
+ body: nil,
68
+ params: options
69
+ ).do
42
70
  JSON.parse(response.body)
43
71
  end
44
72
 
45
73
  def status_types
46
- response = @request.new(self, :get, URL_API_VERSION_PATH + URL_STATUS_TYPES_PATH).do
74
+ response = @request.new(
75
+ client: self,
76
+ http_verb: :get,
77
+ path: URL_API_VERSION_PATH + URL_STATUS_TYPES_PATH,
78
+ headers: {'Authorization' => "Bearer #{access_token}" },
79
+ body: nil,
80
+ params: nil
81
+ ).do
47
82
  JSON.parse(response.body)
48
83
  end
49
84
 
@@ -70,14 +105,14 @@ module Pingboard
70
105
  end
71
106
 
72
107
  def access_token_request
73
- @access_token_request = connection.post do |req|
74
- req.url URL_OAUTH_TOKEN_PATH
75
- req.params['grant_type'] = 'client_credentials'
76
- req.body = {
77
- client_id: service_app_id,
78
- client_secret: service_app_secret
79
- }
80
- end
108
+ @access_token_request = @request.new(
109
+ client: self,
110
+ http_verb: :post,
111
+ path: URL_OAUTH_TOKEN_PATH,
112
+ headers: { 'Content-Type' => 'application/x-www-form-urlencoded' },
113
+ body: { 'client_id' => "#{service_app_id}", 'client_secret' => "#{service_app_secret}" },
114
+ params: { 'grant_type' => 'client_credentials' }
115
+ ).do
81
116
  end
82
117
 
83
118
  end
@@ -1,23 +1,39 @@
1
1
  module Pingboard
2
2
  class Request
3
3
 
4
- attr_accessor :client, :path, :http_verb
4
+ attr_accessor :client, :path, :http_verb, :headers, :body, :params
5
5
 
6
- def initialize(client, http_verb, path, options={})
6
+ def initialize(client:, http_verb:, path:, headers:, body:, params: {})
7
7
  @client = client
8
8
  @http_verb = http_verb
9
9
  @path = path
10
- @options = options
10
+ @headers = headers
11
+ @body = body
12
+ @params = params
11
13
  end
12
14
 
13
15
  def do
14
- @client.connection.public_send(@http_verb) do |req|
15
- req.url "#{@path}"
16
- req.headers['Authorization'] = "Bearer #{@client.access_token}"
17
- @options.each do |key, value|
18
- req.params["#{key}"] = value
19
- end
16
+ @test = @client.connection.public_send(@http_verb) do |request|
17
+ request.url "#{@path}"
18
+ set_headers!(request) if headers
19
+ set_body!(request) if body
20
+ set_params!(request) if params
20
21
  end
22
+ @test
23
+ end
24
+
25
+ private
26
+
27
+ def set_body!(request)
28
+ request.body = body
29
+ end
30
+
31
+ def set_headers!(request)
32
+ headers.each { |key, value| request.headers["#{key}"] = value }
33
+ end
34
+
35
+ def set_params!(request)
36
+ params.each { |key, value| request.params["#{key}"] = value }
21
37
  end
22
38
 
23
39
  end
data/pingboard.gemspec CHANGED
@@ -3,8 +3,8 @@ $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
3
3
 
4
4
  Gem::Specification.new do |s|
5
5
  s.name = 'pingboard'
6
- s.version = '0.0.7'
7
- s.date = '2017-07-30'
6
+ s.version = '0.0.8'
7
+ s.date = '2017-08-05'
8
8
  s.summary = "The Pingboard API Ruby Client"
9
9
  s.description = "A Ruby client interface for the Pingboard API"
10
10
  s.authors = ["Bryan B. Cabalo"]
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: pingboard
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.7
4
+ version: 0.0.8
5
5
  platform: ruby
6
6
  authors:
7
7
  - Bryan B. Cabalo
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2017-07-30 00:00:00.000000000 Z
11
+ date: 2017-08-05 00:00:00.000000000 Z
12
12
  dependencies: []
13
13
  description: A Ruby client interface for the Pingboard API
14
14
  email: bcabalo@gmail.com