pushbullet_client 0.0.2 → 0.0.7

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
  SHA256:
3
- metadata.gz: 13463788a15fad6e416d2cf3fcbcf9a582f11f15d5066bae24b563794708b851
4
- data.tar.gz: 83d8b80b52c871c097ca56abd3b14bffc9aca7195bed138980ac1f26e7dfdefe
3
+ metadata.gz: 3bdb05a958b0de8f404bcf83f0e4f181912f6a3880c326479a18fb95a8d8a3ee
4
+ data.tar.gz: 115200ad226012ccb28727725a382a4cd8dfc2dcdaabccf34a6bf3b18b019ee0
5
5
  SHA512:
6
- metadata.gz: f01d2a23d2b3bef7f01219cd67555ad2595fb5a28f6d1bb333f56177aa3c08e4dad127b9cb6cc505545688bac278602a65db69777979e1b7730de499f6c4968e
7
- data.tar.gz: 3a842fb075c008bf3b9c529387c8a3d74b2193e038d91a8c0e2ca93079fad10b3fdc9e5c5e614b4ce576e1631b97f6ad5777769498f758bfc782bd1aa9328a25
6
+ metadata.gz: a02938bb062f56bbd94a15ad108bac37e6f3cb101dcc98602c85c0a33824646269d8d900ecbdaebf7abe53939aa9120cd3641343d0829e14b5cc0c49173109ed
7
+ data.tar.gz: 385072aab1a37d8f70d2ee7e37c55286e595811738c16fa5aa3bb2b32e72bd22f7b4708de13e9a7139d0252f25e13ce2e1493cff39f02a8c279c1b03820fc5d0
data/.gitignore CHANGED
File without changes
File without changes
data/Gemfile CHANGED
File without changes
data/LICENSE CHANGED
File without changes
File without changes
data/README.md CHANGED
File without changes
data/Rakefile CHANGED
File without changes
@@ -0,0 +1,3 @@
1
+ #!/bin/bash
2
+ gem build pushbullet_client.gemspec
3
+ gem push pushbullet_client
@@ -5,9 +5,16 @@ require 'pushbullet/version'
5
5
  require 'pushbullet/constants'
6
6
 
7
7
  # Endpoints
8
+ require 'pushbullet/chats'
9
+ require 'pushbullet/devices'
10
+ require 'pushbullet/permanents'
11
+ require 'pushbullet/pushes'
12
+ require 'pushbullet/subscriptions'
13
+ require 'pushbullet/texts'
14
+ require 'pushbullet/users'
8
15
 
9
16
  require 'pushbullet/client'
10
17
 
11
- module Luno
18
+ module Pushbullet
12
19
  class Error < StandardError; end
13
20
  end
@@ -1,8 +1,9 @@
1
1
  module Pushbullet
2
2
  module Chats
3
- def chats
3
+ def chats(params: {}, cursor: nil)
4
+ params = process_cursor(cursor, params: params)
4
5
  path = 'chats'
5
- authorise_and_send(http_method: :get, path: path)
6
+ authorise_and_send(http_method: :get, path: path, params: params)
6
7
  end
7
8
  end
8
9
  end
@@ -23,10 +23,11 @@ module Pushbullet
23
23
 
24
24
  attr_reader :key, :secret, :base_path, :port
25
25
 
26
- def initialize(access_token:, base_path: 'https://api.pushbullet.com/v2', port: 80)
26
+ def initialize(access_token:, base_path: API_V2_BASE_PATH, port: 80, limit: 500)
27
27
  @access_token = access_token
28
28
  @base_path = base_path
29
29
  @port = port
30
+ @limit = limit
30
31
  end
31
32
 
32
33
  def self.compatible_api_version
@@ -43,6 +44,12 @@ module Pushbullet
43
44
  def authorise_and_send(http_method:, path:, payload: {}, params: {})
44
45
  start_time = micro_second_time_now
45
46
 
