rest-graph 1.7.0 → 1.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.
Files changed (63) hide show
  1. data/.gitignore +6 -0
  2. data/CHANGES +44 -0
  3. data/CONTRIBUTORS +1 -0
  4. data/README +221 -191
  5. data/README.md +367 -0
  6. data/Rakefile +28 -43
  7. data/TODO +1 -0
  8. data/doc/ToC.md +10 -0
  9. data/doc/dependency.md +78 -0
  10. data/doc/design.md +206 -0
  11. data/doc/rails.md +12 -0
  12. data/doc/test.md +46 -0
  13. data/doc/tutorial.md +142 -0
  14. data/example/rails2/Gemfile +13 -0
  15. data/example/rails2/app/controllers/application_controller.rb +10 -8
  16. data/example/rails2/app/views/application/helper.html.erb +1 -0
  17. data/example/rails2/config/boot.rb +16 -0
  18. data/example/rails2/config/environment.rb +3 -30
  19. data/example/rails2/config/preinitializer.rb +23 -0
  20. data/example/rails2/test/functional/application_controller_test.rb +72 -32
  21. data/example/rails2/test/test_helper.rb +10 -6
  22. data/example/rails3/Gemfile +13 -0
  23. data/example/rails3/Rakefile +7 -0
  24. data/example/rails3/app/controllers/application_controller.rb +118 -0
  25. data/example/rails3/app/views/application/helper.html.erb +1 -0
  26. data/example/rails3/config.ru +4 -0
  27. data/example/rails3/config/application.rb +23 -0
  28. data/example/rails3/config/environment.rb +5 -0
  29. data/example/rails3/config/environments/development.rb +26 -0
  30. data/example/rails3/config/environments/production.rb +49 -0
  31. data/example/rails3/config/environments/test.rb +30 -0
  32. data/example/rails3/config/initializers/secret_token.rb +7 -0
  33. data/example/rails3/config/initializers/session_store.rb +8 -0
  34. data/example/rails3/config/rest-graph.yaml +11 -0
  35. data/example/rails3/config/routes.rb +5 -0
  36. data/example/rails3/test/functional/application_controller_test.rb +183 -0
  37. data/example/rails3/test/test_helper.rb +18 -0
  38. data/example/rails3/test/unit/rails_util_test.rb +44 -0
  39. data/init.rb +1 -1
  40. data/lib/rest-graph.rb +5 -571
  41. data/lib/rest-graph/auto_load.rb +3 -3
  42. data/lib/rest-graph/autoload.rb +3 -3
  43. data/lib/rest-graph/config_util.rb +43 -0
  44. data/lib/rest-graph/core.rb +608 -0
  45. data/lib/rest-graph/facebook_util.rb +74 -0
  46. data/lib/rest-graph/rails_util.rb +85 -37
  47. data/lib/rest-graph/test_util.rb +18 -2
  48. data/lib/rest-graph/version.rb +2 -2
  49. data/rest-graph.gemspec +42 -47
  50. data/task/gemgem.rb +155 -0
  51. data/test/test_api.rb +16 -0
  52. data/test/test_cache.rb +28 -8
  53. data/test/test_error.rb +9 -0
  54. data/test/test_facebook.rb +36 -0
  55. data/test/test_load_config.rb +16 -14
  56. data/test/test_misc.rb +4 -4
  57. data/test/test_parse.rb +10 -4
  58. metadata +146 -186
  59. data/Gemfile.lock +0 -45
  60. data/README.rdoc +0 -337
  61. data/example/rails2/script/console +0 -3
  62. data/example/rails2/script/server +0 -3
  63. data/lib/rest-graph/load_config.rb +0 -41
data/test/test_api.rb CHANGED
@@ -33,6 +33,22 @@ describe RestGraph do
33
33
  :accept => 'text/plain').get('me').should == {'data' => []}
34
34
  end
35
35
 
36
+ should 'pass custom headers' do
37
+ stub_request(:get, 'http://example.com/').with(
38
+ :headers => {'Accept' => 'text/javascript',
39
+ 'Accept-Language' => 'en-us',
40
+ 'Accept-Encoding' => 'gzip, deflate', # this is by ruby
41
+ 'X-Forwarded-For' => '127.0.0.1',
42
+ }.merge(RUBY_VERSION < '1.9.2' ?
43
+ {} :
44
+ {'User-Agent' => 'Ruby'})). # this is by ruby
45
+ to_return(:body => '{"data": []}')
46
+
47
+ RestGraph.new.request({:headers => {'X-Forwarded-For' => '127.0.0.1'}},
48
+ [:get, 'http://example.com']).
49
+ should == {'data' => []}
50
+ end
51
+
36
52
  should 'post right' do
