oii_twitter_goodies 0.0.8 → 0.0.71
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/.DS_Store +0 -0
- data/.gitignore +17 -0
- data/Gemfile +12 -0
- data/LICENSE.txt +2 -2
- data/lib/oii_twitter_goodies/extensions/twitter_api_utils.rb +30 -30
- data/lib/oii_twitter_goodies/extensions/twitter_client.rb +17 -46
- data/lib/oii_twitter_goodies/lib/followers_for_users.rb +6 -67
- data/lib/oii_twitter_goodies/model/place.rb +0 -2
- data/lib/oii_twitter_goodies/model/tweet.rb +3 -4
- data/lib/oii_twitter_goodies/model/user.rb +0 -1
- data/lib/oii_twitter_goodies/version.rb +1 -1
- data/lib/oii_twitter_goodies.rb +4 -4
- data/oii_twitter_goodies.gemspec +11 -0
- metadata +159 -3
- data/pkg/oii_twitter_goodies-0.0.1.gem +0 -0
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 933b9ecf7096b8917d364cc66fea8131a9b9a85e
|
4
|
+
data.tar.gz: 48ef2ecfb3f83a385c6c911006964071c7091aa4
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 9ca3177352e308e5044513c4d1fc4cb98ea07ffec1c627ea3c99379ea52f81790e1192a352f6be43abc0f42fa20b716d94d6ca65ef30171097b62a2b772eca77
|
7
|
+
data.tar.gz: d03ac6c4211d8507aa8545e5837982beb3bbeba969a0f6389ad8a7c1ef1c7123a7d45cfcf375358e4f0ce32f44fb68a638f38d2bb32a5c21c16dabff041e7096
|
data/.DS_Store
ADDED
Binary file
|
data/.gitignore
ADDED
data/Gemfile
ADDED
data/LICENSE.txt
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
Copyright (c)
|
1
|
+
Copyright (c) 2013 Devin Gaffney
|
2
2
|
|
3
3
|
MIT License
|
4
4
|
|
@@ -19,4 +19,4 @@ MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
|
19
19
|
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
|
20
20
|
LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
|
21
21
|
OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
|
22
|
-
WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
22
|
+
WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
@@ -1,30 +1,30 @@
|
|
1
|
-
|
2
|
-
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
1
|
+
module Twitter
|
2
|
+
module API
|
3
|
+
module Utils
|
4
|
+
def objects_from_response(klass, request_method, path, options={})
|
5
|
+
response = send(request_method.to_sym, path, options)
|
6
|
+
if response.class == Hash && response[:body]
|
7
|
+
response = response[:body]
|
8
|
+
objects_from_array(klass, response)
|
9
|
+
else
|
10
|
+
return response
|
11
|
+
end
|
12
|
+
end
|
13
|
+
|
14
|
+
def object_from_response(klass, request_method, path, options={})
|
15
|
+
response = send(request_method.to_sym, path, options)
|
16
|
+
return klass.from_response(response) || response
|
17
|
+
end
|
18
|
+
|
19
|
+
def cursor_from_response(collection_name, klass, request_method, path, options, method_name)
|
20
|
+
merge_default_cursor!(options)
|
21
|
+
response = send(request_method.to_sym, path, options)
|
22
|
+
if (response.class == Hash || response.class == BSON::OrderedHash) && !response.keys.include?(:body)
|
23
|
+
Twitter::Cursor.from_response({:body => response}, collection_name.to_sym, klass, self, method_name, options)
|
24
|
+
else
|
25
|
+
Twitter::Cursor.from_response(response, collection_name.to_sym, klass, self, method_name, options)
|
26
|
+
end
|
27
|
+
end
|
28
|
+
end
|
29
|
+
end
|
30
|
+
end
|
@@ -1,46 +1,17 @@
|
|
1
|
-
|
2
|
-
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
# lookup = TwitterAPICall.first(:url => path.to_s, :params => params)
|
19
|
-
# if lookup
|
20
|
-
# return lookup.data
|
21
|
-
# else
|
22
|
-
# signature_params = params.values.any?{|value| value.respond_to?(:to_io)} ? {} : params
|
23
|
-
# response = request(:post, path, params, signature_params)
|
24
|
-
# if response[:status] && response[:status] == 200
|
25
|
-
# lookup = TwitterAPICall.new(:url => path.to_s, :params => params, :data => response[:body])
|
26
|
-
# lookup.save!
|
27
|
-
# end
|
28
|
-
# return response
|
29
|
-
# end
|
30
|
-
# end
|
31
|
-
#
|
32
|
-
# def put(path, params={})
|
33
|
-
# lookup = TwitterAPICall.first(:url => path.to_s, :params => params)
|
34
|
-
# if lookup
|
35
|
-
# return lookup.data
|
36
|
-
# else
|
37
|
-
# response = request(:put, path, params)
|
38
|
-
# if response[:status] && response[:status] == 200
|
39
|
-
# lookup = TwitterAPICall.new(:url => path.to_s, :params => params, :data => response[:body])
|
40
|
-
# lookup.save!
|
41
|
-
# end
|
42
|
-
# return response
|
43
|
-
# end
|
44
|
-
# end
|
45
|
-
# end
|
46
|
-
# end
|
1
|
+
module Twitter
|
2
|
+
class Client
|
3
|
+
def get(path, params={})
|
4
|
+
lookup = TwitterAPICall.first(:url => path.to_s, :params => params)
|
5
|
+
if lookup
|
6
|
+
return lookup.data
|
7
|
+
else
|
8
|
+
response = request(:get, path, params)
|
9
|
+
if response[:status] && response[:status] == 200
|
10
|
+
lookup = TwitterAPICall.new(:url => path.to_s, :params => params, :data => response[:body])
|
11
|
+
lookup.save!
|
12
|
+
end
|
13
|
+
return response
|
14
|
+
end
|
15
|
+
end
|
16
|
+
end
|
17
|
+
end
|
@@ -32,19 +32,7 @@ class FollowersForUsers
|
|
32
32
|
puts "Done!"
|
33
33
|
return results
|
34
34
|
end
|
35
|
-
|
36
|
-
def grab_followers_iterative(&block)
|
37
|
-
@screen_names.each do |screen_name|
|
38
|
-
puts "Current progress: #{@screen_names.index(screen_name)}/#{@screen_names.length} started"
|
39
|
-
user = user_data_for(screen_name).first
|
40
|
-
follower_ids = follower_ids_for(screen_name)
|
41
|
-
follower_ids.each_slice(100) do |follower_id_slice|
|
42
|
-
block.call([user, user_data_for_set(follower_id_slice)])
|
43
|
-
end
|
44
|
-
puts "Current progress: ##{@screen_names.index(screen_name)}/#{@screen_names.length} complete"
|
45
|
-
end
|
46
|
-
end
|
47
|
-
|
35
|
+
|
48
36
|
def follower_ids_for(screen_name)
|
49
37
|
return direction_ids_for screen_name, "follower"
|
50
38
|
end
|
@@ -58,68 +46,19 @@ class FollowersForUsers
|
|
58
46
|
ids = []
|
59
47
|
while cursor != 0
|
60
48
|
puts cursor
|
61
|
-
|
62
|
-
|
63
|
-
rescue Twitter::Error::BadGateway
|
64
|
-
puts "Got Twitter::Error::BadGateway error - usually this is just a missed connect from Twitter."
|
65
|
-
sleep(10)
|
66
|
-
retry
|
67
|
-
rescue Twitter::Error::TooManyRequests
|
68
|
-
puts "Got Twitter::Error::TooManyRequests error - we are rate limited and will sleep for 15 minutes. See you in a bit."
|
69
|
-
sleep(15*60)
|
70
|
-
retry
|
71
|
-
rescue Twitter::Error::ClientError
|
72
|
-
puts "Got Twitter::Error::ClientError error - something weird happened and we're going to retry."
|
73
|
-
sleep(5)
|
74
|
-
retry
|
75
|
-
rescue Twitter::Error::InternalServerError
|
76
|
-
puts "Got Twitter::Error::InternalServerError error - something weird happened and we're going to retry."
|
77
|
-
sleep(5)
|
78
|
-
retry
|
79
|
-
rescue Twitter::Error::ServiceUnavailable
|
80
|
-
puts "Got Twitter::Error::ServiceUnavailable error - Fail whaled. We'll hit those guys again in 10"
|
81
|
-
sleep(10)
|
82
|
-
retry
|
83
|
-
end
|
84
|
-
ids << data.ids
|
49
|
+
data = Hashie::Mash[@client.send(direction+"_ids", screen_name, :cursor => cursor).attrs]
|
50
|
+
ids = ids|data.ids
|
85
51
|
cursor = data["next_cursor"]
|
86
52
|
end
|
87
|
-
return ids
|
53
|
+
return ids
|
88
54
|
end
|
89
55
|
|
90
56
|
def user_data_for(screen_names)
|
91
57
|
screen_names = [screen_names].flatten
|
92
58
|
user_data = []
|
93
|
-
size = screen_names.length/100
|
94
59
|
screen_names.each_slice(100) do |screen_name_set|
|
95
|
-
user_data
|
96
|
-
end
|
97
|
-
user_data.flatten
|
98
|
-
end
|
99
|
-
|
100
|
-
def user_data_for_set(screen_name_set)
|
101
|
-
begin
|
102
|
-
return @client.users(screen_name_set)
|
103
|
-
rescue Twitter::Error::BadGateway
|
104
|
-
puts "Got Twitter::Error::BadGateway error - usually this is just a missed connect from Twitter."
|
105
|
-
sleep(10)
|
106
|
-
retry
|
107
|
-
rescue Twitter::Error::TooManyRequests
|
108
|
-
puts "Got Twitter::Error::TooManyRequests error - we are rate limited and will sleep for 15 minutes. See you in a bit."
|
109
|
-
sleep(15*60)
|
110
|
-
retry
|
111
|
-
rescue Twitter::Error::ClientError
|
112
|
-
puts "Got Twitter::Error::ClientError error - something weird happened and we're going to retry."
|
113
|
-
sleep(5)
|
114
|
-
retry
|
115
|
-
rescue Twitter::Error::InternalServerError
|
116
|
-
puts "Got Twitter::Error::InternalServerError error - something weird happened and we're going to retry."
|
117
|
-
sleep(5)
|
118
|
-
retry
|
119
|
-
rescue Twitter::Error::ServiceUnavailable
|
120
|
-
puts "Got Twitter::Error::ServiceUnavailable error - Fail whaled. We'll hit those guys again in 10"
|
121
|
-
sleep(10)
|
122
|
-
retry
|
60
|
+
user_data = [user_data|@client.users(screen_name_set)].flatten
|
123
61
|
end
|
62
|
+
user_data
|
124
63
|
end
|
125
64
|
end
|
@@ -23,7 +23,6 @@ class Place
|
|
23
23
|
|
24
24
|
def self.new_from_raw(place, tweet_id)
|
25
25
|
return if place.nil?
|
26
|
-
place = place.attrs if place.class == Twitter::Place
|
27
26
|
place = Hashie::Mash[place]
|
28
27
|
obj = self.new
|
29
28
|
obj.twitter_id = place["twitter_id"]
|
@@ -33,7 +32,6 @@ class Place
|
|
33
32
|
obj.full_name = place["full_name"]
|
34
33
|
obj.country_code = place["country_code"]
|
35
34
|
obj.country = place["country"]
|
36
|
-
place["bounding_box"] = place["bounding_box"].attrs if Twitter::Place
|
37
35
|
bounding_box = BoundingBox.new_from_raw(place["bounding_box"], obj._id)
|
38
36
|
if bounding_box
|
39
37
|
obj.bounding_box = bounding_box
|
@@ -48,7 +48,6 @@ class Tweet
|
|
48
48
|
|
49
49
|
def self.new_from_raw(tweet, user_id)
|
50
50
|
return if tweet.nil?
|
51
|
-
tweet = tweet.attrs if tweet.class == Twitter::Tweet
|
52
51
|
tweet = Hashie::Mash[tweet]
|
53
52
|
obj = self.new
|
54
53
|
obj.created_at = tweet["created_at"]
|
@@ -93,15 +92,15 @@ class Tweet
|
|
93
92
|
end
|
94
93
|
end
|
95
94
|
end
|
96
|
-
place = Place.new_from_raw(tweet["place"], obj._id)
|
95
|
+
place = Place.new_from_raw(tweet["place"].attrs, obj._id)
|
97
96
|
if place
|
98
97
|
obj.place = place
|
99
98
|
end
|
100
|
-
geo = Geo.new_from_raw(tweet["geo"], obj._id)
|
99
|
+
geo = Geo.new_from_raw(tweet["geo"].attrs, obj._id)
|
101
100
|
if geo
|
102
101
|
obj.geo = geo
|
103
102
|
end
|
104
|
-
coordinate = Coordinate.new_from_raw(tweet["coordinate"], obj._id)
|
103
|
+
coordinate = Coordinate.new_from_raw(tweet["coordinate"].attrs, obj._id)
|
105
104
|
if coordinate
|
106
105
|
obj.coordinate = coordinate
|
107
106
|
end
|
data/lib/oii_twitter_goodies.rb
CHANGED
@@ -7,8 +7,8 @@ require 'hashie'
|
|
7
7
|
require 'typhoeus'
|
8
8
|
require 'json'
|
9
9
|
|
10
|
-
require
|
10
|
+
require "oii_twitter_goodies/version"
|
11
11
|
|
12
|
-
Dir[File.dirname(__FILE__)
|
13
|
-
Dir[File.dirname(__FILE__)
|
14
|
-
Dir[File.dirname(__FILE__)
|
12
|
+
Dir[File.dirname(__FILE__)+'/oii_twitter_goodies/extensions/*.rb'].each {|file| require file }
|
13
|
+
Dir[File.dirname(__FILE__)+'/oii_twitter_goodies/lib/*.rb'].each {|file| require file }
|
14
|
+
Dir[File.dirname(__FILE__)+'/oii_twitter_goodies/model/*.rb'].each {|file| require file }
|
data/oii_twitter_goodies.gemspec
CHANGED
@@ -22,6 +22,17 @@ Gem::Specification.new do |gem|
|
|
22
22
|
gem.add_development_dependency "hashie"
|
23
23
|
gem.add_development_dependency "typhoeus"
|
24
24
|
gem.add_development_dependency "json"
|
25
|
+
gem.add_dependency "bundler", ">= 1.0.0"
|
26
|
+
gem.add_dependency "mongo_mapper"
|
27
|
+
gem.add_dependency "bcrypt-ruby"
|
28
|
+
gem.add_dependency "bson_ext"
|
29
|
+
gem.add_dependency "oauth"
|
30
|
+
gem.add_dependency "twitter"
|
31
|
+
gem.add_dependency "tweetstream"
|
32
|
+
gem.add_dependency "minitest"
|
33
|
+
gem.add_dependency "hashie"
|
34
|
+
gem.add_dependency "typhoeus"
|
35
|
+
gem.add_dependency "json"
|
25
36
|
gem.files = `git ls-files`.split($/)
|
26
37
|
gem.executables = gem.files.grep(%r{^bin/}).map{ |f| File.basename(f) }
|
27
38
|
gem.test_files = gem.files.grep(%r{^(test|spec|features)/})
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: oii_twitter_goodies
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.71
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Devin Gaffney
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2013-
|
11
|
+
date: 2013-03-14 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -164,6 +164,160 @@ dependencies:
|
|
164
164
|
- - ! '>='
|
165
165
|
- !ruby/object:Gem::Version
|
166
166
|
version: '0'
|
167
|
+
- !ruby/object:Gem::Dependency
|
168
|
+
name: bundler
|
169
|
+
requirement: !ruby/object:Gem::Requirement
|
170
|
+
requirements:
|
171
|
+
- - ! '>='
|
172
|
+
- !ruby/object:Gem::Version
|
173
|
+
version: 1.0.0
|
174
|
+
type: :runtime
|
175
|
+
prerelease: false
|
176
|
+
version_requirements: !ruby/object:Gem::Requirement
|
177
|
+
requirements:
|
178
|
+
- - ! '>='
|
179
|
+
- !ruby/object:Gem::Version
|
180
|
+
version: 1.0.0
|
181
|
+
- !ruby/object:Gem::Dependency
|
182
|
+
name: mongo_mapper
|
183
|
+
requirement: !ruby/object:Gem::Requirement
|
184
|
+
requirements:
|
185
|
+
- - ! '>='
|
186
|
+
- !ruby/object:Gem::Version
|
187
|
+
version: '0'
|
188
|
+
type: :runtime
|
189
|
+
prerelease: false
|
190
|
+
version_requirements: !ruby/object:Gem::Requirement
|
191
|
+
requirements:
|
192
|
+
- - ! '>='
|
193
|
+
- !ruby/object:Gem::Version
|
194
|
+
version: '0'
|
195
|
+
- !ruby/object:Gem::Dependency
|
196
|
+
name: bcrypt-ruby
|
197
|
+
requirement: !ruby/object:Gem::Requirement
|
198
|
+
requirements:
|
199
|
+
- - ! '>='
|
200
|
+
- !ruby/object:Gem::Version
|
201
|
+
version: '0'
|
202
|
+
type: :runtime
|
203
|
+
prerelease: false
|
204
|
+
version_requirements: !ruby/object:Gem::Requirement
|
205
|
+
requirements:
|
206
|
+
- - ! '>='
|
207
|
+
- !ruby/object:Gem::Version
|
208
|
+
version: '0'
|
209
|
+
- !ruby/object:Gem::Dependency
|
210
|
+
name: bson_ext
|
211
|
+
requirement: !ruby/object:Gem::Requirement
|
212
|
+
requirements:
|
213
|
+
- - ! '>='
|
214
|
+
- !ruby/object:Gem::Version
|
215
|
+
version: '0'
|
216
|
+
type: :runtime
|
217
|
+
prerelease: false
|
218
|
+
version_requirements: !ruby/object:Gem::Requirement
|
219
|
+
requirements:
|
220
|
+
- - ! '>='
|
221
|
+
- !ruby/object:Gem::Version
|
222
|
+
version: '0'
|
223
|
+
- !ruby/object:Gem::Dependency
|
224
|
+
name: oauth
|
225
|
+
requirement: !ruby/object:Gem::Requirement
|
226
|
+
requirements:
|
227
|
+
- - ! '>='
|
228
|
+
- !ruby/object:Gem::Version
|
229
|
+
version: '0'
|
230
|
+
type: :runtime
|
231
|
+
prerelease: false
|
232
|
+
version_requirements: !ruby/object:Gem::Requirement
|
233
|
+
requirements:
|
234
|
+
- - ! '>='
|
235
|
+
- !ruby/object:Gem::Version
|
236
|
+
version: '0'
|
237
|
+
- !ruby/object:Gem::Dependency
|
238
|
+
name: twitter
|
239
|
+
requirement: !ruby/object:Gem::Requirement
|
240
|
+
requirements:
|
241
|
+
- - ! '>='
|
242
|
+
- !ruby/object:Gem::Version
|
243
|
+
version: '0'
|
244
|
+
type: :runtime
|
245
|
+
prerelease: false
|
246
|
+
version_requirements: !ruby/object:Gem::Requirement
|
247
|
+
requirements:
|
248
|
+
- - ! '>='
|
249
|
+
- !ruby/object:Gem::Version
|
250
|
+
version: '0'
|
251
|
+
- !ruby/object:Gem::Dependency
|
252
|
+
name: tweetstream
|
253
|
+
requirement: !ruby/object:Gem::Requirement
|
254
|
+
requirements:
|
255
|
+
- - ! '>='
|
256
|
+
- !ruby/object:Gem::Version
|
257
|
+
version: '0'
|
258
|
+
type: :runtime
|
259
|
+
prerelease: false
|
260
|
+
version_requirements: !ruby/object:Gem::Requirement
|
261
|
+
requirements:
|
262
|
+
- - ! '>='
|
263
|
+
- !ruby/object:Gem::Version
|
264
|
+
version: '0'
|
265
|
+
- !ruby/object:Gem::Dependency
|
266
|
+
name: minitest
|
267
|
+
requirement: !ruby/object:Gem::Requirement
|
268
|
+
requirements:
|
269
|
+
- - ! '>='
|
270
|
+
- !ruby/object:Gem::Version
|
271
|
+
version: '0'
|
272
|
+
type: :runtime
|
273
|
+
prerelease: false
|
274
|
+
version_requirements: !ruby/object:Gem::Requirement
|
275
|
+
requirements:
|
276
|
+
- - ! '>='
|
277
|
+
- !ruby/object:Gem::Version
|
278
|
+
version: '0'
|
279
|
+
- !ruby/object:Gem::Dependency
|
280
|
+
name: hashie
|
281
|
+
requirement: !ruby/object:Gem::Requirement
|
282
|
+
requirements:
|
283
|
+
- - ! '>='
|
284
|
+
- !ruby/object:Gem::Version
|
285
|
+
version: '0'
|
286
|
+
type: :runtime
|
287
|
+
prerelease: false
|
288
|
+
version_requirements: !ruby/object:Gem::Requirement
|
289
|
+
requirements:
|
290
|
+
- - ! '>='
|
291
|
+
- !ruby/object:Gem::Version
|
292
|
+
version: '0'
|
293
|
+
- !ruby/object:Gem::Dependency
|
294
|
+
name: typhoeus
|
295
|
+
requirement: !ruby/object:Gem::Requirement
|
296
|
+
requirements:
|
297
|
+
- - ! '>='
|
298
|
+
- !ruby/object:Gem::Version
|
299
|
+
version: '0'
|
300
|
+
type: :runtime
|
301
|
+
prerelease: false
|
302
|
+
version_requirements: !ruby/object:Gem::Requirement
|
303
|
+
requirements:
|
304
|
+
- - ! '>='
|
305
|
+
- !ruby/object:Gem::Version
|
306
|
+
version: '0'
|
307
|
+
- !ruby/object:Gem::Dependency
|
308
|
+
name: json
|
309
|
+
requirement: !ruby/object:Gem::Requirement
|
310
|
+
requirements:
|
311
|
+
- - ! '>='
|
312
|
+
- !ruby/object:Gem::Version
|
313
|
+
version: '0'
|
314
|
+
type: :runtime
|
315
|
+
prerelease: false
|
316
|
+
version_requirements: !ruby/object:Gem::Requirement
|
317
|
+
requirements:
|
318
|
+
- - ! '>='
|
319
|
+
- !ruby/object:Gem::Version
|
320
|
+
version: '0'
|
167
321
|
description: OII Twitter Goodies!
|
168
322
|
email:
|
169
323
|
- itsme@devingaffney.com
|
@@ -171,6 +325,9 @@ executables: []
|
|
171
325
|
extensions: []
|
172
326
|
extra_rdoc_files: []
|
173
327
|
files:
|
328
|
+
- .DS_Store
|
329
|
+
- .gitignore
|
330
|
+
- Gemfile
|
174
331
|
- LICENSE.txt
|
175
332
|
- README.md
|
176
333
|
- Rakefile
|
@@ -201,7 +358,6 @@ files:
|
|
201
358
|
- lib/oii_twitter_goodies/model/user_mention.rb
|
202
359
|
- lib/oii_twitter_goodies/version.rb
|
203
360
|
- oii_twitter_goodies.gemspec
|
204
|
-
- pkg/oii_twitter_goodies-0.0.1.gem
|
205
361
|
homepage: http://github.com/DGaffney/oii_twitter_goodies
|
206
362
|
licenses: []
|
207
363
|
metadata: {}
|
Binary file
|