47
+ if params.nil? || params.empty?
48
+ params = {}
49
+ end
50
+
51
+ params['limit'] = @limit
52
+
46
53
  response = HTTParty.send(
47
54
  http_method.to_sym,
48
55
  construct_base_path(path, params),
@@ -73,7 +80,8 @@ module Pushbullet
73
80
  {
74
81
  'start_time' => start_time,
75
82
  'end_time' => end_time,
76
- 'total_time' => total_time
83
+ 'total_time' => total_time,
84
+ 'cursor' => response.dig('cursor')
77
85
  }
78
86
  end
79
87
 
@@ -104,7 +112,7 @@ module Pushbullet
104
112
  def construct_base_path(path, params)
105
113
  constructed_path = "#{base_path}/#{path}"
106
114
 
107
- if params != {}
115
+ if params == {}
108
116
  constructed_path
109
117
  else
110
118
  "#{constructed_path}?#{process_params(params)}"
@@ -114,5 +122,11 @@ module Pushbullet
114
122
  def process_params(params)
115
123
  params.keys.map { |key| "#{key}=#{params[key]}" }.join('&')
116
124
  end
125
+
126
+ def process_cursor(cursor, params: {})
127
+ unless cursor.nil? || cursor.empty?
128
+ params['cursor'] = cursor
129
+ end
130
+ end
117
131
  end
118
132
  end
@@ -1,4 +1,5 @@
1
1
  module Pushbullet
2
2
  module Constants
3
+ API_V2_BASE_PATH = 'https://api.pushbullet.com/v2'
3
4
  end
4
5
  end
@@ -1,8 +1,9 @@
1
1
  module Pushbullet
2
2
  module Devices
3
- def devices
3
+ def devices(params: {}, cursor: nil)
4
+ params = process_cursor(cursor, params: params)
4
5
  path = 'devices'
5
- authorise_and_send(http_method: :get, path: path)
6
+ authorise_and_send(http_method: :get, path: path, params: params)
6
7
  end
7
8
  end
8
9
  end
@@ -1,14 +1,18 @@
1
1
  module Pushbullet
2
2
  module Permanents
3
3
  # See: https://stackoverflow.com/questions/38027963/pushbullet-api-thread-id-to-conversation-iden-for-sms
4
- def permanents(device_identity:)
4
+ def permanents(device_identity:, params: {}, cursor: nil)
5
+ params = process_cursor(cursor, params: params)
6
+
5
7
  path = "permanents/#{device_identity}_threads"
6
- authorise_and_send(http_method: :get, path: path)
8
+ authorise_and_send(http_method: :get, path: path, params: params)
7
9
  end
8
10
 
9
- def permanent_conversation(device_identity:, thread_id:)
11
+ def permanent_conversation(device_identity:, thread_id:, params: {}, cursor: nil)
12
+ params = process_cursor(cursor, params: params)
13
+
10
14
  path = "permanents/#{device_identity}_thread_#{thread_id}"
11
- authorise_and_send(http_method: :get, path: path)
15
+ authorise_and_send(http_method: :get, path: path, params: params)
12
16
  end
13
17
  end
14
18
  end
@@ -1,8 +1,16 @@
1
1
  module Pushbullet
2
2
  module Pushes
3
- def pushes
3
+ def pushes(params: {}, cursor: nil)
4
+ params = process_cursor(cursor, params: params)
4
5
  path = 'pushes'
5
- authorise_and_send(http_method: :get, path: path)
6
+ authorise_and_send(http_method: :get, path: path, params: params)
7
+ end
8
+
9
+ def self_pushes(params: {}, cursor: nil)
10
+ params = process_cursor(cursor, params: params.merge({ self: true }))
11
+
12
+ path = 'pushes'
13
+ authorise_and_send(http_method: :get, path: path, params: params)
6
14
  end
7
15
  end
8
16
  end
@@ -1,8 +1,9 @@
1
1
  module Pushbullet
2
2
  module Subscriptions
3
- def subscriptions
3
+ def subscriptions(params: {}, cursor: nil)
4
+ params = process_cursor(cursor, params: params)
4
5
  path = 'subscriptions'
5
- authorise_and_send(http_method: :get, path: path)
6
+ authorise_and_send(http_method: :get, path: path, params: params)
6
7
  end
7
8
  end
8
9
  end
@@ -1,8 +1,9 @@
1
1
  module Pushbullet
2
2
  module Texts
3
- def texts
3
+ def texts(params: {}, cursor: nil)
4
+ params = process_cursor(cursor, params: params)
4
5
  path = 'texts'
5
- authorise_and_send(http_method: :get, path: path)
6
+ authorise_and_send(http_method: :get, path: path, params: params)
6
7
  end
7
8
  end
8
9
  end
@@ -1,8 +1,9 @@
1
1
  module Pushbullet
2
2
  module Users
3
- def me
3
+ def me(params: {}, cursor: nil)
4
+ params = process_cursor(cursor, params: params)
4
5
  path = 'users/me'
5
- authorise_and_send(http_method: :get, path: path)
6
+ authorise_and_send(http_method: :get, path: path, params: params)
6
7
  end
7
8
  end
8
9
  end
@@ -1,3 +1,3 @@
1
1
  module Pushbullet
2
- VERSION = '0.0.2'
2
+ VERSION = '0.0.7'
3
3
  end
@@ -23,7 +23,7 @@ Gem::Specification.new do |spec|
23
23
 
24
24
  spec.add_dependency 'active_attr', '~> 0.15'
25
25
  spec.add_dependency 'httparty', '~> 0.18'
26
- spec.add_dependency 'nokogiri', '~> 1.10.9'
26
+ spec.add_dependency 'nokogiri', '>= 1.11.0.rc4'
27
27
 
28
28
  # Development dependancies
29
29
  spec.add_development_dependency 'bundler', '~> 1.17'
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: pushbullet_client
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.2
4
+ version: 0.0.7
5
5
  platform: ruby
6
6
  authors:
7
7
  - trex22
8
- autorequire:
8
+ autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2020-10-18 00:00:00.000000000 Z
11
+ date: 2021-01-01 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: active_attr
@@ -42,16 +42,16 @@ dependencies:
42
42
  name: nokogiri
43
43
  requirement: !ruby/object:Gem::Requirement
44
44
  requirements:
45
- - - "~>"
45
+ - - ">="
46
46
  - !ruby/object:Gem::Version
47
- version: 1.10.9
47
+ version: 1.11.0.rc4
48
48
  type: :runtime
49
49
  prerelease: false
50
50
  version_requirements: !ruby/object:Gem::Requirement
51
51
  requirements:
52
- - - "~>"
52
+ - - ">="
53
53
  - !ruby/object:Gem::Version
54
- version: 1.10.9
54
+ version: 1.11.0.rc4
55
55
  - !ruby/object:Gem::Dependency
56
56
  name: bundler
57
57
  requirement: !ruby/object:Gem::Requirement
@@ -194,6 +194,7 @@ files:
194
194
  - README.md
195
195
  - Rakefile
196
196
  - bin/console
197
+ - bin/make
197
198
  - bin/setup
198
199
  - lib/pushbullet.rb
199
200
  - lib/pushbullet/chats.rb
@@ -211,7 +212,7 @@ homepage: https://github.com/TRex22/pushbullet_client
211
212
  licenses:
212
213
  - MIT
213
214
  metadata: {}
214
- post_install_message:
215
+ post_install_message:
215
216
  rdoc_options: []
216
217
  require_paths:
217
218
  - lib
@@ -226,8 +227,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
226
227
  - !ruby/object:Gem::Version
227
228
  version: '0'
228
229
  requirements: []
229
- rubygems_version: 3.1.4
230
- signing_key:
230
+ rubygems_version: 3.2.3
231
+ signing_key:
231
232
  specification_version: 4
232
233
  summary: A client for using the Pushbullet API in Ruby.
233
234
  test_files: []