rest-graph 1.5.0 → 1.6.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.
@@ -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