twitterfeed 0.1.8 → 0.2.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/.gitignore CHANGED
@@ -16,3 +16,4 @@ test/tmp
16
16
  test/version_tmp
17
17
  tmp
18
18
  .DS_Store
19
+ .gitignore
data/README.md CHANGED
@@ -27,7 +27,7 @@ Place helper line anywhere in your project with an array of twitter handles or h
27
27
 
28
28
  Options:
29
29
 
30
- <%= twitterfeed(["#ruby", "#rails"], :align => "left", :max => 10) %>
30
+ <%= twitterfeed(["#ruby", "#rails"], :align => "left", :max => 10, :title => "Cool Ruby Tweets") %>
31
31
 
32
32
  Enjoy!
33
33
 
Binary file
@@ -16,15 +16,20 @@
16
16
 
17
17
  #twitterfeed_header {
18
18
  margin-bottom: 5px;
19
- }
19
+ font-family: arial;
20
+ font-size: 15px;
21
+ font-style: italic;}
22
+
23
+ #twitterfeed_header img{
24
+ margin-left: 10px;
25
+ }
20
26
 
21
27
  #twitterfeed_content {
22
28
  height: 300px;
23
29
  overflow: scroll;
24
30
  overflow-x:hidden;
25
31
  border: 1px solid black;
26
- -webkit-border-radius: 5px;
27
- -moz-border-radius: 5px;
32
+ border-radius: 5px;
28
33
  }
29
34
 
30
35
  #twitterfeed_tweet {
@@ -2,8 +2,10 @@
2
2
 
3
3
  #twitterfeed{:class => align}
4
4
 
5
- / #twitterfeed_header
6
- / = link_to image_tag('/assets/twitterfeed-logo.gif'), "https://github.com/markcap/twitterfeed", :target => '_blank'
5
+ - if title
6
+ #twitterfeed_header
7
+ = title
8
+ = image_tag("bird.jpg")
7
9
  #twitterfeed_content
8
10
  - tweet_array.each do |tweet|
9
11
  #twitterfeed_tweet{:class => cycle('even','odd')}
data/lib/twitterfeed.rb CHANGED
@@ -8,11 +8,11 @@ module Twitterfeed
8
8
  total_tweets = []
9
9
  name_array.first(150).each do |name|
10
10
  if name[0] == "#"
11
- Twitter.search(name, :rpp => 20).results.each do |tweet|
11
+ Twitter.search("#{name} -rt", :rpp => 20).results.each do |tweet|
12
12
  total_tweets << tweet
13
13
  end
14
14
  else
15
- Twitter.user_timeline(name, :include_rts => true).each do |tweet|
15
+ Twitter.user_timeline(name, :include_rts => true, :exclude_replies => true, :count => 100).first(20).each do |tweet|
16
16
  total_tweets << tweet
17
17
  end
18
18
  end
@@ -34,7 +34,7 @@ module Twitterfeed
34
34
  def self.set_defaults(options)
35
35
  #sets values for twitterfeed window options, with some validations
36
36
 
37
- defaults = {:align => 'right', :max => 20}
37
+ defaults = {:align => 'right', :max => 20, :title => nil}
38
38
  defaults.merge!(options)
39
39
 
40
40
  if (defaults[:align] != ("left" || "right"))
@@ -1,3 +1,3 @@
1
1
  module Twitterfeed
2
- VERSION = "0.1.8"
2
+ VERSION = "0.2.0"
3
3
  end
@@ -2,6 +2,7 @@ require 'twitter'
2
2
 
3
3
  module Twitterfeed
4
4
  module ViewHelpers
5
+
5
6
  def twitterfeed(name_array, options = {})
6
7
 
7
8
  defaults = Twitterfeed.set_defaults(options)
@@ -19,7 +20,8 @@ module Twitterfeed
19
20
  twitterfeed_data = YAML.load(File.open("twitterfeed.yml"))
20
21
  #removing update time from array
21
22
  twitterfeed_data.slice!(0)
22
- render :partial => "twitterfeed/twitterfeed_box", :locals => { :tweet_array => twitterfeed_data, :align => defaults[:align]}
23
+ render :partial => "twitterfeed/twitterfeed_box",
24
+ :locals => { :tweet_array => twitterfeed_data, :align => defaults[:align], :title => defaults[:title]}
23
25
 
24
26
  end
25
27
 
@@ -44,23 +46,31 @@ module Twitterfeed
44
46
  @links = tweet.scan(/https?:\/\/\S+/)
45
47
 
46
48
  @ats.each do |a|
47
- tweet.gsub!(/#{a}/, "<a href='http://twitter.com/#{a[1..(a.length - 1)]}' target='_blank'>#{a}</a>")
49
+ at = sanitize_link(a)
50
+ tweet.gsub!(/#{at}/, "<a href='http://twitter.com/#{at[1..(at.length - 1)]}' target='_blank'>#{at}</a>")
48
51
  end
49
52
 
50
53
  @tags.each do |t|
51
- t.delete! "\""
52
- t.delete! ")"
53
- tweet.gsub!(/#{t}/, "<a href='http://twitter.com/search/%23#{t[1..(t.length - 1)]}' target='_blank'>#{t}</a>")
54
+ tag = sanitize_link(t)
55
+ tweet.gsub!(/#{tag}(\Z|[\s.,()!?\"\'*])/, "<a href='http://twitter.com/search/%23#{tag[1..(tag.length - 1)]}' target='_blank'>#{tag}</a> ")
54
56
  end
55
57
 
56
58
  @links.each do |l|
57
- l.delete! "\""
58
- l.delete! ")"
59
- tweet.gsub!(/#{l}/, "<a href='#{l}' target='_blank'>#{l}</a>")
59
+ link = sanitize_link(l)
60
+ tweet.gsub!(/#{link}/, "<a href='#{link}' target='_blank'>#{link}</a>")
60
61
  end
61
62
 
62
63
  tweet.html_safe
63
64
  end
65
+
66
+ def sanitize_link(item)
67
+ #this enables crap like (#ruby) and "http://yahoo.com" to link properly in tweets
68
+ while item.last =~ /[.,()!?\"\'*]/
69
+ item.chop!
70
+ end
71
+ item
72
+ end
73
+
64
74
  end
65
75
  end
66
76
 
metadata CHANGED
@@ -2,7 +2,7 @@
2
2
  name: twitterfeed
3
3
  version: !ruby/object:Gem::Version
4
4
  prerelease:
5
- version: 0.1.8
5
+ version: 0.2.0
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-08-15 00:00:00 Z
13
+ date: 2012-09-02 00:00:00 Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: twitter
@@ -38,6 +38,7 @@ files:
38
38
  - LICENSE
39
39
  - README.md
40
40
  - Rakefile
41
+ - app/assets/images/bird.jpg
41
42
  - app/assets/images/twitterfeed-logo.gif
42
43
  - app/assets/stylesheets/twitterfeed.css
43
44
  - app/views/twitterfeed/_twitterfeed_box.html.haml