37
53
  stub_request(:post, 'https://graph.facebook.com/feed/me').
38
54
  with(:body => 'message=hi%20there').to_return(:body => 'ok')
data/test/test_cache.rb CHANGED
@@ -11,14 +11,34 @@ describe RestGraph do
11
11
  RR.verify
12
12
  end
13
13
 
14
- should 'enable cache if passing cache' do
15
- url, body = "https://graph.facebook.com/cache", '{"message":"ok"}'
16
- stub_request(:get, url).to_return(:body => body).times(1)
17
-
18
- cache = {}
19
- rg = RestGraph.new(:cache => cache, :auto_decode => false)
20
- 3.times{ rg.get('cache').should == body }
21
- cache.should == {rg.send(:cache_key, url) => body}
14
+ describe 'cache' do
15
+ before do
16
+ @url, @body = "https://graph.facebook.com/cache", '{"message":"ok"}'
17
+ @cache = {}
18
+ @rg = RestGraph.new(:cache => @cache, :auto_decode => false)
19
+ stub_request(:get, @url).to_return(:body => @body).times(1)
20
+ end
21
+
22
+ should 'enable cache if passing cache' do
23
+ 3.times{ @rg.get('cache').should == @body }
24
+ @cache.should == {@rg.send(:cache_key, @url) => @body}
25
+ end
26
+
27
+ should 'respect expires_in' do
28
+ mock(@cache).method(:store){ mock!.arity{ -3 } }
29
+ mock(@cache).store(@rg.send(:cache_key, @url), @body, :expires_in => 3)
30
+ @rg.get('cache', {}, :expires_in => 3).should == @body
31
+ end
32
+
33
+ should 'update cache if there is cache option set to false' do
34
+ @rg.get('cache') .should == @body
35
+ stub_request(:get, @url).to_return(:body => @body.reverse).times(2)
36
+ @rg.get('cache') .should == @body
37
+ @rg.get('cache', {}, :cache => false).should == @body.reverse
38
+ @rg.get('cache') .should == @body.reverse
39
+ @rg.cache = nil
40
+ @rg.get('cache', {}, :cache => false).should == @body.reverse
41
+ end
22
42
  end
23
43
 
24
44
  should 'not cache post/put/delete' do
data/test/test_error.rb CHANGED
@@ -48,4 +48,13 @@ describe RestGraph::Error do
48
48
  error.should.not.kind_of?(RestGraph::Error::AccessToken)
49
49
  error.should .kind_of?(RestGraph::Error)
50
50
  end
51
+
52
+ should 'nuke cache upon errors' do
53
+ stub_request(:get, 'https://graph.facebook.com/me').
54
+ to_return(:body => '{"error":"wrong"}').times(2)
55
+
56
+ rg = RestGraph.new(:cache => {}, :error_handler => lambda{|e,u|})
57
+ rg.get('me'); rg.get('me')
58
+ rg.cache.values.should == [nil]
59
+ end
51
60
  end
@@ -0,0 +1,36 @@
1
+
2
+ if respond_to?(:require_relative, true)
3
+ require_relative 'common'
4
+ else
5
+ require File.dirname(__FILE__) + '/common'
6
+ end
7
+
8
+ require 'rest-graph/facebook_util'
9
+
10
+ describe RestGraph::FacebookUtil do
11
+ after do
12
+ RR.verify
13
+ end
14
+
15
+ before do
16
+ @res = [{'publish_stream' => 1, 'email' => 0}]
17
+ end
18
+
19
+ should 'fix_permission' do
20
+ RestGraph.new.fix_permissions(@res).should == %w[publish_stream]
21
+ end
22
+
23
+ should 'fix_fql_multi' do
24
+ RestGraph.new.fix_fql_multi([{'name'=>'a', 'fql_result_set'=> @res}]).
25
+ should == {'a' => @res}
26
+ end
27
+
28
+ should 'permissions' do
29
+ mock(rg = RestGraph.new).fql(
30
+ rg.permissions_fql(1234,
31
+ RestGraph::FacebookUtil::PERMISSIONS), {}, :secret => true
32
+ ){ @res }
33
+
34
+ rg.permissions(1234).should == %w[publish_stream]
35
+ end
36
+ end
@@ -5,9 +5,9 @@ else
5
5
  require File.dirname(__FILE__) + '/common'
