fb_graph 0.7.3 → 0.8.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/VERSION CHANGED
@@ -1 +1 @@
1
- 0.7.3
1
+ 0.8.0
data/fb_graph.gemspec CHANGED
@@ -5,11 +5,11 @@
5
5
 
6
6
  Gem::Specification.new do |s|
7
7
  s.name = %q{fb_graph}
8
- s.version = "0.7.3"
8
+ s.version = "0.8.0"
9
9
 
10
10
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
11
  s.authors = ["nov matake"]
12
- s.date = %q{2010-09-07}
12
+ s.date = %q{2010-09-08}
13
13
  s.description = %q{A Ruby wrapper for Facebook Graph API}
14
14
  s.email = %q{nov@matake.jp}
15
15
  s.extra_rdoc_files = [
@@ -64,6 +64,7 @@ Gem::Specification.new do |s|
64
64
  "lib/fb_graph/connections/picture.rb",
65
65
  "lib/fb_graph/connections/posts.rb",
66
66
  "lib/fb_graph/connections/statuses.rb",
67
+ "lib/fb_graph/connections/subscriptions.rb",
67
68
  "lib/fb_graph/connections/tagged.rb",
68
69
  "lib/fb_graph/connections/television.rb",
69
70
  "lib/fb_graph/connections/videos.rb",
@@ -11,18 +11,18 @@ module FbGraph
11
11
  include Connections::Videos
12
12
  include Connections::Notes
13
13
  include Connections::Events
14
- # include Connections::Subscriptions # TODO
14
+ include Connections::Subscriptions
15
15
  include Connections::Insights
16
16
 
17
17
  attr_accessor :name, :description, :category, :link, :secret
18
18
 
19
19
  def initialize(client_id, attributes = {})
20
20
  super
21
- @name = attributes[:name]
22
- @description = attributes[:description]
23
- @category = attributes[:category]
24
- @link = attributes[:link]
25
- @secret = attributes[:secret]
21
+ @name = attributes[:name]
22
+ @description = attributes[:description]
23
+ @category = attributes[:category]
24
+ @link = attributes[:link]
25
+ @secret = attributes[:secret]
26
26
  end
27
27
 
28
28
  def get_access_token(secret = nil)
@@ -1,5 +1,5 @@
1
1
  module FbGraph
2
- class Event < Node
2
+ class Checkin < Node
3
3
  attr_accessor :from, :tags, :place, :message, :coordinates, :application, :created_time
4
4
 
5
5
  def initialize(identifier, attributes = {})
@@ -5,7 +5,7 @@ module FbGraph
5
5
  options[:access_token] ||= self.access_token || get_access_token(options[:secret])
6
6
  insights = self.connection(:insights, options)
7
7
  insights.map! do |insight|
8
- FbGraph::Insight.new(insight.merge(:access_token => options[:access_token]))
8
+ Insight.new(insight.merge(:access_token => options[:access_token]))
9
9
  end
10
10
  end
11
11
  end
@@ -0,0 +1,51 @@
1
+ module FbGraph
2
+ module Connections
3
+ module Subscriptions
4
+ # == Fetch current subscriptions
5
+ #
6
+ # app = FbGraph::Application.new(APP_ID, :secret => APP_SECRET)
7
+ # app.subscriptions
8
+ # => Array of FbGraph::Subscriptions
9
+ def subscriptions(options = {})
10
+ options[:access_token] ||= self.access_token || get_access_token(options[:secret])
11
+ subscriptions = self.connection(:subscriptions, options)
12
+ subscriptions.map! do |subscription|
13
+ Subscription.new(subscription.merge(:access_token => options[:access_token]))
14
+ end
15
+ end
16
+
17
+ # == Subscribe
18
+ #
19
+ # Subscriber have to setup PubSubHubbub subscriber endpoint.
20
+ # See details at "Subscription Verification" in the Facebook API document.
21
+ # ref) http://developers.facebook.com/docs/api/realtime
22
+ #
23
+ # app.subscribe!(
24
+ # :object => "user",
25
+ # :fields => "name,email",
26
+ # :callback_url => "http://fbgraphsample.heroku.com/subscription",
27
+ # :verify_token => "Define by yourself"
28
+ # )
29
+ # => Array of FbGraph::Subscriptions
30
+ def subscribe!(options = {})
31
+ options[:access_token] ||= self.access_token || get_access_token(options[:secret])
32
+ post(options.merge(:connection => 'subscriptions'))
33
+ end
34
+
35
+ # == Subscribe
36
+ #
37
+ # Delete all of your subscriptions.
38
+ # If you specify an object parameter, it will only delete the corresponding subscription.
39
+ # ref) http://developers.facebook.com/docs/api/realtime
40
+ #
41
+ # app.unsubscribe!(
42
+ # :object => "user"
43
+ # )
44
+ # => Array of FbGraph::Subscriptions
45
+ def unsubscribe!(options = {})
46
+ options[:access_token] ||= self.access_token || get_access_token(options[:secret])
47
+ destroy(options.merge(:connection => 'subscriptions'))
48
+ end
49
+ end
50
+ end
51
+ end
data/lib/fb_graph/node.rb CHANGED
@@ -99,6 +99,8 @@ module FbGraph
99
99
  # I've posted this issue on their forum, so hopefully I'll get a document about Graph API error responses.
100
100
  # ref) http://forum.developers.facebook.com/viewtopic.php?pid=228256#p228256
101
101
  raise FbGraph::NotFound.new('Graph API returned false, so probably it means your requested object is not found.')
102
+ when 'null'
103
+ nil
102
104
  else
103
105
  _response_ = JSON.parse(response.body).with_indifferent_access
104
106
  if _response_[:error]
@@ -1,10 +1,14 @@
1
1
  module FbGraph
2
- class Subscription < Node
2
+ class Subscription
3
+ include FbGraph::Comparison
4
+
3
5
  attr_accessor :object, :fields, :callback_url, :active
4
6
 
5
- def initialize(identifier, options = {})
6
- super
7
- # TODO
7
+ def initialize(attributes = {})
8
+ @object = attributes[:object]
9
+ @fields = attributes[:fields]
10
+ @callback_url = attributes[:callback_url]
11
+ @active = attributes[:active]
8
12
  end
9
13
  end
10
14
  end
data/lib/fb_graph.rb CHANGED
@@ -66,6 +66,7 @@ require 'fb_graph/page'
66
66
  require 'fb_graph/photo'
67
67
  require 'fb_graph/post'
68
68
  require 'fb_graph/status'
69
+ require 'fb_graph/subscription'
69
70
  require 'fb_graph/tag'
70
71
  require 'fb_graph/user'
71
72
  require 'fb_graph/venue'
metadata CHANGED
@@ -1,13 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: fb_graph
3
3
  version: !ruby/object:Gem::Version
4
- hash: 5
4
+ hash: 63
5
5
  prerelease: false
6
6
  segments:
7
7
  - 0
8
- - 7
9
- - 3
10
- version: 0.7.3
8
+ - 8
9
+ - 0
10
+ version: 0.8.0
11
11
  platform: ruby
12
12
  authors:
13
13
  - nov matake
@@ -15,7 +15,7 @@ autorequire:
15
15
  bindir: bin
16
16
  cert_chain: []
17
17
 
18
- date: 2010-09-07 00:00:00 +09:00
18
+ date: 2010-09-08 00:00:00 +09:00
19
19
  default_executable:
20
20
  dependencies:
21
21
  - !ruby/object:Gem::Dependency
@@ -176,6 +176,7 @@ files:
176
176
  - lib/fb_graph/connections/picture.rb
177
177
  - lib/fb_graph/connections/posts.rb
178
178
  - lib/fb_graph/connections/statuses.rb
179
+ - lib/fb_graph/connections/subscriptions.rb
179
180
  - lib/fb_graph/connections/tagged.rb
180
181
  - lib/fb_graph/connections/television.rb
181
182
  - lib/fb_graph/connections/videos.rb