mikedamage-tweeb 0.3.0 → 0.4.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.
- data/VERSION +1 -1
- data/lib/tweeb_client.rb +25 -52
- metadata +14 -3
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.
|
1
|
+
0.4.0
|
data/lib/tweeb_client.rb
CHANGED
@@ -1,6 +1,7 @@
|
|
1
1
|
require "time"
|
2
2
|
require "rubygems"
|
3
3
|
require "httparty"
|
4
|
+
require "mash"
|
4
5
|
require File.join(File.dirname(__FILE__), "tweeb_client_error.rb")
|
5
6
|
require File.join(File.dirname(__FILE__), "tweeb_search.rb")
|
6
7
|
|
@@ -31,6 +32,7 @@ module Tweeb
|
|
31
32
|
}.merge(options)
|
32
33
|
self.class.basic_auth(@username, @password)
|
33
34
|
@symbolizer = lambda {|hash| hash['user'].symbolize_keys; hash.symbolize_keys; return hash }
|
35
|
+
@masher = lambda {|hash| Mash.new(hash) }
|
34
36
|
@rate_limit_total = 150
|
35
37
|
@rate_limit_reset = nil
|
36
38
|
@rate_limit_remaining = nil
|
@@ -55,9 +57,8 @@ module Tweeb
|
|
55
57
|
end
|
56
58
|
timeline = Array.new
|
57
59
|
json.each do |tweet|
|
58
|
-
tweet
|
59
|
-
|
60
|
-
timeline << tweet
|
60
|
+
mash = @masher.call(tweet)
|
61
|
+
timeline << mash
|
61
62
|
end
|
62
63
|
timeline
|
63
64
|
end
|
@@ -73,9 +74,8 @@ module Tweeb
|
|
73
74
|
end
|
74
75
|
timeline = Array.new
|
75
76
|
json.each do |tweet|
|
76
|
-
tweet
|
77
|
-
|
78
|
-
timeline << tweet
|
77
|
+
mash = @masher.call(tweet)
|
78
|
+
timeline << mash
|
79
79
|
end
|
80
80
|
timeline
|
81
81
|
end
|
@@ -91,9 +91,8 @@ module Tweeb
|
|
91
91
|
end
|
92
92
|
timeline = Array.new
|
93
93
|
json.each do |tweet|
|
94
|
-
tweet
|
95
|
-
|
96
|
-
timeline << tweet
|
94
|
+
mash = @masher.call(tweet)
|
95
|
+
timeline << mash
|
97
96
|
end
|
98
97
|
timeline
|
99
98
|
end
|
@@ -109,9 +108,8 @@ module Tweeb
|
|
109
108
|
end
|
110
109
|
timeline = Array.new
|
111
110
|
json.each do |tweet|
|
112
|
-
tweet
|
113
|
-
|
114
|
-
timeline << tweet
|
111
|
+
mash = @masher.call(tweet)
|
112
|
+
timeline << mash
|
115
113
|
end
|
116
114
|
timeline
|
117
115
|
end
|
@@ -125,16 +123,12 @@ module Tweeb
|
|
125
123
|
else
|
126
124
|
json = self.class.post("/statuses/update.json", :query => {:status => message})
|
127
125
|
end
|
128
|
-
json
|
129
|
-
json[:user].symbolize_keys
|
130
|
-
json
|
126
|
+
@masher.call(json)
|
131
127
|
end
|
132
128
|
|
133
129
|
def delete_status(id)
|
134
130
|
json = self.class.delete("/statuses/destroy/#{id}.json")
|
135
|
-
json
|
136
|
-
json[:user].symbolize_keys
|
137
|
-
json
|
131
|
+
@masher.call(json)
|
138
132
|
end
|
139
133
|
|
140
134
|
def search(query, options={})
|
@@ -152,9 +146,7 @@ module Tweeb
|
|
152
146
|
|
153
147
|
def get_status(id)
|
154
148
|
json = self.class.get("/statuses/show/#{id}.json")
|
155
|
-
json
|
156
|
-
json[:user].symbolize_keys
|
157
|
-
json
|
149
|
+
@masher.call(json)
|
158
150
|
end
|
159
151
|
|
160
152
|
def friends(options={})
|
@@ -165,16 +157,15 @@ module Tweeb
|
|
165
157
|
end
|
166
158
|
timeline = Array.new
|
167
159
|
json.each do |tweet|
|
168
|
-
tweet
|
169
|
-
|
170
|
-
timeline << tweet
|
160
|
+
mash = @masher.call(tweet)
|
161
|
+
timeline << mash
|
171
162
|
end
|
172
163
|
timeline
|
173
164
|
end
|
174
165
|
|
175
166
|
def show_user(id)
|
176
167
|
json = self.class.get("/users/show/#{id}.json")
|
177
|
-
json
|
168
|
+
@masher.call(json)
|
178
169
|
end
|
179
170
|
|
180
171
|
def direct_message_inbox(options={})
|
@@ -188,10 +179,8 @@ module Tweeb
|
|
188
179
|
end
|
189
180
|
timeline = Array.new
|
190
181
|
json.each do |tweet|
|
191
|
-
tweet
|
192
|
-
|
193
|
-
tweet[:recipient].symbolize_keys
|
194
|
-
timeline << tweet
|
182
|
+
mash = @masher.call(tweet)
|
183
|
+
timeline << mash
|
195
184
|
end
|
196
185
|
timeline
|
197
186
|
end
|
@@ -206,43 +195,31 @@ module Tweeb
|
|
206
195
|
json = self.class.get("/direct_messages/sent.json", :query => options)
|
207
196
|
end
|
208
197
|
json.each do |tweet|
|
209
|
-
tweet
|
210
|
-
|
211
|
-
tweet[:recipient].symbolize_keys
|
212
|
-
timeline << tweet
|
198
|
+
mash = @masher.call(tweet)
|
199
|
+
timeline << mash
|
213
200
|
end
|
214
201
|
timeline
|
215
202
|
end
|
216
203
|
|
217
204
|
def direct_message(recipient, message)
|
218
205
|
json = self.class.post("/direct_messages/new.json", :query => {:user => recipient, :text => message})
|
219
|
-
json
|
220
|
-
json[:sender].symbolize_keys
|
221
|
-
json[:recipient].symbolize_keys
|
222
|
-
json
|
206
|
+
@masher.call(json)
|
223
207
|
end
|
224
208
|
|
225
209
|
def delete_direct_message(id)
|
226
210
|
json = self.class.delete("/direct_messages/destroy.json", :query => {:id => id})
|
227
|
-
json
|
228
|
-
json[:sender].symbolize_keys
|
229
|
-
json[:recipient].symbolize_keys
|
230
|
-
json
|
211
|
+
@masher.call(json)
|
231
212
|
end
|
232
213
|
|
233
214
|
def befriend(user, options={:follow => true})
|
234
215
|
json = self.class.post("/friendships/create.json", :query => {:id => user}.merge(options))
|
235
|
-
json
|
236
|
-
json[:status].symbolize_keys
|
237
|
-
json
|
216
|
+
@masher.call(json)
|
238
217
|
end
|
239
218
|
alias_method :follow, :befriend
|
240
219
|
|
241
220
|
def unfriend(user)
|
242
221
|
json = self.class.delete("/friendships/destroy.json", :query => {:id => user})
|
243
|
-
json
|
244
|
-
json[:status].symbolize_keys
|
245
|
-
json
|
222
|
+
@masher.call(json)
|
246
223
|
end
|
247
224
|
alias_method :unfollow, :unfriend
|
248
225
|
|
@@ -263,11 +240,7 @@ module Tweeb
|
|
263
240
|
end
|
264
241
|
|
265
242
|
json = self.class.get("/friendships/show.json", :query => query)
|
266
|
-
json
|
267
|
-
relationship = json[:relationship].symbolize_keys
|
268
|
-
relationship[:source].symbolize_keys
|
269
|
-
relationship[:target].symbolize_keys
|
270
|
-
relationship
|
243
|
+
@masher.call(json)
|
271
244
|
end
|
272
245
|
|
273
246
|
def friendship_exists?(target, source=nil)
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: mikedamage-tweeb
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.4.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Mike Green
|
@@ -9,7 +9,7 @@ autorequire:
|
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
11
|
|
12
|
-
date: 2009-
|
12
|
+
date: 2009-08-14 00:00:00 -07:00
|
13
13
|
default_executable:
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
@@ -22,6 +22,16 @@ dependencies:
|
|
22
22
|
- !ruby/object:Gem::Version
|
23
23
|
version: 0.4.3
|
24
24
|
version:
|
25
|
+
- !ruby/object:Gem::Dependency
|
26
|
+
name: mash
|
27
|
+
type: :runtime
|
28
|
+
version_requirement:
|
29
|
+
version_requirements: !ruby/object:Gem::Requirement
|
30
|
+
requirements:
|
31
|
+
- - ">="
|
32
|
+
- !ruby/object:Gem::Version
|
33
|
+
version: 0.0.3
|
34
|
+
version:
|
25
35
|
description:
|
26
36
|
email: mike.is.green@gmail.com
|
27
37
|
executables: []
|
@@ -51,6 +61,7 @@ files:
|
|
51
61
|
- spec/tweeb_stream_spec.rb
|
52
62
|
has_rdoc: false
|
53
63
|
homepage: http://github.com/mikedamage/tweeb
|
64
|
+
licenses:
|
54
65
|
post_install_message:
|
55
66
|
rdoc_options:
|
56
67
|
- --charset=UTF-8
|
@@ -71,7 +82,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
71
82
|
requirements: []
|
72
83
|
|
73
84
|
rubyforge_project:
|
74
|
-
rubygems_version: 1.
|
85
|
+
rubygems_version: 1.3.5
|
75
86
|
signing_key:
|
76
87
|
specification_version: 3
|
77
88
|
summary: Tweeb is a really simple, bare bones Twitter library made possible by HTTParty
|