rest-graph 1.2.0 → 1.2.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/CHANGES CHANGED
@@ -1,6 +1,14 @@
1
1
  = rest-graph changes history
2
2
 
3
- == rest-graph 1.2.0 -- ?
3
+ == rest-graph 1.2.1 -- 2010-06-02
4
+ * Deprecated RailsController, use RailsUtil instead.
5
+ * Fixed a bug that passing access_token in query string
6
+ in RestGraph#authorize_url
7
+ * Fixed a bug that Facebook changed the format (I think) of fbs_ in cookies.
8
+ Thanks betelgeuse, closes #1
9
+ http://github.com/cardinalblue/rest-graph/issues/issue/1
10
+
11
+ == rest-graph 1.2.0 -- 2010-05-27
4
12
  * Add RestGraph#parse_json!
5
13
  * Add RailsController to help you integrate into Rails.
6
14
  * Simplify arguments checking and require dependency.
data/README.rdoc CHANGED
@@ -1,4 +1,4 @@
1
- = rest-graph 1.2.0
1
+ = rest-graph 1.2.1
2
2
  by Cardinal Blue ( http://cardinalblue.com )
3
3
 
4
4
  == LINKS:
@@ -8,7 +8,7 @@ class ApplicationController < ActionController::Base
8
8
  # Scrub sensitive parameters from your log
9
9
  # filter_parameter_logging :password
10
10
 
11
- include RestGraph::RailsController
11
+ include RestGraph::RailsUtil
12
12
  before_filter :setup_iframe
13
13
  before_filter :setup_rest_graph
14
14
 
data/lib/rest-graph.rb CHANGED
@@ -117,12 +117,12 @@ class RestGraph < RestGraphStruct
117
117
 
118
118
  if RUBY_VERSION >= '1.9.1'
119
119
  def parse_rack_env! env
120
- self.data = env['HTTP_COOKIE'] =~ /fbs_#{app_id}="(.+?)"/ &&
120
+ self.data = env['HTTP_COOKIE'] =~ /fbs_#{app_id}=([^\;]+)/ &&
121
121
  check_sig_and_return_data(Rack::Utils.parse_query($1))
122
122
  end
123
123
  else
124
124
  def parse_rack_env! env
125
- self.data = (env['HTTP_COOKIE'] || '') =~ /fbs_#{app_id}="(.+?)"/ &&
125
+ self.data = (env['HTTP_COOKIE'] || '') =~ /fbs_#{app_id}=([^\;]+)/ &&
126
126
  check_sig_and_return_data(Rack::Utils.parse_query($1))
127
127
  end
128
128
  end
@@ -133,7 +133,7 @@ class RestGraph < RestGraphStruct
133
133
 
134
134
  def parse_fbs! fbs
135
135
  self.data = fbs &&
136
- check_sig_and_return_data(Rack::Utils.parse_query(fbs[1..-2]))
136
+ check_sig_and_return_data(Rack::Utils.parse_query(fbs))
137
137
  end
138
138
 
139
139
  def parse_json! json
@@ -145,7 +145,7 @@ class RestGraph < RestGraphStruct
145
145
  # oauth related
146
146
 
147
147
  def authorize_url opts={}
148
- query = {:client_id => app_id}.merge(opts)
148
+ query = {:client_id => app_id, :access_token => nil}.merge(opts)
149
149
  "#{graph_server}oauth/authorize#{build_query_string(query)}"
150
150
  end
151
151
 
@@ -168,7 +168,8 @@ class RestGraph < RestGraphStruct
168
168
  end
169
169
 
170
170
  def build_query_string query={}
171
- q = query.merge(access_token ? {:access_token => access_token} : {})
171
+ qq = access_token ? {:access_token => access_token}.merge(query) : query
172
+ q = qq.select{ |k, v| v }
172
173
  return '' if q.empty?
173
174
  return '?' + q.map{ |(k, v)| "#{k}=#{CGI.escape(v.to_s)}" }.join('&')
174
175
  end
@@ -3,7 +3,7 @@ require 'erb'
3
3
  require 'yaml'
4
4
 
5
5
  require 'rest-graph'
6
- require 'rest-graph/rails_controller' if Object.const_defined?(:Rails)
6
+ require 'rest-graph/rails_util' if Object.const_defined?(:Rails)
7
7
 
8
8
  module RestGraph::LoadConfig
9
9
  module_function
@@ -1,7 +1,7 @@
1
1
 
2
2
  require 'rest-graph'
3
3
 
4
- module RestGraph::RailsController
4
+ module RestGraph::RailsUtil
5
5
  module_function
6
6
  # filters for you
7
7
  def setup_iframe
@@ -98,3 +98,5 @@ module RestGraph::RailsController
98
98
  sub(/[\&\?]code=[^\&]+/, '')
99
99
  end
100
100
  end
101
+
102
+ RestGraph::RailsController = RestGraph::RailsUtil
@@ -1,4 +1,4 @@
1
1
 
2
2
  require 'rest-graph'
3
3
 
4
- RestGraph::VERSION = '1.2.0'
4
+ RestGraph::VERSION = '1.2.1'
data/rest-graph.gemspec CHANGED
@@ -2,23 +2,21 @@
2
2
 
3
3
  Gem::Specification.new do |s|
4
4
  s.name = %q{rest-graph}
5
- s.version = "1.2.0"
5
+ s.version = "1.2.1"
6
6
 
7
7
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
8
8
  s.authors = ["Cardinal Blue", "Lin Jen-Shin (aka godfat 真常)"]
9
- s.date = %q{2010-05-28}
10
- s.description = %q{ A super simple Facebook Open Graph API client
11
- If you feel SYNOPSIS is so hard to understand, please read
12
- {examples}[http://github.com/cardinalblue/rest-graph/tree/master/example].}
9
+ s.date = %q{2010-06-02}
10
+ s.description = %q{ A super simple Facebook Open Graph API client}
13
11
  s.email = %q{dev (XD) cardinalblue.com}
14
- s.extra_rdoc_files = ["CHANGES", "LICENSE", "TODO", "example/rails/README", "example/rails/app/views/rest-graph.erb", "example/rails/config/rest-graph.yaml", "example/rails/script/console", "example/rails/script/server", "rest-graph.gemspec"]
15
- s.files = ["CHANGES", "LICENSE", "README.rdoc", "Rakefile", "TODO", "example/rails/README", "example/rails/Rakefile", "example/rails/app/controllers/application_controller.rb", "example/rails/app/views/rest-graph.erb", "example/rails/config/boot.rb", "example/rails/config/environment.rb", "example/rails/config/environments/development.rb", "example/rails/config/environments/production.rb", "example/rails/config/environments/test.rb", "example/rails/config/initializers/cookie_verification_secret.rb", "example/rails/config/initializers/new_rails_defaults.rb", "example/rails/config/initializers/session_store.rb", "example/rails/config/rest-graph.yaml", "example/rails/config/routes.rb", "example/rails/script/console", "example/rails/script/server", "init.rb", "lib/rest-graph.rb", "lib/rest-graph/auto_load.rb", "lib/rest-graph/load_config.rb", "lib/rest-graph/rails_controller.rb", "lib/rest-graph/version.rb", "rest-graph.gemspec", "test/common.rb", "test/config/rest-graph.yaml", "test/test_default.rb", "test/test_fql.rb", "test/test_handler.rb", "test/test_load_config.rb", "test/test_oauth.rb", "test/test_parse.rb", "test/test_rest-graph.rb"]
12
+ s.extra_rdoc_files = ["CHANGES", "LICENSE", "TODO", "example/rails/README", "example/rails/app/views/rest-graph/authorization.erb", "example/rails/config/rest-graph.yaml", "example/rails/script/console", "example/rails/script/server", "rest-graph.gemspec"]
13
+ s.files = ["CHANGES", "LICENSE", "README.rdoc", "Rakefile", "TODO", "example/rails/README", "example/rails/Rakefile", "example/rails/app/controllers/application_controller.rb", "example/rails/app/views/rest-graph/authorization.erb", "example/rails/config/boot.rb", "example/rails/config/environment.rb", "example/rails/config/environments/development.rb", "example/rails/config/environments/production.rb", "example/rails/config/environments/test.rb", "example/rails/config/initializers/cookie_verification_secret.rb", "example/rails/config/initializers/new_rails_defaults.rb", "example/rails/config/initializers/session_store.rb", "example/rails/config/rest-graph.yaml", "example/rails/config/routes.rb", "example/rails/script/console", "example/rails/script/server", "init.rb", "lib/rest-graph.rb", "lib/rest-graph/auto_load.rb", "lib/rest-graph/load_config.rb", "lib/rest-graph/rails_util.rb", "lib/rest-graph/version.rb", "rest-graph.gemspec", "test/common.rb", "test/config/rest-graph.yaml", "test/test_default.rb", "test/test_fql.rb", "test/test_handler.rb", "test/test_load_config.rb", "test/test_oauth.rb", "test/test_parse.rb", "test/test_rest-graph.rb"]
16
14
  s.homepage = %q{http://github.com/cardinalblue/rest-graph}
17
15
  s.rdoc_options = ["--main", "README.rdoc"]
18
16
  s.require_paths = ["lib"]
19
17
  s.rubyforge_project = %q{rest-graph}
20
18
  s.rubygems_version = %q{1.3.7}
21
- s.summary = %q{A super simple Facebook Open Graph API client If you feel SYNOPSIS is so hard to understand, please read {examples}[http://github}
19
+ s.summary = %q{A super simple Facebook Open Graph API client}
22
20
  s.test_files = ["test/test_default.rb", "test/test_fql.rb", "test/test_handler.rb", "test/test_load_config.rb", "test/test_oauth.rb", "test/test_parse.rb", "test/test_rest-graph.rb"]
23
21
 
24
22
  if s.respond_to? :specification_version then
data/test/test_oauth.rb CHANGED
@@ -31,4 +31,9 @@ describe RestGraph do
31
31
  @rg.data.should == result
32
32
  end
33
33
 
34
+ it 'would not append access_token in authorize_url even presented' do
35
+ RestGraph.new(:access_token => 'do not use me').authorize_url.
36
+ should == 'https://graph.facebook.com/oauth/authorize'
37
+ end
38
+
34
39
  end
data/test/test_parse.rb CHANGED
@@ -18,8 +18,8 @@ describe RestGraph do
18
18
  app_id = '1829'
19
19
  secret = app_id.reverse
20
20
  sig = '398262caea8442bd8801e8fba7c55c8a'
21
- fbs = "\"access_token=#{CGI.escape(access_token)}&expires=0&" \
22
- "secret=abc&session_key=def-456&sig=#{sig}&uid=3\""
21
+ fbs = "access_token=#{CGI.escape(access_token)}&expires=0&" \
22
+ "secret=abc&session_key=def-456&sig=#{sig}&uid=3"
23
23
 
24
24
  check = lambda{ |token|
25
25
  http_cookie =
metadata CHANGED
@@ -1,13 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rest-graph
3
3
  version: !ruby/object:Gem::Version
4
- hash: 31
4
+ hash: 29
5
5
  prerelease: false
6
6
  segments:
7
7
  - 1
8
8
  - 2
9
- - 0
10
- version: 1.2.0
9
+ - 1
10
+ version: 1.2.1
11
11
  platform: ruby
12
12
  authors:
13
13
  - Cardinal Blue
@@ -16,7 +16,7 @@ autorequire:
16
16
  bindir: bin
17
17
  cert_chain: []
18
18
 
19
- date: 2010-05-28 00:00:00 +08:00
19
+ date: 2010-06-02 00:00:00 +08:00
20
20
  default_executable:
21
21
  dependencies:
22
22
  - !ruby/object:Gem::Dependency
@@ -142,7 +142,7 @@ extra_rdoc_files:
142
142
  - LICENSE
143
143
  - TODO
144
144
  - example/rails/README
145
- - example/rails/app/views/rest-graph.erb
145
+ - example/rails/app/views/rest-graph/authorization.erb
146
146
  - example/rails/config/rest-graph.yaml
147
147
  - example/rails/script/console
148
148
  - example/rails/script/server
@@ -156,7 +156,7 @@ files:
156
156
  - example/rails/README
157
157
  - example/rails/Rakefile
158
158
  - example/rails/app/controllers/application_controller.rb
159
- - example/rails/app/views/rest-graph.erb
159
+ - example/rails/app/views/rest-graph/authorization.erb
160
160
  - example/rails/config/boot.rb
161
161
  - example/rails/config/environment.rb
162
162
  - example/rails/config/environments/development.rb
@@ -173,7 +173,7 @@ files:
173
173
  - lib/rest-graph.rb
174
174
  - lib/rest-graph/auto_load.rb
175
175
  - lib/rest-graph/load_config.rb
176
- - lib/rest-graph/rails_controller.rb
176
+ - lib/rest-graph/rails_util.rb
177
177
  - lib/rest-graph/version.rb
178
178
  - rest-graph.gemspec
179
179
  - test/common.rb