ruby-pushbullet 0.1.1 → 0.1.2
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/README.md +21 -1
- data/lib/pushbullet/push.rb +16 -0
- data/lib/pushbullet/pushable.rb +4 -4
- data/spec/fixtures/vcr_cassettes/push_create_note.yml +57 -0
- data/spec/pushbullet/push_spec.rb +27 -0
- metadata +6 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: b49aed8fdb5c64e3c4253a1c9fe1d84b411867ee
|
4
|
+
data.tar.gz: 8ba43ab44197cdfb6ff915d833d9b08f963f5322
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 756bad7f9044dab161ee878f19777575dbb98f4ea8167764e55c8d2bd054d9e4fce1bf2e3f379718f39d8378b91026569927bbc3fdee9152734e3178f254dbd8
|
7
|
+
data.tar.gz: c03faae1c2fecd83e06d388e540b3d61131797e3720afe757fafe74eb550772d560ba1db9edc4abd83af82d12d17a6525163dc4f4ef9046db0e0e4347190f45a
|
data/README.md
CHANGED
@@ -55,7 +55,27 @@ device.save #update
|
|
55
55
|
|
56
56
|
### Push
|
57
57
|
|
58
|
-
|
58
|
+
```ruby
|
59
|
+
# Id can be an device id or a email
|
60
|
+
|
61
|
+
Pushbullet::Push.create_note(id, title, body)
|
62
|
+
Pushbullet::Push.create_link(id, title, url, body)
|
63
|
+
Pushbullet::Push.create_address(id, name, address)
|
64
|
+
Pushbullet::Push.create_list(id, title, items)
|
65
|
+
```
|
66
|
+
|
67
|
+
**Or directly from a device or a contact**
|
68
|
+
|
69
|
+
```ruby
|
70
|
+
me = Pushbullet::Contact.me
|
71
|
+
me.push_note(title, body)
|
72
|
+
|
73
|
+
# or...
|
74
|
+
|
75
|
+
device = Pushbullet::Device.all.first
|
76
|
+
device.push_link(title, link, body)
|
77
|
+
|
78
|
+
```
|
59
79
|
|
60
80
|
### Channel
|
61
81
|
|
data/lib/pushbullet/push.rb
CHANGED
@@ -1,6 +1,22 @@
|
|
1
1
|
module Pushbullet
|
2
2
|
class Push < Resource
|
3
3
|
|
4
|
+
def self.create_note(id, title, body)
|
5
|
+
create :note, id, title: title, body: body
|
6
|
+
end
|
7
|
+
|
8
|
+
def self.create_link(id, title, url, body)
|
9
|
+
create :link, id, title: title, url: url, body: body
|
10
|
+
end
|
11
|
+
|
12
|
+
def self.create_address(id, name, address)
|
13
|
+
create :address, id, name: name, address: address
|
14
|
+
end
|
15
|
+
|
16
|
+
def self.create_list(id, title, items)
|
17
|
+
create :list, id, title: title, items: items
|
18
|
+
end
|
19
|
+
|
4
20
|
def self.create(type, iden, payload)
|
5
21
|
id = iden[/.@.?/].nil? ? :device_iden : :email
|
6
22
|
super(payload.merge(type: type, id => iden))
|
data/lib/pushbullet/pushable.rb
CHANGED
@@ -2,19 +2,19 @@ module Pushbullet
|
|
2
2
|
module Pushable
|
3
3
|
|
4
4
|
def push_note(title, body)
|
5
|
-
Push.
|
5
|
+
Push.create_note target_id, title, body
|
6
6
|
end
|
7
7
|
|
8
8
|
def push_link(title, url, body)
|
9
|
-
Push.
|
9
|
+
Push.create_link target_id, title, url, body
|
10
10
|
end
|
11
11
|
|
12
12
|
def push_address(name, address)
|
13
|
-
Push.
|
13
|
+
Push.create_address target_id, name, address
|
14
14
|
end
|
15
15
|
|
16
16
|
def push_list(title, items)
|
17
|
-
Push.
|
17
|
+
Push.create_list target_id, title, items
|
18
18
|
end
|
19
19
|
end
|
20
20
|
end
|
@@ -0,0 +1,57 @@
|
|
1
|
+
---
|
2
|
+
http_interactions:
|
3
|
+
- request:
|
4
|
+
method: post
|
5
|
+
uri: https://DhOX5Q8Fps9mq4g90yfrfioRPyo1qQRd:@api.pushbullet.com/v2/pushes
|
6
|
+
body:
|
7
|
+
encoding: US-ASCII
|
8
|
+
string: title=Le%20title&body=Le%20body&type=note&email=letzdevelopment%40gmail.com
|
9
|
+
headers:
|
10
|
+
Accept:
|
11
|
+
- "*/*; q=0.5, application/xml"
|
12
|
+
Accept-Encoding:
|
13
|
+
- gzip, deflate
|
14
|
+
Content-Length:
|
15
|
+
- '75'
|
16
|
+
Content-Type:
|
17
|
+
- application/x-www-form-urlencoded
|
18
|
+
User-Agent:
|
19
|
+
- Ruby
|
20
|
+
response:
|
21
|
+
status:
|
22
|
+
code: 200
|
23
|
+
message: OK
|
24
|
+
headers:
|
25
|
+
Content-Type:
|
26
|
+
- application/json; charset=utf-8
|
27
|
+
X-Ratelimit-Limit:
|
28
|
+
- '16384'
|
29
|
+
X-Ratelimit-Remaining:
|
30
|
+
- '16381'
|
31
|
+
X-Ratelimit-Reset:
|
32
|
+
- '1422834116'
|
33
|
+
Date:
|
34
|
+
- Sun, 01 Feb 2015 23:12:20 GMT
|
35
|
+
Server:
|
36
|
+
- Google Frontend
|
37
|
+
Cache-Control:
|
38
|
+
- private
|
39
|
+
Transfer-Encoding:
|
40
|
+
- chunked
|
41
|
+
body:
|
42
|
+
encoding: ASCII-8BIT
|
43
|
+
string: !binary |-
|
44
|
+
eyJhY3RpdmUiOnRydWUsImlkZW4iOiJ1akMyZjd6NnN2Y3NqQXlmRmN1Tm9H
|
45
|
+
IiwiY3JlYXRlZCI6MS40MjI4MzIzMzk5NzExNTZlKzA5LCJtb2RpZmllZCI6
|
46
|
+
MS40MjI4MzIzNDAwNDQwNTQ3ZSswOSwidHlwZSI6Im5vdGUiLCJkaXNtaXNz
|
47
|
+
ZWQiOmZhbHNlLCJzZW5kZXJfaWRlbiI6InVqQzJmN3o2c3ZjIiwic2VuZGVy
|
48
|
+
X2VtYWlsIjoicmljYXJkbzdybEBnbWFpbC5jb20iLCJzZW5kZXJfZW1haWxf
|
49
|
+
bm9ybWFsaXplZCI6InJpY2FyZG83cmxAZ21haWwuY29tIiwic2VuZGVyX25h
|
50
|
+
bWUiOiJSaWNhcmRvIExlaXTDo28iLCJyZWNlaXZlcl9pZGVuIjoidWpEeUlV
|
51
|
+
TFlyelUiLCJyZWNlaXZlcl9lbWFpbCI6ImxldHpkZXZlbG9wbWVudEBnbWFp
|
52
|
+
bC5jb20iLCJyZWNlaXZlcl9lbWFpbF9ub3JtYWxpemVkIjoibGV0emRldmVs
|
53
|
+
b3BtZW50QGdtYWlsLmNvbSIsInRpdGxlIjoiTGUgdGl0bGUiLCJib2R5Ijoi
|
54
|
+
TGUgYm9keSJ9
|
55
|
+
http_version:
|
56
|
+
recorded_at: Sun, 01 Feb 2015 23:12:20 GMT
|
57
|
+
recorded_with: VCR 2.9.3
|
@@ -0,0 +1,27 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
describe Pushbullet::Push do
|
4
|
+
describe '::create_note' do
|
5
|
+
context 'given an id, a title and a body' do
|
6
|
+
let(:id) { 'letzdevelopment@gmail.com' }
|
7
|
+
let(:title) { 'Le title' }
|
8
|
+
let(:body) { 'Le body' }
|
9
|
+
|
10
|
+
it 'returns a Push' do
|
11
|
+
VCR.use_cassette('push_create_note') do
|
12
|
+
expect(described_class.create_note id, title, body).to be_a described_class
|
13
|
+
end
|
14
|
+
end
|
15
|
+
end
|
16
|
+
end
|
17
|
+
|
18
|
+
describe '::create_link' do
|
19
|
+
|
20
|
+
end
|
21
|
+
|
22
|
+
describe '::create_address' do
|
23
|
+
|
24
|
+
end
|
25
|
+
|
26
|
+
describe '::create_list'
|
27
|
+
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: ruby-pushbullet
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Ricardo Leitao
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2015-02-
|
11
|
+
date: 2015-02-02 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -217,8 +217,10 @@ files:
|
|
217
217
|
- spec/fixtures/vcr_cassettes/devices_create.yml
|
218
218
|
- spec/fixtures/vcr_cassettes/devices_remove.yml
|
219
219
|
- spec/fixtures/vcr_cassettes/devices_update.yml
|
220
|
+
- spec/fixtures/vcr_cassettes/push_create_note.yml
|
220
221
|
- spec/pushbullet/contact_spec.rb
|
221
222
|
- spec/pushbullet/devices_spec.rb
|
223
|
+
- spec/pushbullet/push_spec.rb
|
222
224
|
- spec/pushbullet_spec.rb
|
223
225
|
- spec/spec_helper.rb
|
224
226
|
- spec/support/factories.rb
|
@@ -255,8 +257,10 @@ test_files:
|
|
255
257
|
- spec/fixtures/vcr_cassettes/devices_create.yml
|
256
258
|
- spec/fixtures/vcr_cassettes/devices_remove.yml
|
257
259
|
- spec/fixtures/vcr_cassettes/devices_update.yml
|
260
|
+
- spec/fixtures/vcr_cassettes/push_create_note.yml
|
258
261
|
- spec/pushbullet/contact_spec.rb
|
259
262
|
- spec/pushbullet/devices_spec.rb
|
263
|
+
- spec/pushbullet/push_spec.rb
|
260
264
|
- spec/pushbullet_spec.rb
|
261
265
|
- spec/spec_helper.rb
|
262
266
|
- spec/support/factories.rb
|