webco-tuiter 0.0.6 → 0.0.7

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/AUTHORS CHANGED
@@ -7,11 +7,12 @@ Both projects were latter adopted by WebCo Internet (http://webcointernet.com -
7
7
 
8
8
  The authors and contributors of Tuiter are:
9
9
 
10
- * Manoel Lemos (manoel@lemos.net - http://www.github.com/mlemos) - initial work
11
- * Celestino Gomes (tinorj@gmail.com - http://www.github.com/tinogomes)
12
- * Leandro Silva (leandrodoze@gmail.com - http://www.github.com/leandrosilva)
13
- * Lucas Fais (lfais@webcointernet.com - http://www.github.com/lucasfais)
14
- * Lucas Húngaro (lucashungaro@gmail.com - http://www.github.com/lucashungaro)
15
- * Luis Cipriani (lfcipriani@talleye.com - http://www.github.com/lfcipriani)
16
- * Luiz Rocha (lsdr@lsdr.net - http://www.github.com/lsdr)
10
+ * Manoel Lemos (manoel@lemos.net - http://github.com/mlemos) - initial work
11
+ * Celestino Gomes (tinorj@gmail.com - http://github.com/tinogomes)
12
+ * Leandro Silva (leandrodoze@gmail.com - http://github.com/leandrosilva)
13
+ * Lucas Fais (lfais@webcointernet.com - http://github.com/lucasfais)
14
+ * Lucas Húngaro (lucashungaro@gmail.com - http://github.com/lucashungaro)
15
+ * Luis Cipriani (lfcipriani@talleye.com - http://github.com/lfcipriani)
16
+ * Luiz Rocha (lsdr@lsdr.net - http://github.com/lsdr)
17
+ * Thomaz Leite (thomaz@leite.me - http://github.com/thomaz)
17
18
 
data/CHANGELOG CHANGED
@@ -1,3 +1,8 @@
1
+ == v0.0.7
2
+ * Updated User object. It no longer has Basic and Extended versions
3
+ * Small bugfix, to make username avaliable thru all Tuiter::CLient objects
4
+ * friends/ids API call implemented
5
+
1
6
  == v0.0.6
2
7
  * Added OAuth support
3
8
  * Http Basic Authentication is still supported and old users won't need to change any code base
data/lib/tuiter/client.rb CHANGED
@@ -7,7 +7,7 @@ module Tuiter
7
7
  include Tuiter::FriendshipMethods
8
8
  include Tuiter::SocialGraphMethods
9
9
  include Tuiter::AccountMethods
10
-
10
+
11
11
  def initialize(options = {})
12
12
  @pid = Process.pid
13
13
  @logger = options[:logger] || Logger.new('tuiter.log')
@@ -31,7 +31,16 @@ module Tuiter
31
31
 
32
32
  def authorized?
33
33
  oauth_response = @request_handler.get('/account/verify_credentials.json')
34
- return oauth_response.class == Net::HTTPOK
34
+ if oauth_response.class == Net::HTTPOK
35
+ @username = JSON.parse(oauth_response.body)[:username]
36
+ true
37
+ else
38
+ false
39
+ end
40
+ end
41
+
42
+ def username
43
+ @username ||= account_verify_credentials?.screen_name
35
44
  end
36
45
 
37
46
  private
@@ -33,8 +33,8 @@ module Tuiter
33
33
  def initialize(data = nil)
34
34
  unless data.nil?
35
35
  super(data)
36
- @sender = UserBasic.new(data['sender'])
37
- @recipient = UserBasic.new(data['recipient'])
36
+ @sender = User.new(data['sender'])
37
+ @recipient = User.new(data['recipient'])
38
38
  end
39
39
  end
40
40
 
@@ -36,7 +36,7 @@ module Tuiter
36
36
  def initialize(data=nil)
37
37
  unless data.nil?
38
38
  super(data)
39
- @user = UserBasic.new(data["user"])
39
+ @user = User.new(data["user"])
40
40
  end
41
41
  end
42
42
 
@@ -1,6 +1,6 @@
1
1
  module Tuiter
2
2
 
3
- class UserBasic
3
+ class User
4
4
  attr_accessor :id
5
5
  attr_accessor :name
6
6
  attr_accessor :screen_name
@@ -10,24 +10,6 @@ module Tuiter
10
10
  attr_accessor :url
11
11
  attr_accessor :protected
12
12
  attr_accessor :followers_count
13
-
14
- def initialize(data = nil)
15
- unless data.nil?
16
- @id = data["id"]
17
- @name = data["name"]
18
- @screen_name = data["screen_name"]
19
- @location = data["location"]
20
- @description = data["description"]
21
- @profile_image_url = data["profile_image_url"]
22
- @url = data["url"]
23
- @protected = data["protected"]
24
- @followers_count = data["followers_count"]
25
- end
26
- end
27
-
28
- end
29
-
30
- class UserExtended < UserBasic
31
13
  attr_accessor :profile_background_color
32
14
  attr_accessor :profile_text_color
33
15
  attr_accessor :profile_link_color
@@ -40,13 +22,22 @@ module Tuiter
40
22
  attr_accessor :time_zone
41
23
  attr_accessor :profile_background_image_url
42
24
  attr_accessor :profile_background_tile
43
- attr_accessor :following
44
- attr_accessor :notifications
45
25
  attr_accessor :statuses_count
26
+ attr_accessor :notifications
27
+ attr_accessor :following
28
+ attr_accessor :status
46
29
 
47
30
  def initialize(data = nil)
48
31
  unless data.nil?
49
- super(data)
32
+ @id = data["id"]
33
+ @name = data["name"]
34
+ @screen_name = data["screen_name"]
35
+ @location = data["location"]
36
+ @description = data["description"]
37
+ @profile_image_url = data["profile_image_url"]
38
+ @url = data["url"]
39
+ @protected = data["protected"]
40
+ @followers_count = data["followers_count"]
50
41
  @profile_background_color = data["profile_background_color"]
51
42
  @profile_text_color = data["profile_text_color"]
52
43
  @profile_link_color = data["profile_link_color"]
@@ -59,9 +50,10 @@ module Tuiter
59
50
  @time_zone = data["time_zone"]
60
51
  @profile_background_image_url = data["profile_background_image_url"]
61
52
  @profile_background_tile = data["profile_background_tile"]
62
- @following = data["following"]
63
- @notifications = data["notifications"]
64
53
  @statuses_count = data["statuses_count"].to_i
54
+ @notifications = data["notifications"]
55
+ @following = data["following"]
56
+ @status = StatusBasic.new(data["status"])
65
57
  else
66
58
  @created_at = DateTime.now
67
59
  end
@@ -69,17 +61,5 @@ module Tuiter
69
61
 
70
62
  end
71
63
 
72
- class User < UserBasic
73
- attr_accessor :status
74
-
75
- def initialize(data=nil)
76
- unless data.nil?
77
- super(data)
78
- @status = StatusBasic.new(data["status"])
79
- end
80
- end
81
-
82
- end
83
-
84
64
  end
85
65
 
@@ -15,7 +15,7 @@ module Tuiter
15
15
 
16
16
  def account_verify_credentials?
17
17
  if res = @request_handler.get("/account/verify_credentials.json").body
18
- return Tuiter::UserExtended.new(JSON.parse(res))
18
+ return Tuiter::User.new(JSON.parse(res))
19
19
  else
20
20
  return nil
21
21
  end
@@ -1,6 +1,6 @@
1
1
  # Direct Message Methods
2
2
  # [X] direct_messages
3
- # [ ] direct_messages/sent
3
+ # [X] direct_messages/sent
4
4
  # [X] direct_messages/new
5
5
  # [ ] direct_messages/destroy
6
6
 
@@ -1,5 +1,5 @@
1
1
  # Social Graph Methods
2
- # [ ] friends/ids
2
+ # [X] friends/ids
3
3
  # [X] followers/ids
4
4
 
5
5
  module Tuiter
@@ -14,6 +14,13 @@ module Tuiter
14
14
  end
15
15
  end
16
16
 
17
+ def friends_ids
18
+ if res = @request_handler.get("http://twitter.com/friends/ids/#{username}.json").body
19
+ return JSON.parse(res)
20
+ else
21
+ return nil
22
+ end
23
+ end
17
24
  end
18
25
 
19
26
  end
@@ -47,7 +47,7 @@ module Tuiter
47
47
 
48
48
  def users_show(id)
49
49
  if res = @request_handler.get("http://twitter.com/users/show/#{id}.json").body
50
- return Tuiter::UserExtended.new(JSON.parse(res))
50
+ return Tuiter::User.new(JSON.parse(res))
51
51
  else
52
52
  return nil
53
53
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: webco-tuiter
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.6
4
+ version: 0.0.7
5
5
  platform: ruby
6
6
  authors:
7
7
  - Manoel Lemos
@@ -10,7 +10,7 @@ autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
12
 
13
- date: 2009-05-03 00:00:00 -07:00
13
+ date: 2009-05-09 00:00:00 -07:00
14
14
  default_executable:
15
15
  dependencies:
16
16
  - !ruby/object:Gem::Dependency
@@ -31,7 +31,7 @@ dependencies:
31
31
  requirements:
32
32
  - - ">="
33
33
  - !ruby/object:Gem::Version
34
- version: 0.3.1
34
+ version: 0.3.4
35
35
  version:
36
36
  description: Yet another Twitter API wrapper library in Ruby
37
37
  email: opensource@webcointernet.com