twitter_feed 1.0.0 → 1.0.1

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/lib/twitter_feed.rb CHANGED
@@ -3,6 +3,10 @@ require 'rexml/document'
3
3
 
4
4
  class Twitter
5
5
  FEED_URL="http://api.twitter.com/1/statuses/user_timeline.xml?screen_name="
6
+ COUNT_PARAM="&count="
7
+ SINCEID_PARAM="&since_id="
8
+ MAXID_PARAM="&max_id="
9
+ PAGE_PARAM="&page="
6
10
  @contenido
7
11
  @tweets
8
12
 
@@ -11,15 +15,39 @@ class Twitter
11
15
  @contenido=Net::HTTP.get(uri)
12
16
  end
13
17
 
14
- def getFeed(username)
15
- getContent(FEED_URL+username)
18
+ def getFeed(username,count=20,sinceId=nil,maxId=nil,page=nil)
19
+ if count >200
20
+ count=20
21
+ end
22
+ url=FEED_URL+username+COUNT_PARAM+count.to_s()
23
+ if sinceId != nil
24
+ url=url+SINCEID_PARAM+sinceId
25
+ end
26
+ if maxId != nil
27
+ url=url+MAXID_PARAM+maxId
28
+ end
29
+
30
+ if page != nil
31
+ url=url+PAGE_PARAM+page.to_s()
32
+ end
33
+
34
+ getContent(url)
16
35
  doc = REXML::Document.new @contenido
36
+
17
37
  @tweets= Array.new
18
- doc.elements.each("statuses/status/text") { |element,index|
19
- @tweets.push(element.text)
20
- puts element.text
38
+ doc.elements.each("statuses/status") { |element|
39
+ temp=Tweet.new(element.elements["id"].text,element.elements["text"].text,element.elements["retweet_count"].text,element.elements["favorited"].text,element.elements["created_at"].text)
40
+ temp.setUser(element.elements["user"])
41
+ @tweets.push(temp)
21
42
  }
22
-
43
+ puts @tweets.size
44
+ end
45
+
46
+ def getTweet(index=0)
47
+ @tweets[index]
23
48
  end
24
49
 
25
50
  end
51
+
52
+ require 'twitter_feed/tweet'
53
+ require 'twitter_feed/user'
@@ -0,0 +1,48 @@
1
+ class Twitter::Tweet
2
+ @id
3
+ @text
4
+ @retweetCount
5
+ @favorited
6
+ @user
7
+ @created
8
+
9
+ def initialize(id,text,rtc,fv,date)
10
+ @id=id
11
+ @text=text
12
+ @retweetCount=rtc
13
+ @favorited=fv
14
+ @created=date
15
+ @user=nil
16
+ end
17
+
18
+ def getId
19
+ @id
20
+ end
21
+
22
+ def getText
23
+ @text
24
+ end
25
+
26
+ def getRTCount
27
+ @retweetCount
28
+ end
29
+
30
+ def isFavorited
31
+ @favorited
32
+ end
33
+
34
+ def getUser
35
+ @user
36
+ end
37
+
38
+ def setUser (user)
39
+ temp=User.new(user.elements["id"].text,user.elements["name"].text,user.elements["screen_name"].text,user.elements["profile_image_url"].text,user.elements["url"].text,user.elements["description"].text,user.elements["protected"].text,user.elements["followers_count"].text)
40
+ @user=temp
41
+ end
42
+
43
+ def getCreated
44
+ @created
45
+ end
46
+
47
+
48
+ end
@@ -0,0 +1,48 @@
1
+ class Twitter::Tweet::User
2
+ @id
3
+ @name
4
+ @screenName
5
+ @profileImgURL
6
+ @url
7
+ @description
8
+ @protected
9
+ @followersCount
10
+
11
+ def initialize(id,name,sName,imgUrl,url='',desc='',prtd='',fwc='')
12
+ @id=id
13
+ @name=name
14
+ @screenName=sName
15
+ @profileImgURL=imgUrl
16
+ @url=url
17
+ @description=desc
18
+ @protected=prtd
19
+ @followersCount=fwc
20
+ end
21
+
22
+
23
+ def getId
24
+ @id
25
+ end
26
+ def getName
27
+ @name
28
+ end
29
+ def getScreenName
30
+ @screenName
31
+ end
32
+ def getProfileImgUrl
33
+ @profileImgUrl
34
+ end
35
+ def getUrl
36
+ @url
37
+ end
38
+ def getDesc
39
+ @description
40
+ end
41
+ def isProtected
42
+ @protected
43
+ end
44
+ def getFollowersCount
45
+ @followersCount
46
+ end
47
+
48
+ end
metadata CHANGED
@@ -1,13 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: twitter_feed
3
3
  version: !ruby/object:Gem::Version
4
- hash: 23
4
+ hash: 21
5
5
  prerelease:
6
6
  segments:
7
7
  - 1
8
8
  - 0
9
- - 0
10
- version: 1.0.0
9
+ - 1
10
+ version: 1.0.1
11
11
  platform: ruby
12
12
  authors:
13
13
  - Oscar Garcia
@@ -28,6 +28,8 @@ extra_rdoc_files: []
28
28
 
29
29
  files:
30
30
  - lib/twitter_feed.rb
31
+ - lib/twitter_feed/tweet.rb
32
+ - lib/twitter_feed/user.rb
31
33
  homepage: http://elclubdelprogramador.com
32
34
  licenses: []
33
35