twitterfeed 0.1.2 → 0.1.3
Sign up to get free protection for your applications and to get access to all the features.
data/README.md
CHANGED
@@ -2,40 +2,25 @@
|
|
2
2
|
|
3
3
|
Gem that will retrieve and display tweets from a predetermined set of twitter handles.
|
4
4
|
|
5
|
-
|
5
|
+
## Installation
|
6
6
|
|
7
7
|
Add this line to your application's Gemfile:
|
8
8
|
|
9
9
|
gem 'twitterfeed'
|
10
10
|
|
11
|
-
=== Rails 3.x with asset pipeline enabled:
|
12
11
|
|
13
|
-
|
12
|
+
## Usage
|
14
13
|
|
15
|
-
|
14
|
+
Place helper line anywhere in your project with an array of twitter handles or hashtags:
|
16
15
|
|
17
|
-
|
18
|
-
|
19
|
-
== Usage
|
20
|
-
|
21
|
-
Place helper line anywhere in your project with an array of twitter handles:
|
22
|
-
|
23
|
-
<%= twitterfeed(["mark_cap", "wycats", "ruralocity"]) %>
|
16
|
+
<%= twitterfeed(["mark_cap", "wycats", "ruralocity", "#ruby", "#rails"]) %>
|
24
17
|
|
25
18
|
Enjoy!
|
26
19
|
|
27
20
|
Twitter API only allows 150 requests per hour, so to help with this, the frequency on which twitterfeed will update is based on how many handles are passed. I.E. 1 handle will be able to be updated 150 times an hour or every 24 seconds, 10 handles will update every 4 minutes, etc. Maximum of 150 handles.
|
28
21
|
|
29
|
-
|
22
|
+
## TODO
|
30
23
|
|
31
24
|
- Add authentication to boost limit up to 350
|
32
25
|
- Read a file with twitter handles to initialize
|
33
26
|
- Ability to include searches
|
34
|
-
|
35
|
-
== Contributing
|
36
|
-
|
37
|
-
1. Fork it
|
38
|
-
2. Create your feature branch (`git checkout -b my-new-feature`)
|
39
|
-
3. Commit your changes (`git commit -am 'Added some feature'`)
|
40
|
-
4. Push to the branch (`git push origin my-new-feature`)
|
41
|
-
5. Create new Pull Request
|
@@ -8,12 +8,12 @@
|
|
8
8
|
- tweet_array.each do |tweet|
|
9
9
|
#twitterfeed_tweet{:class => cycle('even','odd')}
|
10
10
|
#twitterfeed_pic
|
11
|
-
= image_tag
|
11
|
+
= link_to image_tag(tweet["pic_url"]), "http://twitter.com/#{tweet['handle']}", :target => '_new'
|
12
12
|
#twitterfeed_handle
|
13
13
|
=link_to tweet["handle"], "http://twitter.com/#{tweet['handle']}", :target => '_new'
|
14
14
|
|
15
15
|
.twitterfeed_time
|
16
16
|
=tweet_time(tweet["created_at"])
|
17
17
|
#twitterfeed_text
|
18
|
-
= tweet["text"]
|
18
|
+
= linkify_tweet(tweet["text"])
|
19
19
|
|
data/lib/twitterfeed.rb
CHANGED
@@ -7,16 +7,28 @@ module Twitterfeed
|
|
7
7
|
def self.update_twitterfeed(twitterfeed_data, name_array)
|
8
8
|
total_tweets = []
|
9
9
|
name_array.first(150).each do |name|
|
10
|
-
|
11
|
-
|
10
|
+
if name[0] == "#"
|
11
|
+
Twitter.search(name, :rpp => 20).each do |tweet|
|
12
|
+
total_tweets << tweet
|
13
|
+
end
|
14
|
+
else
|
15
|
+
Twitter.user_timeline(name, :include_rts => true).each do |tweet|
|
16
|
+
total_tweets << tweet
|
17
|
+
end
|
12
18
|
end
|
13
19
|
end
|
14
20
|
|
15
21
|
tweet_array = [{"last_update" => Time.now}]
|
16
22
|
total_tweets.sort_by {|x| x.created_at}.reverse.first(20).each do |tweet|
|
17
|
-
tweet_array << {
|
18
|
-
|
23
|
+
tweet_array << {
|
24
|
+
#searches and users have different username methods
|
25
|
+
"handle" => tweet.user.nil? ? tweet.from_user : tweet.user.screen_name,
|
26
|
+
"text" => tweet.text,
|
27
|
+
"created_at" => tweet.created_at,
|
28
|
+
"pic_url" => tweet.user.nil? ? tweet.profile_image_url_https : tweet.user.profile_image_url_https
|
29
|
+
}
|
19
30
|
end
|
20
31
|
File.open('tmp/twitterfeed.yml', 'w') {|f| f.write(tweet_array.to_yaml) }
|
21
32
|
end
|
33
|
+
|
22
34
|
end
|
data/lib/twitterfeed/version.rb
CHANGED
@@ -34,6 +34,26 @@ module Twitterfeed
|
|
34
34
|
end
|
35
35
|
end
|
36
36
|
end
|
37
|
+
|
38
|
+
def linkify_tweet(tweet)
|
39
|
+
@ats = tweet.scan(/@\w+/)
|
40
|
+
@tags = tweet.scan(/#\S+/)
|
41
|
+
@links = tweet.scan(/http:\/\/\S+/)
|
42
|
+
|
43
|
+
@ats.each do |a|
|
44
|
+
tweet.gsub!(/#{a}/, "<a href='http://twitter.com/#{a[1..(a.length - 1)]}' target='_blank'>#{a}</a>")
|
45
|
+
end
|
46
|
+
|
47
|
+
@tags.each do |t|
|
48
|
+
tweet.gsub!(/#{t}/, "<a href='http://twitter.com/search/%23#{t[1..(t.length - 1)]}' target='_blank'>#{t}</a>")
|
49
|
+
end
|
50
|
+
|
51
|
+
@links.each do |l|
|
52
|
+
tweet.gsub!(/#{l}/, "<a href='#{l}' target='_blank'>#{l}</a>")
|
53
|
+
end
|
54
|
+
|
55
|
+
tweet.html_safe
|
56
|
+
end
|
37
57
|
end
|
38
58
|
end
|
39
59
|
|
metadata
CHANGED
@@ -2,7 +2,7 @@
|
|
2
2
|
name: twitterfeed
|
3
3
|
version: !ruby/object:Gem::Version
|
4
4
|
prerelease:
|
5
|
-
version: 0.1.
|
5
|
+
version: 0.1.3
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
8
8
|
- Mark Capodagli
|
@@ -10,7 +10,7 @@ autorequire:
|
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
12
|
|
13
|
-
date: 2012-
|
13
|
+
date: 2012-06-04 00:00:00 Z
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
16
16
|
name: twitter
|