rest-graph 1.5.0 → 1.6.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -136,7 +136,7 @@ module RestGraph::RailsUtil
136
136
  end
137
137
 
138
138
  def rest_graph_options_new
139
- @rest_graph_options_new ||= {:log_handler => method(:rest_graph_log)}
139
+ @rest_graph_options_new ||= {:log_method => logger.method(:debug)}
140
140
  end
141
141
  # ==================== end options utility =======================
142
142
 
@@ -268,17 +268,6 @@ module RestGraph::RailsUtil
268
268
 
269
269
 
270
270
  # ==================== begin misc ================================
271
- def rest_graph_log event
272
- message = "DEBUG: RestGraph: spent #{sprintf('%f', event.duration)} "
273
- case event
274
- when RestGraph::Event::Requested
275
- logger.debug(message + "requesting #{event.url}")
276
-
277
- when RestGraph::Event::CacheHit
278
- logger.debug(message + "cache hit' #{event.url}")
279
- end
280
- end
281
-
282
271
  def rest_graph_normalized_request_uri
283
272
  uri = URI.encode(
284
273
  if rest_graph_in_canvas?
@@ -309,7 +298,7 @@ module RestGraph::RailsUtil
309
298
 
310
299
  def rest_graph_extract_options options, method
311
300
  result = options.send(method){ |(k, v)| RestGraph::Attributes.member?(k) }
312
- return result if result.kind_of?(Hash) # RUBY_VERSION >= 1.9.1
301
+ return result if result.kind_of?(Hash) # RUBY_VERSION >= 1.9.2
313
302
  result.inject({}){ |r, (k, v)| r[k] = v; r }
314
303
  end
315
304
  # ==================== end misc ================================
@@ -0,0 +1,95 @@
1
+
2
+ require 'rest-graph'
3
+ require 'rr'
4
+
5
+ module RestGraph::TestUtil
6
+ extend RR::Adapters::RRMethods
7
+
8
+ Methods = [:get, :delete, :post, :put]
9
+
10
+ module_function
11
+ def setup
12
+ any_instance_of(RestGraph){ |rg|
13
+ stub(rg).data{default_data}
14
+
15
+ stub(rg).fetch{ |meth, uri, payload|
16
+ history << [meth, uri, payload]
17
+ RestGraph.json_encode(default_response)
18
+ }
19
+ }
20
+ self
21
+ end
22
+ alias_method :before, :setup
23
+
24
+ def teardown
25
+ history.clear
26
+ [:default_response, :default_data].each{ |meth| send("#{meth}=", nil) }
27
+ RR::Injections::DoubleInjection.instances[RestGraph].keys.each{ |meth|
28
+ RR::Injections::DoubleInjection.reset_double(RestGraph, meth)
29
+ }
30
+ self
31
+ end
32
+ alias_method :after, :teardown
33
+
34
+ def default_response
35
+ @default_response ||= {'data' => []}
36
+ end
37
+
38
+ def default_data
39
+ @default_data ||= {'uid' => '1234'}
40
+ end
41
+
42
+ self.class.module_eval{
43
+ attr_writer :default_response, :default_data
44
+ }
45
+
46
+ def history
47
+ @history ||= []
48
+ end
49
+
50
+ def login id=default_data['uid']
51
+ teardown
52
+ setup
53
+
54
+ uid = id.to_s
55
+ expires = '123456789'
56
+ app_id = RestGraph.default_app_id || '5678'
57
+ session_key = "2.random_string.3600.#{expires}-#{uid}"
58
+ salt = 'random-salt'
59
+ access_token = "#{app_id}|#{session_key}|#{salt}"
60
+
61
+ self.default_data = { 'uid' => uid,
62
+ 'access_token' => access_token,
63
+ 'session_key' => session_key}
64
+
65
+ get('me'){ user(uid) }
66
+ self
67
+ end
68
+
69
+ def user id
70
+ { 'id' => id,
71
+ 'name' => 'rest-graph stubbed-user',
72
+ 'first_name' => 'rest-graph',
73
+ 'last_name' => 'stubbed-user',
74
+ 'link' => 'http://www.facebook.com/rest-graph',
75
+ 'about' => 'this is a stubbed user in rest-graph',
76
+ 'hometown' => {'id' => id*2, 'name' => 'Taiwan'},
77
+ 'bio' => 'A super simple Facebook Open Graph API client',
78
+ 'quotes' => 'Write programs that do one thing and do it well.',
79
+ 'timezone' => 8,
80
+ 'locale' => 'en_US',
81
+ 'verified' => true,
82
+ 'updated_time' => '2010-05-07T15:04:08+0000'}
83
+ end
84
+
85
+ instance_eval(s = Methods.map{ |meth|
86
+ <<-RUBY
87
+ def #{meth} *args, &block
88
+ any_instance_of(RestGraph){ |rg|
89
+ stub.proxy(rg).#{meth}(*args, &block)
90
+ stub.proxy(rg).#{meth}
91
+ }
92
+ end
93
+ RUBY
94
+ }.join("\n"))
95
+ end
@@ -1,4 +1,4 @@
1
1
 
2
2
  require 'rest-graph'
3
3
 
4
- RestGraph::VERSION = '1.5.0'
4
+ RestGraph::VERSION = '1.6.0'
data/rest-graph.gemspec CHANGED
@@ -1,61 +1,309 @@
1
- # -*- encoding: utf-8 -*-
1
+ --- !ruby/object:Gem::Specification
2
+ name: rest-graph
3
+ version: !ruby/object:Gem::Version
4
+ prerelease: false
5
+ segments:
6
+ - 1
7
+ - 6
8
+ - 0
9
+ version: 1.6.0
10
+ platform: ruby
11
+ authors:
12
+ - Cardinal Blue
13
+ - "Lin Jen-Shin (aka godfat \xE7\x9C\x9F\xE5\xB8\xB8)"
14
+ autorequire:
15
+ bindir: bin
16
+ cert_chain: []
2
17
 
3
- Gem::Specification.new do |s|
4
- s.name = %q{rest-graph}
5
- s.version = "1.5.0"
18
+ date: 2010-11-19 00:00:00 +08:00
19
+ default_executable:
20
+ dependencies:
21
+ - !ruby/object:Gem::Dependency
22
+ name: rest-client
23
+ prerelease: false
24
+ requirement: &id001 !ruby/object:Gem::Requirement
25
+ none: false
26
+ requirements:
27
+ - - ">="
28
+ - !ruby/object:Gem::Version
29
+ segments:
30
+ - 1
31
+ - 6
32
+ - 1
33
+ version: 1.6.1
34
+ type: :development
35
+ version_requirements: *id001
36
+ - !ruby/object:Gem::Dependency
37
+ name: em-http-request
38
+ prerelease: false
39
+ requirement: &id002 !ruby/object:Gem::Requirement
40
+ none: false
41
+ requirements:
42
+ - - ">="
43
+ - !ruby/object:Gem::Version
44
+ segments:
45
+ - 0
46
+ - 2
47
+ - 15
48
+ version: 0.2.15
49
+ type: :development
50
+ version_requirements: *id002
51
+ - !ruby/object:Gem::Dependency
52
+ name: rack
53
+ prerelease: false
54
+ requirement: &id003 !ruby/object:Gem::Requirement
55
+ none: false
56
+ requirements:
57
+ - - ">="
58
+ - !ruby/object:Gem::Version
59
+ segments:
60
+ - 1
61
+ - 2
62
+ - 1
63
+ version: 1.2.1
64
+ type: :development
65
+ version_requirements: *id003
66
+ - !ruby/object:Gem::Dependency
67
+ name: yajl-ruby
68
+ prerelease: false
69
+ requirement: &id004 !ruby/object:Gem::Requirement
70
+ none: false
71
+ requirements:
72
+ - - ">="
73
+ - !ruby/object:Gem::Version
74
+ segments:
75
+ - 0
76
+ - 7
77
+ - 8
78
+ version: 0.7.8
79
+ type: :development
80
+ version_requirements: *id004
81
+ - !ruby/object:Gem::Dependency
82
+ name: json
83
+ prerelease: false
84
+ requirement: &id005 !ruby/object:Gem::Requirement
85
+ none: false
86
+ requirements:
87
+ - - ">="
88
+ - !ruby/object:Gem::Version
89
+ segments:
90
+ - 1
91
+ - 4
92
+ - 6
93
+ version: 1.4.6
94
+ type: :development
95
+ version_requirements: *id005
96
+ - !ruby/object:Gem::Dependency
97
+ name: json_pure
98
+ prerelease: false
99
+ requirement: &id006 !ruby/object:Gem::Requirement
100
+ none: false
101
+ requirements:
102
+ - - ">="
103
+ - !ruby/object:Gem::Version
104
+ segments:
105
+ - 1
106
+ - 4
107
+ - 6
108
+ version: 1.4.6
109
+ type: :development
110
+ version_requirements: *id006
111
+ - !ruby/object:Gem::Dependency
112
+ name: ruby-hmac
113
+ prerelease: false
114
+ requirement: &id007 !ruby/object:Gem::Requirement
115
+ none: false
116
+ requirements:
117
+ - - ">="
118
+ - !ruby/object:Gem::Version
119
+ segments:
120
+ - 0
121
+ - 4
122
+ - 0
123
+ version: 0.4.0
124
+ type: :development
125
+ version_requirements: *id007
126
+ - !ruby/object:Gem::Dependency
127
+ name: rr
128
+ 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
142
+ name: webmock
143
+ prerelease: false
144
+ requirement: &id009 !ruby/object:Gem::Requirement
145
+ none: false
146
+ requirements:
147
+ - - ">="
148
+ - !ruby/object:Gem::Version
149
+ segments:
150
+ - 1
151
+ - 6
152
+ - 1
153
+ version: 1.6.1
154
+ type: :development
155
+ version_requirements: *id009
156
+ - !ruby/object:Gem::Dependency
157
+ name: bacon
158
+ prerelease: false
159
+ requirement: &id010 !ruby/object:Gem::Requirement
160
+ none: false
161
+ requirements:
162
+ - - ">="
163
+ - !ruby/object:Gem::Version
164
+ segments:
165
+ - 1
166
+ - 1
167
+ - 0
168
+ version: 1.1.0
169
+ type: :development
170
+ version_requirements: *id010
171
+ - !ruby/object:Gem::Dependency
172
+ name: bones
173
+ prerelease: false
174
+ requirement: &id011 !ruby/object:Gem::Requirement
175
+ none: false
176
+ requirements:
177
+ - - ">="
178
+ - !ruby/object:Gem::Version
179
+ segments:
180
+ - 3
181
+ - 5
182
+ - 1
183
+ version: 3.5.1
184
+ type: :development
185
+ version_requirements: *id011
186
+ description: A super simple Facebook Open Graph API client
187
+ email: dev (XD) cardinalblue.com
188
+ executables: []
6
189
 
7
- s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
8
- s.authors = ["Cardinal Blue", "Lin Jen-Shin (aka godfat 真常)"]
9
- s.date = %q{2010-10-11}
10
- s.description = %q{A super simple Facebook Open Graph API client}
11
- s.email = %q{dev (XD) cardinalblue.com}
12
- s.extra_rdoc_files = ["CHANGES", "CONTRIBUTORS", "Gemfile", "Gemfile.lock", "LICENSE", "README", "TODO", "rest-graph.gemspec"]
13
- s.files = ["CHANGES", "CONTRIBUTORS", "Gemfile", "Gemfile.lock", "LICENSE", "README", "README.rdoc", "Rakefile", "TODO", "example/rails2/README", "example/rails2/Rakefile", "example/rails2/app/controllers/application_controller.rb", "example/rails2/config/boot.rb", "example/rails2/config/environment.rb", "example/rails2/config/environments/development.rb", "example/rails2/config/environments/production.rb", "example/rails2/config/environments/test.rb", "example/rails2/config/initializers/cookie_verification_secret.rb", "example/rails2/config/initializers/new_rails_defaults.rb", "example/rails2/config/initializers/session_store.rb", "example/rails2/config/rest-graph.yaml", "example/rails2/config/routes.rb", "example/rails2/log", "example/rails2/script/console", "example/rails2/script/server", "example/rails2/test/functional/application_controller_test.rb", "example/rails2/test/test_helper.rb", "example/rails2/test/unit/rails_util_test.rb", "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_api.rb", "test/test_cache.rb", "test/test_default.rb", "test/test_error.rb", "test/test_handler.rb", "test/test_load_config.rb", "test/test_misc.rb", "test/test_oauth.rb", "test/test_old.rb", "test/test_page.rb", "test/test_parse.rb", "test/test_rest-graph.rb", "test/test_serialize.rb"]
14
- s.homepage = %q{http://github.com/cardinalblue/rest-graph}
15
- s.rdoc_options = ["--main", "README.rdoc"]
16
- s.require_paths = ["lib"]
17
- s.rubyforge_project = %q{rest-graph}
18
- s.rubygems_version = %q{1.3.7}
19
- s.summary = %q{A super simple Facebook Open Graph API client}
20
- s.test_files = ["test/test_api.rb", "test/test_cache.rb", "test/test_default.rb", "test/test_error.rb", "test/test_handler.rb", "test/test_load_config.rb", "test/test_misc.rb", "test/test_oauth.rb", "test/test_old.rb", "test/test_page.rb", "test/test_parse.rb", "test/test_rest-graph.rb", "test/test_serialize.rb"]
190
+ extensions: []
21
191
 
22
- if s.respond_to? :specification_version then
23
- current_version = Gem::Specification::CURRENT_SPECIFICATION_VERSION
24
- s.specification_version = 3
192
+ extra_rdoc_files:
193
+ - .specification
194
+ - CHANGES
195
+ - CONTRIBUTORS
196
+ - Gemfile
197
+ - Gemfile.lock
198
+ - LICENSE
199
+ - README
200
+ - TODO
201
+ - rest-graph.gemspec
202
+ files:
203
+ - .specification
204
+ - CHANGES
205
+ - CONTRIBUTORS
206
+ - Gemfile
207
+ - Gemfile.lock
208
+ - LICENSE
209
+ - README
210
+ - README.rdoc
211
+ - Rakefile
212
+ - TODO
213
+ - example/multi/config.ru
214
+ - example/multi/rainbows.rb
215
+ - example/rails2/README
216
+ - example/rails2/Rakefile
217
+ - example/rails2/app/controllers/application_controller.rb
218
+ - example/rails2/config/boot.rb
219
+ - example/rails2/config/environment.rb
220
+ - example/rails2/config/environments/development.rb
221
+ - example/rails2/config/environments/production.rb
222
+ - example/rails2/config/environments/test.rb
223
+ - example/rails2/config/initializers/cookie_verification_secret.rb
224
+ - example/rails2/config/initializers/new_rails_defaults.rb
225
+ - example/rails2/config/initializers/session_store.rb
226
+ - example/rails2/config/rest-graph.yaml
227
+ - example/rails2/config/routes.rb
228
+ - example/rails2/log
229
+ - example/rails2/script/console
230
+ - example/rails2/script/server
231
+ - example/rails2/test/functional/application_controller_test.rb
232
+ - example/rails2/test/test_helper.rb
233
+ - example/rails2/test/unit/rails_util_test.rb
234
+ - init.rb
235
+ - lib/rest-graph.rb
236
+ - lib/rest-graph/auto_load.rb
237
+ - lib/rest-graph/load_config.rb
238
+ - lib/rest-graph/rails_util.rb
239
+ - lib/rest-graph/test_util.rb
240
+ - lib/rest-graph/version.rb
241
+ - rest-graph.gemspec
242
+ - test/common.rb
243
+ - test/config/rest-graph.yaml
244
+ - test/test_api.rb
245
+ - test/test_cache.rb
246
+ - test/test_default.rb
247
+ - test/test_error.rb
248
+ - test/test_handler.rb
249
+ - test/test_load_config.rb
250
+ - test/test_misc.rb
251
+ - test/test_multi.rb
252
+ - test/test_oauth.rb
253
+ - test/test_old.rb
254
+ - test/test_page.rb
255
+ - test/test_parse.rb
256
+ - test/test_rest-graph.rb
257
+ - test/test_serialize.rb
258
+ - test/test_test_util.rb
259
+ - test/test_timeout.rb
260
+ has_rdoc: true
261
+ homepage: http://github.com/cardinalblue/rest-graph
262
+ licenses: []
25
263
 
26
- if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
27
- s.add_runtime_dependency(%q<rest-client>, [">= 1.6.1"])
28
- s.add_development_dependency(%q<rack>, [">= 1.2.1"])
29
- s.add_development_dependency(%q<yajl-ruby>, [">= 0.7.8"])
30
- s.add_development_dependency(%q<json>, [">= 1.4.6"])
31
- s.add_development_dependency(%q<json_pure>, [">= 1.4.6"])
32
- s.add_development_dependency(%q<ruby-hmac>, [">= 0.4.0"])
33
- s.add_development_dependency(%q<rr>, [">= 1.0.0"])
34
- s.add_development_dependency(%q<webmock>, [">= 1.3.5"])
35
- s.add_development_dependency(%q<bacon>, [">= 1.1.0"])
36
- s.add_development_dependency(%q<bones>, [">= 3.4.7"])
37
- else
38
- s.add_dependency(%q<rest-client>, [">= 1.6.1"])
39
- s.add_dependency(%q<rack>, [">= 1.2.1"])
40
- s.add_dependency(%q<yajl-ruby>, [">= 0.7.8"])
41
- s.add_dependency(%q<json>, [">= 1.4.6"])
42
- s.add_dependency(%q<json_pure>, [">= 1.4.6"])
43
- s.add_dependency(%q<ruby-hmac>, [">= 0.4.0"])
44
- s.add_dependency(%q<rr>, [">= 1.0.0"])
45
- s.add_dependency(%q<webmock>, [">= 1.3.5"])
46
- s.add_dependency(%q<bacon>, [">= 1.1.0"])
47
- s.add_dependency(%q<bones>, [">= 3.4.7"])
48
- end
49
- else
50
- s.add_dependency(%q<rest-client>, [">= 1.6.1"])
51
- s.add_dependency(%q<rack>, [">= 1.2.1"])
52
- s.add_dependency(%q<yajl-ruby>, [">= 0.7.8"])
53
- s.add_dependency(%q<json>, [">= 1.4.6"])
54
- s.add_dependency(%q<json_pure>, [">= 1.4.6"])
55
- s.add_dependency(%q<ruby-hmac>, [">= 0.4.0"])
56
- s.add_dependency(%q<rr>, [">= 1.0.0"])
57
- s.add_dependency(%q<webmock>, [">= 1.3.5"])
58
- s.add_dependency(%q<bacon>, [">= 1.1.0"])
59
- s.add_dependency(%q<bones>, [">= 3.4.7"])
60
- end
61
- end
264
+ post_install_message:
265
+ rdoc_options:
266
+ - --main
267
+ - README.rdoc
268
+ require_paths:
269
+ - lib
270
+ required_ruby_version: !ruby/object:Gem::Requirement
271
+ none: false
272
+ requirements:
273
+ - - ">="
274
+ - !ruby/object:Gem::Version
275
+ segments:
276
+ - 0
277
+ version: "0"
278
+ required_rubygems_version: !ruby/object:Gem::Requirement
279
+ none: false
280
+ requirements:
281
+ - - ">="
282
+ - !ruby/object:Gem::Version
283
+ segments:
284
+ - 0
285
+ version: "0"
286
+ requirements: []
287
+
288
+ rubyforge_project: rest-graph
289
+ rubygems_version: 1.3.7
290
+ signing_key:
291
+ specification_version: 3
292
+ summary: A super simple Facebook Open Graph API client
293
+ test_files:
294
+ - test/test_api.rb
295
+ - test/test_cache.rb
296
+ - test/test_default.rb
297
+ - test/test_error.rb
298
+ - test/test_handler.rb
299
+ - test/test_load_config.rb
300
+ - test/test_misc.rb
301
+ - test/test_multi.rb
302
+ - test/test_oauth.rb
303
+ - test/test_old.rb
304
+ - test/test_page.rb
305
+ - test/test_parse.rb
306
+ - test/test_rest-graph.rb
307
+ - test/test_serialize.rb
308
+ - test/test_test_util.rb
309
+ - test/test_timeout.rb