fb_graph 0.0.1 → 0.0.2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (61) hide show
  1. data/VERSION +1 -1
  2. data/fb_graph.gemspec +53 -2
  3. data/lib/fb_graph/album.rb +26 -0
  4. data/lib/fb_graph/comment.rb +18 -0
  5. data/lib/fb_graph/connections/activities.rb +12 -0
  6. data/lib/fb_graph/connections/albums.rb +12 -0
  7. data/lib/fb_graph/connections/attending.rb +16 -0
  8. data/lib/fb_graph/connections/books.rb +12 -0
  9. data/lib/fb_graph/connections/comments.rb +12 -0
  10. data/lib/fb_graph/connections/declined.rb +16 -0
  11. data/lib/fb_graph/connections/events.rb +12 -0
  12. data/lib/fb_graph/connections/feed.rb +4 -1
  13. data/lib/fb_graph/connections/friends.rb +12 -0
  14. data/lib/fb_graph/connections/groups.rb +12 -0
  15. data/lib/fb_graph/connections/home.rb +4 -1
  16. data/lib/fb_graph/connections/interests.rb +12 -0
  17. data/lib/fb_graph/connections/invited.rb +16 -0
  18. data/lib/fb_graph/connections/links.rb +12 -0
  19. data/lib/fb_graph/connections/maybe.rb +16 -0
  20. data/lib/fb_graph/connections/members.rb +16 -0
  21. data/lib/fb_graph/connections/movies.rb +12 -0
  22. data/lib/fb_graph/connections/music.rb +12 -0
  23. data/lib/fb_graph/connections/noreply.rb +16 -0
  24. data/lib/fb_graph/connections/notes.rb +12 -0
  25. data/lib/fb_graph/connections/photos.rb +12 -0
  26. data/lib/fb_graph/connections/posts.rb +1 -4
  27. data/lib/fb_graph/connections/tagged.rb +4 -1
  28. data/lib/fb_graph/connections/television.rb +12 -0
  29. data/lib/fb_graph/connections/videos.rb +12 -0
  30. data/lib/fb_graph/event.rb +28 -0
  31. data/lib/fb_graph/group.rb +23 -0
  32. data/lib/fb_graph/link.rb +21 -0
  33. data/lib/fb_graph/note.rb +22 -0
  34. data/lib/fb_graph/page.rb +10 -0
  35. data/lib/fb_graph/photo.rb +42 -0
  36. data/lib/fb_graph/post.rb +7 -5
  37. data/lib/fb_graph/status.rb +5 -3
  38. data/lib/fb_graph/user.rb +21 -1
  39. data/lib/fb_graph/video.rb +23 -0
  40. data/lib/fb_graph.rb +11 -3
  41. data/spec/fake_json/users/activities/arjun_private.json +24 -0
  42. data/spec/fake_json/users/activities/arjun_public.json +6 -0
  43. data/spec/fake_json/users/feed/arjun_private.json +520 -0
  44. data/spec/fake_json/users/feed/arjun_public.json +520 -0
  45. data/spec/fake_json/users/friends/arjun_private.json +6 -0
  46. data/spec/fake_json/users/friends/arjun_public.json +6 -0
  47. data/spec/fake_json/users/friends/me_private.json +524 -0
  48. data/spec/fake_json/users/friends/me_public.json +6 -0
  49. data/spec/fake_json/users/posts/arjun_private.json +386 -0
  50. data/spec/fake_json/users/posts/arjun_public.json +386 -0
  51. data/spec/fake_json/users/tagged/arjun_private.json +308 -0
  52. data/spec/fake_json/users/tagged/arjun_public.json +308 -0
  53. data/spec/fb_graph/connections/activities_spec.rb +28 -0
  54. data/spec/fb_graph/connections/feed_spec.rb +34 -0
  55. data/spec/fb_graph/connections/friends_spec.rb +42 -0
  56. data/spec/fb_graph/connections/home_spec.rb +14 -2
  57. data/spec/fb_graph/connections/likes_spec.rb +0 -5
  58. data/spec/fb_graph/connections/posts_spec.rb +34 -0
  59. data/spec/fb_graph/connections/statuses_spec.rb +0 -19
  60. data/spec/fb_graph/connections/tagged_spec.rb +41 -0
  61. metadata +53 -2
@@ -0,0 +1,42 @@
1
+ module FbGraph
2
+ class Photo < Node
3
+ include Connections::Comments
4
+
5
+ attr_accessor :from, :tags, :name, :picture, :source, :height, :width, :link, :created_time, :updated_time
6
+
7
+ class Tag
8
+ attr_accessor :user, :x, :y, :created_time
9
+ def initialize(identifier, options = {})
10
+ @x = options.delete(:x)
11
+ @y = options.delete(:y)
12
+ @created_time = options.delete(:created_time)
13
+ @user = User.new(identifier, options)
14
+ end
15
+ end
16
+
17
+ def initialize(identifier, options = {})
18
+ super
19
+ if (from = options[:from])
20
+ @from = if from[:category]
21
+ FbGraph::Page.new(from.delete(:id), from)
22
+ else
23
+ FbGraph::User.new(from.delete(:id), from)
24
+ end
25
+ end
26
+ @tags = []
27
+ if options[:tags]
28
+ options[:tags][:data].each do |tag|
29
+ FbGraph::Tag.new(tag.delete(:id), tag)
30
+ end
31
+ end
32
+ @name = options[:name]
33
+ @picture = options[:picture]
34
+ @source = options[:source]
35
+ @height = options[:height]
36
+ @width = options[:width]
37
+ @link = options[:link]
38
+ @created_time = options[:created_time]
39
+ @updated_time = options[:updated_time]
40
+ end
41
+ end
42
+ end
data/lib/fb_graph/post.rb CHANGED
@@ -1,23 +1,25 @@
1
1
  module FbGraph