6
6
  end
7
7
 
8
- require 'rest-graph/load_config'
8
+ require 'rest-graph/config_util'
9
9
 
10
- describe RestGraph::LoadConfig do
10
+ describe RestGraph::ConfigUtil do
11
11
 
12
12
  after do
13
13
  RR.verify
@@ -15,8 +15,8 @@ describe RestGraph::LoadConfig do
15
15
 
16
16
  should 'honor rails config' do
17
17
  ::Rails = Object.new
18
- mock(Rails).env { 'test' }
19
- mock(Rails).root{ File.dirname(__FILE__) }
18
+ mock(Rails).env { 'test' }.times(2)
19
+ mock(Rails).root{ File.dirname(__FILE__) }.times(2)
20
20
 
21
21
  check = lambda{
22
22
  RestGraph.default_app_id.should == 41829
@@ -25,16 +25,18 @@ describe RestGraph::LoadConfig do
25
25
  RestGraph.default_lang.should == 'zh-tw'
26
26
  }
27
27
 
28
- TestHelper.ensure_rollback{
29
- RestGraph::LoadConfig.load_if_rails!
30
- check
31
- }
32
-
33
- TestHelper.ensure_rollback{
34
- RestGraph::LoadConfig.load_config!(
35
- "#{File.dirname(__FILE__)}/config/rest-graph.yaml",
36
- 'test')
37
- check
28
+ [RestGraph::ConfigUtil, RestGraph].each{ |const|
29
+ TestHelper.ensure_rollback{
30
+ const.load_config_for_rails
31
+ check.call
32
+ }
33
+
34
+ TestHelper.ensure_rollback{
35
+ const.load_config(
36
+ "#{File.dirname(__FILE__)}/config/rest-graph.yaml",
37
+ 'test')
38
+ check.call
39
+ }
38
40
  }
39
41
  end
40
42
  end
data/test/test_misc.rb CHANGED
@@ -53,13 +53,13 @@ describe RestGraph do
53
53
  end
54
54
 
55
55
  should 'auto decode json' do
56
- RestGraph.new(:auto_decode => true).send(:post_request, '[]').
57
- should == []
56
+ RestGraph.new(:auto_decode => true).
57
+ send(:post_request, '[]', '', {}).should == []
58
58
  end
59
59
 
60
60
  should 'not auto decode json' do
61
- RestGraph.new(:auto_decode => false).send(:post_request, '[]').
62
- should == '[]'
61
+ RestGraph.new(:auto_decode => false).
62
+ send(:post_request, '[]', '', {}).should == '[]'
63
63
  end
64
64
 
65
65
  should 'give better inspect string' do
data/test/test_parse.rb CHANGED
@@ -58,7 +58,7 @@ describe RestGraph do
58
58
  should 'parse json correctly' do
59
59
  rg = RestGraph.new
60
60
 
61
- rg.parse_json!('bad json').should == nil
61
+ rg.parse_json!('bad json') .should == nil
62
62
  rg.parse_json!('{"no":"sig"}').should == nil
63
63
  rg.parse_json!('{"feed":"me","sig":"bddd192cf27f22c05f61c8bea24fa4b7"}').
64
64
  should == nil
@@ -66,6 +66,9 @@ describe RestGraph do
66
66
  rg = RestGraph.new(:secret => 'bread')
67
67
  rg.parse_json!('{"feed":"me","sig":"20393e7823730308938a86ecf1c88b14"}').
68
68
  should == {'feed' => 'me', 'sig' => "20393e7823730308938a86ecf1c88b14"}
69
+ rg.data.empty?.should == false
70
+ rg.parse_json!('bad json')
71
+ rg.data.empty?.should == true
69
72
  end
70
73
 
71
74
  should 'parse signed_request' do
@@ -85,13 +88,14 @@ describe RestGraph do
85
88
 
86
89
  signed_request = "#{encode[sig[0..-4]+'bad']}.#{json_encoded}"
87
90
  rg.parse_signed_request!(signed_request).should == nil
91
+ rg.data .should == {}
88
92
  end
89
93
 
90
94
  should 'fallback to ruby-hmac if Digest.new raise an runtime error' do
91
95
  key, data = 'top', 'secret'
92
- mock(OpenSSL::Digest::Digest).new('sha256'){ raise 'boom' }
93
- RestGraph.hmac_sha256(key, data).should ==
94
- OpenSSL::HMAC.digest('sha256', key, data)
96
+ digest = OpenSSL::HMAC.digest('sha256', key, data)
97
+ mock(OpenSSL::HMAC).digest('sha256', key, data){ raise 'boom' }
98
+ RestGraph.hmac_sha256(key, data).should == digest
95
99
  end
96
100
 
97
101
  should 'generate correct fbs with correct sig' do
@@ -102,7 +106,9 @@ describe RestGraph do
102
106
  should 'parse fbs from facebook response which lacks sig...' do
103
107
  rg = RestGraph.new(:access_token => 'a', :secret => 'z')
104
108
  rg.parse_fbs!(rg.fbs) .should.kind_of?(Hash)
109
+ rg.data.empty?.should == false
105
110
  rg.parse_fbs!(rg.fbs.sub(/sig\=\w+/, 'sig=abc')).should == nil
111
+ rg.data.empty?.should == true
106
112
  end
107
113
 
108
114
  should 'generate correct fbs with additional parameters' do
metadata CHANGED
@@ -1,218 +1,162 @@
1
- --- !ruby/object:Gem::Specification
1
+ --- !ruby/object:Gem::Specification
2
2
  name: rest-graph
3
- version: !ruby/object:Gem::Version
4
- prerelease: false
5
- segments:
6
- - 1
7
- - 7
8
- - 0
9
- version: 1.7.0
3
+ version: !ruby/object:Gem::Version
4
+ version: 1.8.0
5
+ prerelease:
10
6
  platform: ruby
11
- authors:
7
+ authors:
12
8
  - Cardinal Blue
13
- - "Lin Jen-Shin (aka godfat \xE7\x9C\x9F\xE5\xB8\xB8)"
9
+ - Lin Jen-Shin (godfat)
14
10
  autorequire:
15
11
  bindir: bin
16
12
  cert_chain: []
17
-
18
- date: 2010-12-30 00:00:00 +08:00
13
+ date: 2011-03-08 00:00:00.000000000 +08:00
19
14
  default_executable:
20
- dependencies:
21
- - !ruby/object:Gem::Dependency
15
+ dependencies:
16
+ - !ruby/object:Gem::Dependency
22
17
  name: rest-client
23
- prerelease: false
24
- requirement: &id001 !ruby/object:Gem::Requirement
18
+ requirement: &2153148340 !ruby/object:Gem::Requirement
25
19
  none: false
26
- requirements:
27
- - - ">="
28
- - !ruby/object:Gem::Version
29
- segments:
30
- - 1
31
- - 6
32
- - 1
33
- version: 1.6.1
20
+ requirements:
21
+ - - ! '>='
22
+ - !ruby/object:Gem::Version
23
+ version: '0'
34
24
  type: :development
35
- version_requirements: *id001
36
- - !ruby/object:Gem::Dependency
37
- name: em-http-request
38
25
  prerelease: false
39
- requirement: &id002 !ruby/object:Gem::Requirement
26
+ version_requirements: *2153148340
27
+ - !ruby/object:Gem::Dependency
28
+ name: em-http-request
29
+ requirement: &2153314520 !ruby/object:Gem::Requirement
40
30
  none: false
41
- requirements:
42
- - - ">="
43
- - !ruby/object:Gem::Version
44
- segments:
45
- - 0
46
- - 2
47
- - 15
48
- version: 0.2.15
31
+ requirements:
32
+ - - ! '>='
33
+ - !ruby/object:Gem::Version
34
+ version: '0'
49
35
  type: :development
50
- version_requirements: *id002
51
- - !ruby/object:Gem::Dependency
52
- name: rack
53
36
  prerelease: false
54
- requirement: &id003 !ruby/object:Gem::Requirement
37
+ version_requirements: *2153314520
38
+ - !ruby/object:Gem::Dependency
39
+ name: rack
40
+ requirement: &2153544440 !ruby/object:Gem::Requirement
55
41
  none: false
56
- requirements:
57
- - - ">="
58
- - !ruby/object:Gem::Version
59
- segments:
60
- - 1
61
- - 2
62
- - 1
63
- version: 1.2.1
42
+ requirements:
43
+ - - ! '>='
44
+ - !ruby/object:Gem::Version
45
+ version: '0'
64
46
  type: :development
65
- version_requirements: *id003
66
- - !ruby/object:Gem::Dependency
67
- name: yajl-ruby
68
47
  prerelease: false
69
- requirement: &id004 !ruby/object:Gem::Requirement
48
+ version_requirements: *2153544440
49
+ - !ruby/object:Gem::Dependency
50
+ name: yajl-ruby
51
+ requirement: &2153635780 !ruby/object:Gem::Requirement
70
52
  none: false
71
- requirements:
72
- - - ">="
73
- - !ruby/object:Gem::Version
74
- segments:
75
- - 0
76
- - 7
77
- - 8
78
- version: 0.7.8
53
+ requirements:
54
+ - - ! '>='
55
+ - !ruby/object:Gem::Version
56
+ version: '0'
79
57
  type: :development
80
- version_requirements: *id004
81
- - !ruby/object:Gem::Dependency
82
- name: json
83
58
  prerelease: false
84
- requirement: &id005 !ruby/object:Gem::Requirement
59
+ version_requirements: *2153635780
60
+ - !ruby/object:Gem::Dependency
61
+ name: json
62
+ requirement: &2153767440 !ruby/object:Gem::Requirement
85
63
  none: false
86
- requirements:
87
- - - ">="
88
- - !ruby/object:Gem::Version
89
- segments:
90
- - 1
91
- - 4
92
- - 6
93
- version: 1.4.6
64
+ requirements:
65
+ - - ! '>='
66
+ - !ruby/object:Gem::Version
67
+ version: '0'
94
68
  type: :development
95
- version_requirements: *id005
96
- - !ruby/object:Gem::Dependency
97
- name: json_pure
98
69
  prerelease: false
99
- requirement: &id006 !ruby/object:Gem::Requirement
70
+ version_requirements: *2153767440
71
+ - !ruby/object:Gem::Dependency
72
+ name: json_pure
73
+ requirement: &2153853200 !ruby/object:Gem::Requirement
100
74
  none: false
101
- requirements:
102
- - - ">="
103
- - !ruby/object:Gem::Version
104
- segments:
105
- - 1
106
- - 4
107
- - 6
108
- version: 1.4.6
75
+ requirements:
76
+ - - ! '>='
77
+ - !ruby/object:Gem::Version
78
+ version: '0'
109
79
  type: :development
110
- version_requirements: *id006
111
- - !ruby/object:Gem::Dependency
112
- name: ruby-hmac
113
80
  prerelease: false
114
- requirement: &id007 !ruby/object:Gem::Requirement
81
+ version_requirements: *2153853200
82
+ - !ruby/object:Gem::Dependency
83
+ name: ruby-hmac
84
+ requirement: &2153871880 !ruby/object:Gem::Requirement
115
85
  none: false
116
- requirements:
117
- - - ">="
118
- - !ruby/object:Gem::Version
119
- segments:
120
- - 0
121
- - 4
122
- - 0
123
- version: 0.4.0
86
+ requirements:
87
+ - - ! '>='
88
+ - !ruby/object:Gem::Version
89
+ version: '0'
124
90
  type: :development
125
- version_requirements: *id007
126
- - !ruby/object:Gem::Dependency
127
- name: rr
128
91
  prerelease: false
129
- requirement: &id008 !ruby/object:Gem::Requirement
130
- none: false
131
- requirements:
132
- - - ">="
133
- - !ruby/object:Gem::Version
134
- segments:
135
- - 1
136
- - 0
137
- - 2
138
- version: 1.0.2
139
- type: :development
140
- version_requirements: *id008
141
- - !ruby/object:Gem::Dependency
92
+ version_requirements: *2153871880
93
+ - !ruby/object:Gem::Dependency
142
94
  name: webmock
143
- prerelease: false
144
- requirement: &id009 !ruby/object:Gem::Requirement
95
+ requirement: &2153926200 !ruby/object:Gem::Requirement
145
96
  none: false
146
- requirements:
147
- - - ">="
148
- - !ruby/object:Gem::Version
149
- segments:
150
- - 1
151
- - 6
152
- - 1
153
- version: 1.6.1
97
+ requirements:
98
+ - - ! '>='
99
+ - !ruby/object:Gem::Version
100
+ version: '0'
154
101
  type: :development
155
- version_requirements: *id009
156
- - !ruby/object:Gem::Dependency
157
- name: bacon
158
102
  prerelease: false
159
- requirement: &id010 !ruby/object:Gem::Requirement
103
+ version_requirements: *2153926200
104
+ - !ruby/object:Gem::Dependency
105
+ name: bacon
106
+ requirement: &2154367340 !ruby/object:Gem::Requirement
160
107
  none: false
161
- requirements:
162
- - - ">="
163
- - !ruby/object:Gem::Version
164
- segments:
165
- - 1
166
- - 1
167
- - 0
168
- version: 1.1.0
108
+ requirements:
109
+ - - ! '>='
110
+ - !ruby/object:Gem::Version
111
+ version: '0'
169
112
  type: :development
170
- version_requirements: *id010
171
- - !ruby/object:Gem::Dependency
172
- name: bones
173
113
  prerelease: false
174
- requirement: &id011 !ruby/object:Gem::Requirement
114
+ version_requirements: *2154367340
115
+ - !ruby/object:Gem::Dependency
116
+ name: rr
117
+ requirement: &2154734360 !ruby/object:Gem::Requirement
175
118
  none: false
176
- requirements:
177
- - - ">="
178
- - !ruby/object:Gem::Version
179
- segments:
180
- - 3
181
- - 5
182
- - 4
183
- version: 3.5.4
119
+ requirements:
120
+ - - ! '>='
121
+ - !ruby/object:Gem::Version
122
+ version: '0'
184
123
  type: :development
185
- version_requirements: *id011
186
- description: A super simple Facebook Open Graph API client
187
- email: dev (XD) cardinalblue.com
124
+ prerelease: false
125
+ version_requirements: *2154734360
126
+ description: A lightweight Facebook Graph API client
127
+ email:
128
+ - dev (XD) cardinalblue.com
188
129
  executables: []
189
-
190
130
  extensions: []
191
-
192
- extra_rdoc_files:
131
+ extra_rdoc_files:
193
132
  - CHANGES
194
133
  - CONTRIBUTORS
195
- - Gemfile
196
- - Gemfile.lock
197
134
  - LICENSE
198
- - README
199
135
  - TODO
200
- - rest-graph.gemspec
201
- files:
136
+ files:
137
+ - .gitignore
202
138
  - CHANGES
203
139
  - CONTRIBUTORS
204
140
  - Gemfile
205
- - Gemfile.lock
206
141
  - LICENSE
207
142
  - README
208
- - README.rdoc
143
+ - README.md
209
144
  - Rakefile
210
145
  - TODO
146
+ - doc/ToC.md
147
+ - doc/dependency.md
148
+ - doc/design.md
149
+ - doc/rails.md
150
+ - doc/test.md
151
+ - doc/tutorial.md
211
152
  - example/multi/config.ru
212
153
  - example/multi/rainbows.rb
154
+ - example/rails2/Gemfile
155
+ - example/rails2/Gemfile.lock
213
156
  - example/rails2/README
214
157
  - example/rails2/Rakefile
215
158
  - example/rails2/app/controllers/application_controller.rb
159
+ - example/rails2/app/views/application/helper.html.erb
216
160
  - example/rails2/config/boot.rb
217
161
  - example/rails2/config/environment.rb
218
162
  - example/rails2/config/environments/development.rb
@@ -221,29 +165,50 @@ files:
221
165
  - example/rails2/config/initializers/cookie_verification_secret.rb
222
166
  - example/rails2/config/initializers/new_rails_defaults.rb
223
167
  - example/rails2/config/initializers/session_store.rb
168
+ - example/rails2/config/preinitializer.rb
224
169
  - example/rails2/config/rest-graph.yaml
225
170
  - example/rails2/config/routes.rb
226
171
  - example/rails2/log
227
- - example/rails2/script/console
228
- - example/rails2/script/server
229
172
  - example/rails2/test/functional/application_controller_test.rb
230
173
  - example/rails2/test/test_helper.rb
231
174
  - example/rails2/test/unit/rails_util_test.rb
175
+ - example/rails3/Gemfile
176
+ - example/rails3/Gemfile.lock
177
+ - example/rails3/Rakefile
178
+ - example/rails3/app/controllers/application_controller.rb
179
+ - example/rails3/app/views/application/helper.html.erb
180
+ - example/rails3/config.ru
181
+ - example/rails3/config/application.rb
182
+ - example/rails3/config/environment.rb
183
+ - example/rails3/config/environments/development.rb
184
+ - example/rails3/config/environments/production.rb
185
+ - example/rails3/config/environments/test.rb
186
+ - example/rails3/config/initializers/secret_token.rb
187
+ - example/rails3/config/initializers/session_store.rb
188
+ - example/rails3/config/rest-graph.yaml
189
+ - example/rails3/config/routes.rb
190
+ - example/rails3/test/functional/application_controller_test.rb
191
+ - example/rails3/test/test_helper.rb
192
+ - example/rails3/test/unit/rails_util_test.rb
232
193
  - init.rb
233
194
  - lib/rest-graph.rb
234
195
  - lib/rest-graph/auto_load.rb
235
196
  - lib/rest-graph/autoload.rb
236
- - lib/rest-graph/load_config.rb
197
+ - lib/rest-graph/config_util.rb
198
+ - lib/rest-graph/core.rb
199
+ - lib/rest-graph/facebook_util.rb
237
200
  - lib/rest-graph/rails_util.rb
238
201
  - lib/rest-graph/test_util.rb
239
202
  - lib/rest-graph/version.rb
240
203
  - rest-graph.gemspec
204
+ - task/gemgem.rb
241
205
  - test/common.rb
242
206
  - test/config/rest-graph.yaml
243
207
  - test/test_api.rb
244
208
  - test/test_cache.rb
245
209
  - test/test_default.rb
246
210
  - test/test_error.rb
211
+ - test/test_facebook.rb
247
212
  - test/test_handler.rb
248
213
  - test/test_load_config.rb
249
214
  - test/test_misc.rb
@@ -257,43 +222,38 @@ files:
257
222
  - test/test_test_util.rb
258
223
  - test/test_timeout.rb
259
224
  has_rdoc: true
260
- homepage: http://github.com/cardinalblue/rest-graph
225
+ homepage: http://github.com/godfat/
261
226
  licenses: []
262
-
263
227
  post_install_message:
264
- rdoc_options:
228
+ rdoc_options:
265
229
  - --main
266
- - README.rdoc
267
- require_paths:
230
+ - README
231
+ require_paths:
268
232
  - lib
269
- required_ruby_version: !ruby/object:Gem::Requirement
233
+ required_ruby_version: !ruby/object:Gem::Requirement
270
234
  none: false
271
- requirements:
272
- - - ">="
273
- - !ruby/object:Gem::Version
274
- segments:
275
- - 0
276
- version: "0"
277
- required_rubygems_version: !ruby/object:Gem::Requirement
235
+ requirements:
236
+ - - ! '>='
237
+ - !ruby/object:Gem::Version
238
+ version: '0'
239
+ required_rubygems_version: !ruby/object:Gem::Requirement
278
240
  none: false
279
- requirements:
280
- - - ">="
281
- - !ruby/object:Gem::Version
282
- segments:
283
- - 0
284
- version: "0"
241
+ requirements:
242
+ - - ! '>='
243
+ - !ruby/object:Gem::Version
244
+ version: '0'
285
245
  requirements: []
286
-
287
- rubyforge_project: rest-graph
288
- rubygems_version: 1.3.7
246
+ rubyforge_project:
247
+ rubygems_version: 1.6.1
289
248
  signing_key:
290
249
  specification_version: 3
291
- summary: A super simple Facebook Open Graph API client
292
- test_files:
250
+ summary: A lightweight Facebook Graph API client
251
+ test_files:
293
252
  - test/test_api.rb
294
253
  - test/test_cache.rb
295
254
  - test/test_default.rb
296
255
  - test/test_error.rb
256
+ - test/test_facebook.rb
297
257
  - test/test_handler.rb
298
258
  - test/test_load_config.rb
299
259
  - test/test_misc.rb