pinboard 0.0.4 → 0.0.5
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 +7 -0
- data/Guardfile +5 -2
- data/README.md +10 -1
- data/lib/pinboard/client.rb +29 -0
- data/lib/pinboard/post.rb +2 -2
- data/pinboard.gemspec +7 -6
- data/spec/fixtures/created.xml +2 -0
- data/spec/fixtures/deleted.xml +2 -0
- data/spec/fixtures/missing_description.xml +2 -0
- data/spec/fixtures/missing_url.xml +2 -0
- data/spec/fixtures/multiple_posts.xml +2 -2
- data/spec/fixtures/not_found.xml +2 -0
- data/spec/helper.rb +9 -2
- data/spec/pinboard/client_spec.rb +181 -0
- data/spec/pinboard/post_spec.rb +3 -0
- metadata +110 -36
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA1:
|
3
|
+
metadata.gz: 87e4728ac5ff02326e59e0e45c4fe16fc9d6ce5f
|
4
|
+
data.tar.gz: 14d81e89e3e115e54b28734c3aa7e5fcbc57f78b
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: 29a4d7c10d0d505d206480eb8cdac5c2c50cb856fc06dae85d242ab24abb5b15e5e467195707da4238f6f88cb8af50f4d4ae80b6ec723aeda989d22a298719a9
|
7
|
+
data.tar.gz: 7400003c1fd60bdf8c0f070d42249040012da1f6de16b21989c62dd357922ea5d04d7e18b7146678df578aab14c06b0300c185eb1b2fcc9f6dab126ca2481873
|
data/Guardfile
CHANGED
data/README.md
CHANGED
@@ -33,6 +33,13 @@ Passing arguments: (works only for the Client API Interface)
|
|
33
33
|
pinboard.posts(:todt => 4.days.ago) #all posts up to 4 days ago
|
34
34
|
```
|
35
35
|
|
36
|
+
Adding new posts:
|
37
|
+
|
38
|
+
```ruby
|
39
|
+
pinboard.add(:url => "http://example.com/", :description => 'Example post')
|
40
|
+
```
|
41
|
+
|
42
|
+
|
36
43
|
Future Examples (I don't need them, so I haven't written them)
|
37
44
|
--------------------------------------------------------------
|
38
45
|
|
@@ -51,6 +58,8 @@ integration and support of the following rubies in rvm:
|
|
51
58
|
|
52
59
|
[](http://travis-ci.org/ryw/pinboard)
|
53
60
|
|
61
|
+
[](https://codeclimate.com/github/ryw/pinboard)
|
62
|
+
|
54
63
|
Links
|
55
64
|
-----
|
56
65
|
* [Pinboard API Documentation](http://pinboard.in/api/)
|
@@ -64,7 +73,7 @@ If you find what looks like a bug:
|
|
64
73
|
* If you don’t see anything, create an issue with information on how to reproduce it.
|
65
74
|
|
66
75
|
If you want to contribute an enhancement or a fix:
|
67
|
-
|
76
|
+
|
68
77
|
* Fork the [project on github](http://github.com/ryw/pinboard).
|
69
78
|
* Make your changes with specs.
|
70
79
|
* Commit the changes without messing with the Rakefile, VERSION, or history.
|
data/lib/pinboard/client.rb
CHANGED
@@ -1,6 +1,8 @@
|
|
1
1
|
require 'httparty'
|
2
2
|
|
3
3
|
module Pinboard
|
4
|
+
Error = Class.new(StandardError)
|
5
|
+
|
4
6
|
class Client
|
5
7
|
include HTTParty
|
6
8
|
base_uri 'api.pinboard.in:443/v1'
|
@@ -19,5 +21,32 @@ module Pinboard
|
|
19
21
|
posts = [posts] if posts.class != Array
|
20
22
|
posts.map { |p| Post.new(Util.symbolize_keys(p)) }
|
21
23
|
end
|
24
|
+
|
25
|
+
def add(params={})
|
26
|
+
options = {}
|
27
|
+
options[:basic_auth] = @auth
|
28
|
+
|
29
|
+
# Pinboard expects multiple tags=foo,bar separated by comma instead of tag=foo&tag=bar
|
30
|
+
params[:tags] = Array(params[:tags]).join(',') if params[:tags]
|
31
|
+
|
32
|
+
# Pinboard expects replace, shared and toread as yes/no instead of true/false
|
33
|
+
[:replace, :shared, :toread].each do |boolean|
|
34
|
+
params[boolean] = params[boolean] ? 'yes' : 'no' if params.has_key?(boolean)
|
35
|
+
end
|
36
|
+
|
37
|
+
options[:query] = params
|
38
|
+
result_code = self.class.post('/posts/add', options).parsed_response["result"]["code"]
|
39
|
+
|
40
|
+
raise Error.new(result_code) if result_code != "done"
|
41
|
+
end
|
42
|
+
|
43
|
+
def delete(params={})
|
44
|
+
options = {}
|
45
|
+
options[:basic_auth] = @auth
|
46
|
+
options[:query] = params
|
47
|
+
result_code = self.class.get('/posts/delete', options).parsed_response["result"]["code"]
|
48
|
+
|
49
|
+
raise Error.new(result_code) if result_code != "done"
|
50
|
+
end
|
22
51
|
end
|
23
52
|
end
|
data/lib/pinboard/post.rb
CHANGED
@@ -1,12 +1,12 @@
|
|
1
1
|
module Pinboard
|
2
|
-
class Post < Struct.new(:href, :description, :tag, :time)
|
2
|
+
class Post < Struct.new(:href, :description, :extended, :tag, :time, :replace, :shared, :toread)
|
3
3
|
def self.all(options={})
|
4
4
|
client = Pinboard::Client.new(options)
|
5
5
|
posts = client.class.get('/posts/all',
|
6
6
|
:basic_auth => options)['posts']['post']
|
7
7
|
posts.map { |p| Post.new(Util.symbolize_keys(p)) }
|
8
8
|
end
|
9
|
-
|
9
|
+
|
10
10
|
def initialize(attributes={})
|
11
11
|
self.time = Util.parse_time(attributes.delete(:time))
|
12
12
|
self.tag = attributes.delete(:tag).split(" ")
|
data/pinboard.gemspec
CHANGED
@@ -4,14 +4,15 @@ Gem::Specification.new do |s|
|
|
4
4
|
s.add_development_dependency 'rspec', '~> 2.6'
|
5
5
|
s.add_development_dependency 'webmock', '~> 1.6'
|
6
6
|
s.add_development_dependency 'guard-rspec', '~> 0.5'
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
7
|
+
s.add_development_dependency 'guard-bundler'
|
8
|
+
s.add_development_dependency 'libnotify'
|
9
|
+
s.add_development_dependency 'rb-inotify'
|
10
|
+
s.add_development_dependency 'rb-fsevent'
|
11
|
+
s.add_development_dependency 'terminal-notifier-guard'
|
12
|
+
|
12
13
|
s.add_runtime_dependency 'httparty', '= 0.7.8'
|
13
14
|
s.name = 'pinboard'
|
14
|
-
s.version = '0.0.
|
15
|
+
s.version = '0.0.5'
|
15
16
|
s.date = '2012-05-08'
|
16
17
|
s.summary = "Ruby wrapper for the Pinboard API"
|
17
18
|
s.description = "Ruby wrapper for the Pinboard API"
|
@@ -3,7 +3,7 @@
|
|
3
3
|
<post href="http://foo.com/"
|
4
4
|
time="2011-07-26T17:52:04Z"
|
5
5
|
description="Foo!"
|
6
|
-
extended=""
|
6
|
+
extended="long description Foo"
|
7
7
|
tag="foo bar"
|
8
8
|
hash="0c85c54332a588d18a85e963257e8fbc"
|
9
9
|
meta="5cea9129d6a4f10e4790cc8665c48423"
|
@@ -12,7 +12,7 @@
|
|
12
12
|
<post href="http://bar.com/"
|
13
13
|
time="2011-07-26T17:52:04Z"
|
14
14
|
description="Bar!"
|
15
|
-
extended=""
|
15
|
+
extended="long description Bar"
|
16
16
|
tag="foo bar"
|
17
17
|
hash="0c85c54332a588d18a85e963257e8fbc"
|
18
18
|
meta="5cea9129d6a4f10e4790cc8665c48423"
|
data/spec/helper.rb
CHANGED
@@ -12,8 +12,15 @@ def a_get(path)
|
|
12
12
|
end
|
13
13
|
|
14
14
|
def stub_get(path)
|
15
|
-
uri
|
16
|
-
|
15
|
+
stub_request(:get, uri(path))
|
16
|
+
end
|
17
|
+
|
18
|
+
def stub_post(path)
|
19
|
+
stub_request(:post, uri(path))
|
20
|
+
end
|
21
|
+
|
22
|
+
def uri(path)
|
23
|
+
"https://#{auth_params[:username]}:#{auth_params[:password]}@api.pinboard.in/v1/#{path}"
|
17
24
|
end
|
18
25
|
|
19
26
|
def fixture_path
|
@@ -17,12 +17,16 @@ describe Pinboard::Client do
|
|
17
17
|
Pinboard::Post.new(
|
18
18
|
:href => "http://foo.com/",
|
19
19
|
:description => "Foo!",
|
20
|
+
:extended => "long description Foo",
|
20
21
|
:tag => 'foo bar',
|
22
|
+
:toread => 'yes',
|
21
23
|
:time => Time.parse("2011-07-26T17:52:04Z")),
|
22
24
|
Pinboard::Post.new(
|
23
25
|
:href => "http://bar.com/",
|
24
26
|
:description => "Bar!",
|
27
|
+
:extended => "long description Bar",
|
25
28
|
:tag => 'foo bar',
|
29
|
+
:toread => 'yes',
|
26
30
|
:time => Time.parse("2011-07-26T17:52:04Z")),
|
27
31
|
]
|
28
32
|
|
@@ -54,4 +58,181 @@ describe Pinboard::Client do
|
|
54
58
|
end
|
55
59
|
end
|
56
60
|
end
|
61
|
+
|
62
|
+
describe "#delete" do
|
63
|
+
let(:client) { Pinboard::Client.new(auth_params) }
|
64
|
+
|
65
|
+
context "when there are many posts" do
|
66
|
+
before do
|
67
|
+
stub_get("posts/delete?url=http://bar.com/").
|
68
|
+
to_return(:body => fixture("deleted.xml"),
|
69
|
+
:headers => { 'content-type' => 'text/xml' })
|
70
|
+
end
|
71
|
+
|
72
|
+
it "succeeds without raising an error" do
|
73
|
+
expect{client.delete(:url => "http://bar.com/")}.to_not raise_error
|
74
|
+
end
|
75
|
+
end
|
76
|
+
|
77
|
+
context "when specified url is not found" do
|
78
|
+
before do
|
79
|
+
stub_get("posts/delete?url=http://baz.com/").
|
80
|
+
to_return(:body => fixture("not_found.xml"),
|
81
|
+
:headers => { 'content-type' => 'text/xml' })
|
82
|
+
end
|
83
|
+
|
84
|
+
it "throws an error" do
|
85
|
+
expect{client.delete(:url => "http://baz.com/")}.to raise_error(Pinboard::Error, 'item not found')
|
86
|
+
end
|
87
|
+
end
|
88
|
+
end
|
89
|
+
|
90
|
+
describe "#add" do
|
91
|
+
let(:client) do
|
92
|
+
Pinboard::Client.new(auth_params)
|
93
|
+
end
|
94
|
+
|
95
|
+
context "where the post does not exist yet" do
|
96
|
+
|
97
|
+
context 'and the url is missing' do
|
98
|
+
before do
|
99
|
+
stub_post("posts/add").
|
100
|
+
to_return(:body => fixture("missing_url.xml"),
|
101
|
+
:headers => { 'content-type' => 'text/xml' })
|
102
|
+
end
|
103
|
+
|
104
|
+
it "throws an error" do
|
105
|
+
expect { client.add(nil) }.to raise_error
|
106
|
+
end
|
107
|
+
end
|
108
|
+
|
109
|
+
context 'and the description is missing' do
|
110
|
+
before do
|
111
|
+
stub_post("posts/add?url=http://baz.com/").
|
112
|
+
to_return(:body => fixture("missing_description.xml"),
|
113
|
+
:headers => { 'content-type' => 'text/xml' })
|
114
|
+
end
|
115
|
+
|
116
|
+
it "throws an error" do
|
117
|
+
expect { client.add(:url => "http://baz.com/") }.to raise_error(Pinboard::Error, 'missing description')
|
118
|
+
end
|
119
|
+
end
|
120
|
+
|
121
|
+
context 'and the description is present' do
|
122
|
+
before do
|
123
|
+
stub_post("posts/add?url=http://baz.com/&description=title").
|
124
|
+
to_return(:body => fixture("created.xml"),
|
125
|
+
:headers => { 'content-type' => 'text/xml' })
|
126
|
+
end
|
127
|
+
|
128
|
+
it "succeeds without raising an exception" do
|
129
|
+
expect {client.add(:url => "http://baz.com/", :description => 'title')}.to_not raise_error
|
130
|
+
end
|
131
|
+
end
|
132
|
+
|
133
|
+
context 'and toread is set to true' do
|
134
|
+
before do
|
135
|
+
stub_post("posts/add?url=http://baz.com/&description=title&toread=yes").
|
136
|
+
to_return(:body => fixture("created.xml"),
|
137
|
+
:headers => { 'content-type' => 'text/xml' })
|
138
|
+
end
|
139
|
+
|
140
|
+
it "succeeds without raising an exception" do
|
141
|
+
expect {client.add(:url => "http://baz.com/", :description => 'title', :toread => true)}.to_not raise_error
|
142
|
+
end
|
143
|
+
end
|
144
|
+
|
145
|
+
context 'and toread is set to false' do
|
146
|
+
before do
|
147
|
+
stub_post("posts/add?url=http://baz.com/&description=title&toread=no").
|
148
|
+
to_return(:body => fixture("created.xml"),
|
149
|
+
:headers => { 'content-type' => 'text/xml' })
|
150
|
+
end
|
151
|
+
|
152
|
+
it "succeeds without raising an exception" do
|
153
|
+
expect {client.add(:url => "http://baz.com/", :description => 'title', :toread => false)}.to_not raise_error
|
154
|
+
end
|
155
|
+
end
|
156
|
+
|
157
|
+
context 'and replace is set to true' do
|
158
|
+
before do
|
159
|
+
stub_post("posts/add?url=http://baz.com/&description=title&replace=yes").
|
160
|
+
to_return(:body => fixture("created.xml"),
|
161
|
+
:headers => { 'content-type' => 'text/xml' })
|
162
|
+
end
|
163
|
+
|
164
|
+
it "succeeds without raising an exception" do
|
165
|
+
expect {client.add(:url => "http://baz.com/", :description => 'title', :replace => true)}.to_not raise_error
|
166
|
+
end
|
167
|
+
end
|
168
|
+
|
169
|
+
context 'and replace is set to false' do
|
170
|
+
before do
|
171
|
+
stub_post("posts/add?url=http://baz.com/&description=title&replace=no").
|
172
|
+
to_return(:body => fixture("created.xml"),
|
173
|
+
:headers => { 'content-type' => 'text/xml' })
|
174
|
+
end
|
175
|
+
|
176
|
+
it "succeeds without raising an exception" do
|
177
|
+
expect {client.add(:url => "http://baz.com/", :description => 'title', :replace => false)}.to_not raise_error
|
178
|
+
end
|
179
|
+
end
|
180
|
+
|
181
|
+
context 'and shared is set to true' do
|
182
|
+
before do
|
183
|
+
stub_post("posts/add?url=http://baz.com/&description=title&shared=yes").
|
184
|
+
to_return(:body => fixture("created.xml"),
|
185
|
+
:headers => { 'content-type' => 'text/xml' })
|
186
|
+
end
|
187
|
+
|
188
|
+
it "succeeds without raising an exception" do
|
189
|
+
expect {client.add(:url => "http://baz.com/", :description => 'title', :shared => true)}.to_not raise_error
|
190
|
+
end
|
191
|
+
end
|
192
|
+
|
193
|
+
context 'and shared is set to false' do
|
194
|
+
before do
|
195
|
+
stub_post("posts/add?url=http://baz.com/&description=title&shared=no").
|
196
|
+
to_return(:body => fixture("created.xml"),
|
197
|
+
:headers => { 'content-type' => 'text/xml' })
|
198
|
+
end
|
199
|
+
|
200
|
+
it "succeeds without raising an exception" do
|
201
|
+
expect {client.add(:url => "http://baz.com/", :description => 'title', :shared => false)}.to_not raise_error
|
202
|
+
end
|
203
|
+
end
|
204
|
+
|
205
|
+
context 'and replace, shared, and toread are all set to true' do
|
206
|
+
before do
|
207
|
+
stub_post("posts/add?url=http://baz.com/&description=title&replace=yes&shared=yes&toread=yes").
|
208
|
+
to_return(:body => fixture("created.xml"),
|
209
|
+
:headers => { 'content-type' => 'text/xml' })
|
210
|
+
end
|
211
|
+
|
212
|
+
it "succeeds without raising an exception" do
|
213
|
+
expect {client.add(:url => "http://baz.com/",
|
214
|
+
:description => 'title',
|
215
|
+
:replace => true,
|
216
|
+
:shared => true,
|
217
|
+
:toread => true)}.to_not raise_error
|
218
|
+
end
|
219
|
+
end
|
220
|
+
|
221
|
+
context 'and replace, shared, and toread are all set to false' do
|
222
|
+
before do
|
223
|
+
stub_post("posts/add?url=http://baz.com/&description=title&replace=no&shared=no&toread=no").
|
224
|
+
to_return(:body => fixture("created.xml"),
|
225
|
+
:headers => { 'content-type' => 'text/xml' })
|
226
|
+
end
|
227
|
+
|
228
|
+
it "succeeds without raising an exception" do
|
229
|
+
expect {client.add(:url => "http://baz.com/",
|
230
|
+
:description => 'title',
|
231
|
+
:replace => false,
|
232
|
+
:shared => false,
|
233
|
+
:toread => false)}.to_not raise_error
|
234
|
+
end
|
235
|
+
end
|
236
|
+
end
|
237
|
+
end
|
57
238
|
end
|
data/spec/pinboard/post_spec.rb
CHANGED
@@ -19,6 +19,7 @@ describe Pinboard::Post do
|
|
19
19
|
post = posts.first
|
20
20
|
post.href.should == "http://foo.com/"
|
21
21
|
post.description.should == "Foo!"
|
22
|
+
post.extended.should == "long description Foo"
|
22
23
|
post.tag.should == ["foo", "bar"]
|
23
24
|
post.time.should == Time.parse('Tue Jul 26 17:52:04 UTC 2011')
|
24
25
|
end
|
@@ -29,6 +30,7 @@ describe Pinboard::Post do
|
|
29
30
|
Pinboard::Post.new(
|
30
31
|
:href => 'http://foo.com',
|
31
32
|
:description => 'Foo!',
|
33
|
+
:extended => "long description Foo",
|
32
34
|
:tag => 'rspec pinboard',
|
33
35
|
:time => Time.mktime(2011, 1, 1))
|
34
36
|
}
|
@@ -36,6 +38,7 @@ describe Pinboard::Post do
|
|
36
38
|
it "initializes attributes" do
|
37
39
|
post.href.should == 'http://foo.com'
|
38
40
|
post.description.should == 'Foo!'
|
41
|
+
post.extended.should == "long description Foo"
|
39
42
|
post.tag.should == %w{rspec pinboard}
|
40
43
|
post.time.should == Time.mktime(2011, 1, 1)
|
41
44
|
end
|
metadata
CHANGED
@@ -1,8 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: pinboard
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
5
|
-
prerelease:
|
4
|
+
version: 0.0.5
|
6
5
|
platform: ruby
|
7
6
|
authors:
|
8
7
|
- Ryan Waker
|
@@ -13,92 +12,158 @@ date: 2012-05-08 00:00:00.000000000 Z
|
|
13
12
|
dependencies:
|
14
13
|
- !ruby/object:Gem::Dependency
|
15
14
|
name: yard
|
16
|
-
requirement:
|
17
|
-
none: false
|
15
|
+
requirement: !ruby/object:Gem::Requirement
|
18
16
|
requirements:
|
19
17
|
- - ~>
|
20
18
|
- !ruby/object:Gem::Version
|
21
19
|
version: '0.7'
|
22
20
|
type: :development
|
23
21
|
prerelease: false
|
24
|
-
version_requirements:
|
22
|
+
version_requirements: !ruby/object:Gem::Requirement
|
23
|
+
requirements:
|
24
|
+
- - ~>
|
25
|
+
- !ruby/object:Gem::Version
|
26
|
+
version: '0.7'
|
25
27
|
- !ruby/object:Gem::Dependency
|
26
28
|
name: rake
|
27
|
-
requirement:
|
28
|
-
none: false
|
29
|
+
requirement: !ruby/object:Gem::Requirement
|
29
30
|
requirements:
|
30
31
|
- - ~>
|
31
32
|
- !ruby/object:Gem::Version
|
32
33
|
version: '0.9'
|
33
34
|
type: :development
|
34
35
|
prerelease: false
|
35
|
-
version_requirements:
|
36
|
+
version_requirements: !ruby/object:Gem::Requirement
|
37
|
+
requirements:
|
38
|
+
- - ~>
|
39
|
+
- !ruby/object:Gem::Version
|
40
|
+
version: '0.9'
|
36
41
|
- !ruby/object:Gem::Dependency
|
37
42
|
name: rspec
|
38
|
-
requirement:
|
39
|
-
none: false
|
43
|
+
requirement: !ruby/object:Gem::Requirement
|
40
44
|
requirements:
|
41
45
|
- - ~>
|
42
46
|
- !ruby/object:Gem::Version
|
43
47
|
version: '2.6'
|
44
48
|
type: :development
|
45
49
|
prerelease: false
|
46
|
-
version_requirements:
|
50
|
+
version_requirements: !ruby/object:Gem::Requirement
|
51
|
+
requirements:
|
52
|
+
- - ~>
|
53
|
+
- !ruby/object:Gem::Version
|
54
|
+
version: '2.6'
|
47
55
|
- !ruby/object:Gem::Dependency
|
48
56
|
name: webmock
|
49
|
-
requirement:
|
50
|
-
none: false
|
57
|
+
requirement: !ruby/object:Gem::Requirement
|
51
58
|
requirements:
|
52
59
|
- - ~>
|
53
60
|
- !ruby/object:Gem::Version
|
54
61
|
version: '1.6'
|
55
62
|
type: :development
|
56
63
|
prerelease: false
|
57
|
-
version_requirements:
|
64
|
+
version_requirements: !ruby/object:Gem::Requirement
|
65
|
+
requirements:
|
66
|
+
- - ~>
|
67
|
+
- !ruby/object:Gem::Version
|
68
|
+
version: '1.6'
|
58
69
|
- !ruby/object:Gem::Dependency
|
59
70
|
name: guard-rspec
|
60
|
-
requirement:
|
61
|
-
|
71
|
+
requirement: !ruby/object:Gem::Requirement
|
72
|
+
requirements:
|
73
|
+
- - ~>
|
74
|
+
- !ruby/object:Gem::Version
|
75
|
+
version: '0.5'
|
76
|
+
type: :development
|
77
|
+
prerelease: false
|
78
|
+
version_requirements: !ruby/object:Gem::Requirement
|
62
79
|
requirements:
|
63
80
|
- - ~>
|
64
81
|
- !ruby/object:Gem::Version
|
65
82
|
version: '0.5'
|
83
|
+
- !ruby/object:Gem::Dependency
|
84
|
+
name: guard-bundler
|
85
|
+
requirement: !ruby/object:Gem::Requirement
|
86
|
+
requirements:
|
87
|
+
- - '>='
|
88
|
+
- !ruby/object:Gem::Version
|
89
|
+
version: '0'
|
90
|
+
type: :development
|
91
|
+
prerelease: false
|
92
|
+
version_requirements: !ruby/object:Gem::Requirement
|
93
|
+
requirements:
|
94
|
+
- - '>='
|
95
|
+
- !ruby/object:Gem::Version
|
96
|
+
version: '0'
|
97
|
+
- !ruby/object:Gem::Dependency
|
98
|
+
name: libnotify
|
99
|
+
requirement: !ruby/object:Gem::Requirement
|
100
|
+
requirements:
|
101
|
+
- - '>='
|
102
|
+
- !ruby/object:Gem::Version
|
103
|
+
version: '0'
|
66
104
|
type: :development
|
67
105
|
prerelease: false
|
68
|
-
version_requirements:
|
106
|
+
version_requirements: !ruby/object:Gem::Requirement
|
107
|
+
requirements:
|
108
|
+
- - '>='
|
109
|
+
- !ruby/object:Gem::Version
|
110
|
+
version: '0'
|
69
111
|
- !ruby/object:Gem::Dependency
|
70
|
-
name:
|
71
|
-
requirement:
|
72
|
-
none: false
|
112
|
+
name: rb-inotify
|
113
|
+
requirement: !ruby/object:Gem::Requirement
|
73
114
|
requirements:
|
74
|
-
- -
|
115
|
+
- - '>='
|
75
116
|
- !ruby/object:Gem::Version
|
76
117
|
version: '0'
|
77
118
|
type: :development
|
78
119
|
prerelease: false
|
79
|
-
version_requirements:
|
120
|
+
version_requirements: !ruby/object:Gem::Requirement
|
121
|
+
requirements:
|
122
|
+
- - '>='
|
123
|
+
- !ruby/object:Gem::Version
|
124
|
+
version: '0'
|
80
125
|
- !ruby/object:Gem::Dependency
|
81
126
|
name: rb-fsevent
|
82
|
-
requirement:
|
83
|
-
|
127
|
+
requirement: !ruby/object:Gem::Requirement
|
128
|
+
requirements:
|
129
|
+
- - '>='
|
130
|
+
- !ruby/object:Gem::Version
|
131
|
+
version: '0'
|
132
|
+
type: :development
|
133
|
+
prerelease: false
|
134
|
+
version_requirements: !ruby/object:Gem::Requirement
|
135
|
+
requirements:
|
136
|
+
- - '>='
|
137
|
+
- !ruby/object:Gem::Version
|
138
|
+
version: '0'
|
139
|
+
- !ruby/object:Gem::Dependency
|
140
|
+
name: terminal-notifier-guard
|
141
|
+
requirement: !ruby/object:Gem::Requirement
|
84
142
|
requirements:
|
85
|
-
- -
|
143
|
+
- - '>='
|
86
144
|
- !ruby/object:Gem::Version
|
87
145
|
version: '0'
|
88
146
|
type: :development
|
89
147
|
prerelease: false
|
90
|
-
version_requirements:
|
148
|
+
version_requirements: !ruby/object:Gem::Requirement
|
149
|
+
requirements:
|
150
|
+
- - '>='
|
151
|
+
- !ruby/object:Gem::Version
|
152
|
+
version: '0'
|
91
153
|
- !ruby/object:Gem::Dependency
|
92
154
|
name: httparty
|
93
|
-
requirement:
|
94
|
-
none: false
|
155
|
+
requirement: !ruby/object:Gem::Requirement
|
95
156
|
requirements:
|
96
|
-
- - =
|
157
|
+
- - '='
|
97
158
|
- !ruby/object:Gem::Version
|
98
159
|
version: 0.7.8
|
99
160
|
type: :runtime
|
100
161
|
prerelease: false
|
101
|
-
version_requirements:
|
162
|
+
version_requirements: !ruby/object:Gem::Requirement
|
163
|
+
requirements:
|
164
|
+
- - '='
|
165
|
+
- !ruby/object:Gem::Version
|
166
|
+
version: 0.7.8
|
102
167
|
description: Ruby wrapper for the Pinboard API
|
103
168
|
email: ry@anotherventure.com
|
104
169
|
executables: []
|
@@ -119,8 +184,13 @@ files:
|
|
119
184
|
- lib/pinboard/post.rb
|
120
185
|
- lib/pinboard/util.rb
|
121
186
|
- pinboard.gemspec
|
187
|
+
- spec/fixtures/created.xml
|
188
|
+
- spec/fixtures/deleted.xml
|
189
|
+
- spec/fixtures/missing_description.xml
|
190
|
+
- spec/fixtures/missing_url.xml
|
122
191
|
- spec/fixtures/multiple_posts.xml
|
123
192
|
- spec/fixtures/no_posts.xml
|
193
|
+
- spec/fixtures/not_found.xml
|
124
194
|
- spec/fixtures/single_post.xml
|
125
195
|
- spec/helper.rb
|
126
196
|
- spec/pinboard/client_spec.rb
|
@@ -128,31 +198,35 @@ files:
|
|
128
198
|
- spec/pinboard_spec.rb
|
129
199
|
homepage: http://github.com/ryw/pinboard
|
130
200
|
licenses: []
|
201
|
+
metadata: {}
|
131
202
|
post_install_message:
|
132
203
|
rdoc_options: []
|
133
204
|
require_paths:
|
134
205
|
- lib
|
135
206
|
required_ruby_version: !ruby/object:Gem::Requirement
|
136
|
-
none: false
|
137
207
|
requirements:
|
138
|
-
- -
|
208
|
+
- - '>='
|
139
209
|
- !ruby/object:Gem::Version
|
140
210
|
version: '0'
|
141
211
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
142
|
-
none: false
|
143
212
|
requirements:
|
144
|
-
- -
|
213
|
+
- - '>='
|
145
214
|
- !ruby/object:Gem::Version
|
146
215
|
version: 1.3.6
|
147
216
|
requirements: []
|
148
217
|
rubyforge_project:
|
149
|
-
rubygems_version:
|
218
|
+
rubygems_version: 2.0.0
|
150
219
|
signing_key:
|
151
|
-
specification_version:
|
220
|
+
specification_version: 4
|
152
221
|
summary: Ruby wrapper for the Pinboard API
|
153
222
|
test_files:
|
223
|
+
- spec/fixtures/created.xml
|
224
|
+
- spec/fixtures/deleted.xml
|
225
|
+
- spec/fixtures/missing_description.xml
|
226
|
+
- spec/fixtures/missing_url.xml
|
154
227
|
- spec/fixtures/multiple_posts.xml
|
155
228
|
- spec/fixtures/no_posts.xml
|
229
|
+
- spec/fixtures/not_found.xml
|
156
230
|
- spec/fixtures/single_post.xml
|
157
231
|
- spec/helper.rb
|
158
232
|
- spec/pinboard/client_spec.rb
|