2
2
  class Post < Node
3
+ include Connections::Comments
4
+
3
5
  attr_accessor :from, :to, :message, :picture, :link, :name, :caption, :description, :source, :icon, :attribution, :actions, :likes, :created_time, :updated_time
4
6
 
5
7
  def initialize(identifier, options = {})
6
8
  super
7
9
  if (from = options[:from])
8
10
  @from = if from[:category]
9
- FbGraph::Page.new(from[:id], :name => from[:name], :category => from[:category])
11
+ FbGraph::Page.new(from.delete(:id), from)
10
12
  else
11
- FbGraph::User.new(from[:id], :name => from[:name])
13
+ FbGraph::User.new(from.delete(:id), from)
12
14
  end
13
15
  end
14
16
  @to = []
15
17
  if options[:to]
16
- options[:to].each do |to|
18
+ options[:to][:data].each do |to|
17
19
  @to << if to[:category]
18
- FbGraph::Page.new(to[:id], :name => to[:name], :category => to[:category])
20
+ FbGraph::Page.new(to.delete(:id), to)
19
21
  else
20
- FbGraph::User.new(to[:id], :name => to[:name])
22
+ FbGraph::User.new(to.delete(:id), to)
21
23
  end
22
24
  end
23
25
  end
@@ -1,17 +1,19 @@
1
1
  module FbGraph
2
2
  class Status < Node
3
+ include Connections::Comments
4
+
3
5
  attr_accessor :from, :message, :updated_time
4
6
 
5
7
  def initialize(identifier, options = {})
6
8
  super
7
9
  if (from = options[:from])
8
10
  @from = if from[:category]
9
- FbGraph::Page.new(from[:id], :name => from[:name], :category => from[:category])
11
+ FbGraph::Page.new(from.delete(:id), from)
10
12
  else
11
- FbGraph::User.new(from[:id], :name => from[:name])
13
+ FbGraph::User.new(from.delete(:id), from)
12
14
  end
13
15
  end
14
- @message = options[:message]
16
+ @message = options[:message]
15
17
  @updated_time = options[:updated_time]
16
18
  end
17
19
  end
data/lib/fb_graph/user.rb CHANGED
@@ -2,10 +2,30 @@ module FbGraph
2
2
  class User < Node
3
3
  include Connections::Home
4
4
  include Connections::Feed
5
+ include Connections::Tagged
5
6
  include Connections::Posts
6
- include Connections::Likes
7
7
  include Connections::Picture
8
+ include Connections::Friends
9
+ include Connections::Activities
10
+ include Connections::Interests
11
+ include Connections::Music
12
+ include Connections::Books
13
+ include Connections::Movies
14
+ include Connections::Television
15
+ include Connections::Likes
16
+ include Connections::Photos
17
+ include Connections::Albums
18
+ include Connections::Videos
19
+ include Connections::Groups
8
20
  include Connections::Statuses
21
+ include Connections::Links
22
+ include Connections::Notes
23
+ include Connections::Events
24
+
25
+ # TODO:
26
+ # include Connections::Inbox
27
+ # include Connections::Outbox
28
+ # include Connections::Updates
9
29
 
10
30
  attr_accessor :name, :last_name, :first_name, :link, :about, :birthday, :work, :education, :email, :website
11
31
 
@@ -0,0 +1,23 @@
1
+ module FbGraph
2
+ class Video < Node
3
+ include Connections::Comments
4
+
5
+ attr_accessor :from, :message, :description, :length, :created_time, :updated_time
6
+
7
+ def initialize(identifier, options = {})
8
+ super
9
+ if (from = options[:from])
10
+ @from = if from[:category]
11
+ FbGraph::Page.new(from.delete(:id), from)
12
+ else
13
+ FbGraph::User.new(from.delete(:id), from)
14
+ end
15
+ end
16
+ @message = options[:message]
17
+ @description = options[:description]
18
+ @length = options[:length]
19
+ @created_time = options[:created_time]
20
+ @updated_time = options[:updated_time]
21
+ end
22
+ end
23
+ end
data/lib/fb_graph.rb CHANGED
@@ -21,6 +21,14 @@ module FbGraph
21
21
 
22
22
  end
23
23
 
24
- Dir[File.dirname(__FILE__) + '/fb_graph/*.rb'].each do |file|
25
- require file
26
- end
24
+ require 'fb_graph/node'
25
+ require 'fb_graph/connections'
26
+
27
+ require 'fb_graph/album'
28
+ require 'fb_graph/group'
29
+ require 'fb_graph/page'
30
+ require 'fb_graph/photo'
31
+ require 'fb_graph/post'
32
+ require 'fb_graph/status'
33
+ require 'fb_graph/user'
34
+ require 'fb_graph/video'
@@ -0,0 +1,24 @@
1
+ {
2
+ "data": [
3
+ {
4
+ "name": "Doing Things at the Last Minute",
5
+ "category": "\u6d3b\u52d5",
6
+ "id": "378209722137"
7
+ },
8
+ {
9
+ "name": "Coding",
10
+ "category": "\u6d3b\u52d5",
11
+ "id": "113492995333781"
12
+ },
13
+ {
14
+ "name": "Reading",
15
+ "category": "\u6d3b\u52d5",
16
+ "id": "108865669148432"
17
+ },
18
+ {
19
+ "name": "Camping",
20
+ "category": "\u6d3b\u52d5",
21
+ "id": "105426616157521"
22
+ }
23
+ ]
24
+ }
@@ -0,0 +1,6 @@
1
+ {
2
+ "error": {
3
+ "type": "OAuthAccessTokenException",
4
+ "message": "An access token is required to request this resource."
5
+ }
6
+ }