rest-more 3.2.0 → 3.3.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 5444cce199f7ad6519edbcbfa1db1a2ee7d1b143
4
- data.tar.gz: 2e7c6a0750501114f7bdd7f631827f5acacf08ea
3
+ metadata.gz: 8b39d49bb082449d7cc14d9c296b5b11b464eefe
4
+ data.tar.gz: c329a58ec85fea8020a2e72b0461da6df5d48651
5
5
  SHA512:
6
- metadata.gz: 73043581c21ef0dad61cba002fff199a754c96b6290ee49d44da0a78f43a3d8ea79534d239ed695b12e6c66ad1a8ad5bf91b349c0ffabb4cd86d439c87d03ca3
7
- data.tar.gz: 9f2a1b3582b0006f88ad2b1b2619fa7c7a13a539fcf827d71f94758cf4bdc01488e89f3768a4e23e5ce0aa8a02c61be64e82ddf9be11fe8438d90186a5a40876
6
+ metadata.gz: 6f390c57bc49b63ba559056cc1b51d2ca32484a1d5100354084ef89d740b53138029260311b9a8bbb70c644eec70ea53d3fdc3b82e96b75d8852d1376b0e01ad
7
+ data.tar.gz: 94171dcccda4f3e7821da7b009e0ab776b97f115dc0d294656e93fc6b83b1bc7a1557eeb8fb1f61b243d6b7729ab7b73adf848b2ad5faafc43c2c38711a5c723
data/CHANGES.md CHANGED
@@ -1,5 +1,9 @@
1
1
  # CHANGES
2
2
 
3
+ ## rest-more 3.3.0 -- 2014-08-25
4
+
5
+ * Adopted rest-core 3.3.0
6
+
3
7
  ## rest-more 3.2.0 -- 2014-06-27
4
8
 
5
9
  * Removed RC::Firebase because it's extracted into [rest-firebase][]
data/Gemfile CHANGED
@@ -8,7 +8,7 @@ gem 'rest-core', :path => 'rest-core' if
8
8
  File.exist?("#{File.dirname(File.expand_path(__FILE__))}/rest-core/Gemfile")
9
9
 
10
10
  gem 'rake'
11
- gem 'bacon'
11
+ gem 'pork'
12
12
  gem 'muack'
13
13
  gem 'webmock'
14
14
 
data/Rakefile CHANGED
@@ -14,7 +14,7 @@ Gemgem.init(dir) do |s|
14
14
  s.version = RestMore::VERSION
15
15
  s.homepage = 'https://github.com/godfat/rest-more'
16
16
 
17
- %w[rest-core].each{ |g| s.add_runtime_dependency(g, '>=3.2.0') }
17
+ %w[rest-core].each{ |g| s.add_runtime_dependency(g, '>=3.3.0') }
18
18
 
19
19
  # exclude rest-core
20
20
  s.files.reject!{ |f| f.start_with?('rest-core/') }
@@ -15,11 +15,10 @@ module RestCore
15
15
  'https://www.dropbox.com/1/oauth/authorize'
16
16
 
17
17
  use CommonLogger , nil
18
- use Cache , nil, 600 do
19
- use ErrorHandler, lambda{ |env| Dropbox::Error.call(env) }
20
- use ErrorDetectorHttp
21
- use JsonResponse, true
22
- end
18
+ use ErrorHandler , lambda{ |env| Dropbox::Error.call(env) }
19
+ use ErrorDetectorHttp
20
+ use JsonResponse , true
21
+ use Cache , nil, 600
23
22
  end
24
23
  end
25
24
 
@@ -14,14 +14,13 @@ module RestCore
14
14
  use Oauth2Query , nil
15
15
 
16
16
  use CommonLogger , nil
17
- use Cache , nil, 600 do
18
- use ErrorHandler, lambda{ |env| Facebook::Error.call(env) }
19
- use ErrorDetector, lambda{ |env|
20
- env[RESPONSE_BODY].kind_of?(Hash) &&
21
- (env[RESPONSE_BODY]['error'] || env[RESPONSE_BODY]['error_code'])}
17
+ use ErrorHandler , lambda{ |env| Facebook::Error.call(env) }
18
+ use ErrorDetector , lambda{ |env|
19
+ env[RESPONSE_BODY].kind_of?(Hash) &&
20
+ (env[RESPONSE_BODY]['error'] || env[RESPONSE_BODY]['error_code'])}
22
21
 
23
- use JsonResponse, true
24
- end
22
+ use JsonResponse , true
23
+ use Cache , nil, 600
25
24
 
26
25
  use Defaults , :old_site => 'https://api.facebook.com/'
27
26
  end
@@ -11,12 +11,11 @@ module RestCore
11
11
  use Oauth2Query , nil
12
12
 
13
13
  use CommonLogger , nil
14
- use Cache , nil, 600 do
15
- use ErrorHandler, lambda{ |env|
16
- RuntimeError.new(env[RESPONSE_BODY]['message'])}
17
- use ErrorDetectorHttp
18
- use JsonResponse, true
19
- end
14
+ use ErrorHandler , lambda{ |env|
15
+ RuntimeError.new(env[RESPONSE_BODY]['message'])}
16
+ use ErrorDetectorHttp
17
+ use JsonResponse , true
18
+ use Cache , nil, 600
20
19
  end
21
20
  end
22
21
 
@@ -12,11 +12,10 @@ module RestCore
12
12
  use Oauth2Query , nil
13
13
 
14
14
  use CommonLogger , nil
15
- use Cache , nil, 600 do
16
- use ErrorHandler, lambda{ |env| RuntimeError.new(env[RESPONSE_BODY])}
17
- use ErrorDetectorHttp
18
- use JsonResponse, true
19
- end
15
+ use ErrorHandler , lambda{ |env| RuntimeError.new(env[RESPONSE_BODY])}
16
+ use ErrorDetectorHttp
17
+ use JsonResponse , true
18
+ use Cache , nil, 600
20
19
  end
21
20
  end
22
21
 
@@ -15,12 +15,11 @@ module RestCore
15
15
  'https://www.linkedin.com/uas/oauth/authorize'
16
16
 
17
17
  use CommonLogger , nil
18
- use Cache , nil, 600 do
19
- use ErrorHandler, lambda{ |env|
20
- RuntimeError.new(env[RESPONSE_BODY]['message'])}
21
- use ErrorDetectorHttp
22
- use JsonResponse, true
23
- end
18
+ use ErrorHandler , lambda{ |env|
19
+ RuntimeError.new(env[RESPONSE_BODY]['message'])}
20
+ use ErrorDetectorHttp
21
+ use JsonResponse , true
22
+ use Cache , nil, 600
24
23
  end
25
24
  end
26
25
 
@@ -12,12 +12,11 @@ module RestCore
12
12
  use Oauth2Query , nil
13
13
 
14
14
  use CommonLogger , nil
15
- use Cache , nil, 600 do
16
- use ErrorHandler, lambda{ |env|
17
- RuntimeError.new(env[RESPONSE_BODY]['error_message'])}
18
- use ErrorDetectorHttp
19
- use JsonResponse, true
20
- end
15
+ use ErrorHandler , lambda{ |env|
16
+ RuntimeError.new(env[RESPONSE_BODY]['error_message'])}
17
+ use ErrorDetectorHttp
18
+ use JsonResponse , true
19
+ use Cache , nil, 600
21
20
  end
22
21
  end
23
22
 
@@ -13,11 +13,10 @@ module RestCore
13
13
  'oauth/request_token', 'oauth/access_token', 'oauth/authorize'
14
14
 
15
15
  use CommonLogger , nil
16
- use Cache , nil, 600 do
17
- use ErrorHandler, lambda{ |env| Twitter::Error.call(env) }
18
- use ErrorDetectorHttp
19
- use JsonResponse, true
20
- end
16
+ use ErrorHandler , lambda{ |env| Twitter::Error.call(env) }
17
+ use ErrorDetectorHttp
18
+ use JsonResponse , true
19
+ use Cache , nil, 600
21
20
  end
22
21
  end
23
22
 
@@ -1,4 +1,4 @@
1
1
 
2
2
  module RestMore
3
- VERSION = '3.2.0'
3
+ VERSION = '3.3.0'
4
4
  end
data/rest-more.gemspec CHANGED
@@ -1,14 +1,14 @@
1
1
  # -*- encoding: utf-8 -*-
2
- # stub: rest-more 3.2.0 ruby lib
2
+ # stub: rest-more 3.3.0 ruby lib
3
3
 
4
4
  Gem::Specification.new do |s|
5
5
  s.name = "rest-more"
6
- s.version = "3.2.0"
6
+ s.version = "3.3.0"
7
7
 
8
8
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
9
9
  s.require_paths = ["lib"]
10
10
  s.authors = ["Lin Jen-Shin (godfat)"]
11
- s.date = "2014-06-27"
11
+ s.date = "2014-08-25"
12
12
  s.description = "Various REST clients such as Facebook and Twitter built with [rest-core][].\n\n[rest-core]: https://github.com/godfat/rest-core"
13
13
  s.email = ["godfat (XD) godfat.org"]
14
14
  s.executables = ["rib-rest-core"]
@@ -83,7 +83,7 @@ Gem::Specification.new do |s|
83
83
  "test/twitter/test_twitter.rb"]
84
84
  s.homepage = "https://github.com/godfat/rest-more"
85
85
  s.licenses = ["Apache License 2.0"]
86
- s.rubygems_version = "2.2.2"
86
+ s.rubygems_version = "2.4.1"
87
87
  s.summary = "Various REST clients such as Facebook and Twitter built with [rest-core][]."
88
88
  s.test_files = [
89
89
  "test/dropbox/test_dropbox.rb",
@@ -107,11 +107,11 @@ Gem::Specification.new do |s|
107
107
  s.specification_version = 4
108
108
 
109
109
  if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
110
- s.add_runtime_dependency(%q<rest-core>, [">= 3.2.0"])
110
+ s.add_runtime_dependency(%q<rest-core>, [">= 3.3.0"])
111
111
  else
112
- s.add_dependency(%q<rest-core>, [">= 3.2.0"])
112
+ s.add_dependency(%q<rest-core>, [">= 3.3.0"])
113
113
  end
114
114
  else
115
- s.add_dependency(%q<rest-core>, [">= 3.2.0"])
115
+ s.add_dependency(%q<rest-core>, [">= 3.3.0"])
116
116
  end
117
117
  end
data/task/gemgem.rb CHANGED
@@ -34,7 +34,7 @@ module Gemgem
34
34
  s.executables = bin_files
35
35
  end
36
36
  spec_create.call(spec)
37
- spec.homepage = "https://github.com/godfat/#{spec.name}"
37
+ spec.homepage ||= "https://github.com/godfat/#{spec.name}"
38
38
  self.spec = spec
39
39
  end
40
40
 
@@ -227,10 +227,6 @@ end # of gem namespace
227
227
  desc 'Run tests'
228
228
  task :test do
229
229
  next if Gemgem.test_files.empty?
230
-
231
- require 'bacon'
232
- Bacon.extend(Bacon::TestUnitOutput)
233
- Bacon.summary_on_exit
234
230
  Gemgem.test_files.each{ |file| require "#{Gemgem.dir}/#{file[0..-4]}" }
235
231
  end
236
232
 
@@ -6,7 +6,7 @@ describe RC::Dropbox do
6
6
  WebMock.reset!
7
7
  end
8
8
 
9
- should 'get right' do
9
+ would 'get right' do
10
10
  stub_request(:get, 'https://api.dropbox.com/1/account/info').
11
11
  to_return(:body => '{"status": "OK"}')
12
12
 
@@ -24,7 +24,7 @@ describe RC::Dropbox do
24
24
  WebMock.reset!
25
25
  end
26
26
 
27
- should 'raise exception when encountering error' do
27
+ would 'raise exception when encountering error' do
28
28
  [401, 402, 403].each{ |status| check(status, RC::Dropbox::Error) }
29
29
  [500, 502, 503].each{ |status| check(status, RC::Dropbox::Error::
30
30
  ServerError) }
@@ -6,13 +6,13 @@ describe RC::Facebook do
6
6
  WebMock.reset!
7
7
  end
8
8
 
9
- should 'generate correct url' do
9
+ would 'generate correct url' do
10
10
  RC::Facebook.new(:access_token => 'awesome').
11
11
  url('path', :query => 'str').should.eq \
12
12
  'https://graph.facebook.com/path?access_token=awesome&query=str'
13
13
  end
14
14
 
15
- should 'request to correct server' do
15
+ would 'request to correct server' do
16
16
  stub_request(:get, 'http://nothing.godfat.org/me').with(
17
17
  :headers => {'Accept' => 'text/plain',
18
18
  'Accept-Language' => 'zh-tw',
@@ -26,7 +26,7 @@ describe RC::Facebook do
26
26
  get('me').should.eq({'data' => []})
27
27
  end
28
28
 
29
- should 'pass custom headers' do
29
+ would 'pass custom headers' do
30
30
  stub_request(:get, 'http://example.com/').with(
31
31
  :headers => {'Accept' => 'application/json',
32
32
  'Accept-Language' => 'en-us',
@@ -40,7 +40,7 @@ describe RC::Facebook do
40
40
  should.eq({'data' => []})
41
41
  end
42
42
 
43
- should 'post right' do
43
+ would 'post right' do
44
44
  stub_request(:post, 'https://graph.facebook.com/feed/me').
45
45
  with(:body => 'message=hi%20there').to_return(:body => 'ok')
46
46
 
@@ -48,7 +48,7 @@ describe RC::Facebook do
48
48
  post('feed/me', :message => 'hi there').should == 'ok'
49
49
  end
50
50
 
51
- should 'use secret_access_token' do
51
+ would 'use secret_access_token' do
52
52
  stub_request(:get,
53
53
  'https://graph.facebook.com/me?access_token=1|2').
54
54
  to_return(:body => 'ok')
@@ -63,7 +63,7 @@ describe RC::Facebook do
63
63
  '/me?access_token=1%7C2'
64
64
  end
65
65
 
66
- should 'suppress auto-decode in an api call' do
66
+ would 'suppress auto-decode in an api call' do
67
67
  stub_request(:get, 'https://graph.facebook.com/woot').
68
68
  to_return(:body => 'bad json')
69
69
 
@@ -72,7 +72,7 @@ describe RC::Facebook do
72
72
  rg.json_response.should == true
73
73
  end
74
74
 
75
- should 'not raise exception when encountering error' do
75
+ would 'not raise exception when encountering error' do
76
76
  [500, 401, 402, 403].each{ |status|
77
77
  stub_request(:delete, 'https://graph.facebook.com/123').to_return(
78
78
  :body => '[]', :status => status)
@@ -81,7 +81,7 @@ describe RC::Facebook do
81
81
  }
82
82
  end
83
83
 
84
- should 'convert query to string' do
84
+ would 'convert query to string' do
85
85
  o = Object.new
86
86
  def o.to_s; 'i am mock'; end
87
87
  stub_request(:get, "https://graph.facebook.com/search?q=i%20am%20mock").
@@ -2,7 +2,7 @@
2
2
  require 'rest-more/test'
3
3
 
4
4
  describe RC::Facebook do
5
- should 'honor default attributes' do
5
+ would 'honor default attributes' do
6
6
  RC::Facebook.members.reject{ |name|
7
7
  name.to_s =~ /method$|handler$|detector$/ }.each{ |name|
8
8
  RC::Facebook.new.send(name).should ==
@@ -10,7 +10,7 @@ describe RC::Facebook do
10
10
  }
11
11
  end
12
12
 
13
- should 'use module to override default attributes' do
13
+ would 'use module to override default attributes' do
14
14
  klass = RC::Facebook.dup
15
15
  klass.send(:include, Module.new do
16
16
  def default_app_id
@@ -6,7 +6,7 @@ describe RC::Facebook::Error do
6
6
  WebMock.reset!
7
7
  end
8
8
 
9
- should 'have the right ancestors' do
9
+ would 'have the right ancestors' do
10
10
  RC::Facebook::Error::AccessToken.should.lt RC::Facebook::Error
11
11
 
12
12
  RC::Facebook::Error::InvalidAccessToken.should.lt \
@@ -22,7 +22,7 @@ describe RC::Facebook::Error do
22
22
  RC::REQUEST_QUERY => {}}
23
23
  end
24
24
 
25
- should 'parse right' do
25
+ would 'parse right' do
26
26
  %w[OAuthInvalidTokenException OAuthException].each{ |type|
27
27
  RC::Facebook::Error.call(error2env('error' => {'type' => type})).
28
28
  should.kind_of?(RC::Facebook::Error::InvalidAccessToken)
@@ -52,7 +52,7 @@ describe RC::Facebook::Error do
52
52
  error.should .kind_of?(RC::Facebook::Error)
53
53
  end
54
54
 
55
- should 'nuke cache upon errors' do
55
+ would 'nuke cache upon errors' do
56
56
  stub_request(:get, 'https://graph.facebook.com/me').
57
57
  to_return(:body => '{"error":"wrong"}').times(2)
58
58
 
@@ -7,7 +7,7 @@ describe RC::Facebook do
7
7
  end
8
8
 
9
9
  describe 'log method' do
10
- should 'log whenever doing network request' do
10
+ would 'log whenever doing network request' do
11
11
  stub_request(:get, 'https://graph.facebook.com/me').
12
12
  to_return(:body => '{}')
13
13
 
@@ -29,12 +29,12 @@ describe RC::Facebook do
29
29
  to_return(:body => @error)
30
30
  end
31
31
 
32
- should 'call error_handler if error occurred' do
32
+ would 'call error_handler if error occurred' do
33
33
  RC::Facebook.new(:error_handler => @id).get('me').
34
34
  should.eq @error_hash
35
35
  end
36
36
 
37
- should 'raise ::RC::Facebook::Error in default error_handler' do
37
+ would 'raise ::RC::Facebook::Error in default error_handler' do
38
38
  begin
39
39
  RC::Facebook.new.get('me').tap{}
40
40
  rescue ::RC::Facebook::Error => e
@@ -65,12 +65,12 @@ describe RC::Facebook do
65
65
  stub_request(:get, bad_fql_request).to_return(:body => @fql_error)
66
66
  end
67
67
 
68
- should 'call error_handler if error occurred' do
68
+ would 'call error_handler if error occurred' do
69
69
  RC::Facebook.new(:error_handler => @id).fql(@bad_fql_query).
70
70
  should.eq @fql_error_hash
71
71
  end
72
72
 
73
- should 'raise ::RC::Facebook::Error in default error_handler' do
73
+ would 'raise ::RC::Facebook::Error in default error_handler' do
74
74
  begin
75
75
  RC::Facebook.new.fql(@bad_fql_query).tap{}
76
76
  rescue ::RC::Facebook::Error => e
@@ -6,12 +6,12 @@ describe RC::Facebook do
6
6
  WebMock.reset!
7
7
  end
8
8
 
9
- should 'return true in authorized? if there is an access_token' do
9
+ would 'return true in authorized? if there is an access_token' do
10
10
  RC::Facebook.new(:access_token => '1').authorized?.should.eq true
11
11
  RC::Facebook.new(:access_token => nil).authorized?.should.eq false
12
12
  end
13
13
 
14
- should 'treat oauth_token as access_token as well' do
14
+ would 'treat oauth_token as access_token as well' do
15
15
  rg = RC::Facebook.new
16
16
  hate_facebook = 'why the hell two different name?'
17
17
  rg.data['oauth_token'] = hate_facebook
@@ -19,7 +19,7 @@ describe RC::Facebook do
19
19
  rg.access_token.should.eq hate_facebook
20
20
  end
21
21
 
22
- should 'build correct headers' do
22
+ would 'build correct headers' do
23
23
  rg = RC::Facebook.new(:accept => 'text/html',
24
24
  :lang => 'zh-tw')
25
25
 
@@ -30,14 +30,14 @@ describe RC::Facebook do
30
30
  }
31
31
  end
32
32
 
33
- should 'create access_token in query string' do
33
+ would 'create access_token in query string' do
34
34
  rg = RC::Facebook.new(:access_token => 'token')
35
35
  rg.dry.call(rg.send(:build_env)){ |res|
36
36
  res[RC::REQUEST_QUERY].should.eq({'access_token' => 'token'})
37
37
  }
38
38
  end
39
39
 
40
- should 'build correct query string' do
40
+ would 'build correct query string' do
41
41
  rg = RC::Facebook.new(:access_token => 'token')
42
42
  rg.url('', :message => 'hi!!').
43
43
  should.eq "#{rg.site}?access_token=token&message=hi%21%21"
@@ -47,19 +47,19 @@ describe RC::Facebook do
47
47
  should.eq "#{rg.site}?message=hi%21%21&subject=%28%26oh%26%29"
48
48
  end
49
49
 
50
- should 'auto decode json' do
50
+ would 'auto decode json' do
51
51
  rg = RC::Facebook.new(:json_response => true)
52
52
  stub_request(:get, rg.site).to_return(:body => '[]')
53
53
  rg.get('').should.eq []
54
54
  end
55
55
 
56
- should 'not auto decode json' do
56
+ would 'not auto decode json' do
57
57
  rg = RC::Facebook.new(:json_response => false)
58
58
  stub_request(:get, rg.site).to_return(:body => '[]')
59
59
  rg.get('').should.eq '[]'
60
60
  end
61
61
 
62
- should 'give attributes' do
62
+ would 'give attributes' do
63
63
  RC::Facebook.new(:json_response => false).attributes.
64
64
  keys.map(&:to_s).sort.should.eq \
65
65
  RC::Facebook.members.map(&:to_s).sort
@@ -11,13 +11,13 @@ describe RC::Facebook do
11
11
  WebMock.reset!
12
12
  end
13
13
 
14
- should 'return correct oauth url' do
14
+ would 'return correct oauth url' do
15
15
  @rg.authorize_url(:redirect_uri => @uri).
16
16
  should.eq 'https://www.facebook.com/dialog/oauth?' \
17
17
  'client_id=29&redirect_uri=http%3A%2F%2Fzzz.tw'
18
18
  end
19
19
 
20
- should 'do authorizing and parse result and save it in data' do
20
+ would 'do authorizing and parse result and save it in data' do
21
21
  stub_request(:post, 'https://graph.facebook.com/oauth/access_token'). \
22
22
  with(:body => {'client_id' => '29' ,
23
23
  'client_secret' => '18' ,
@@ -32,7 +32,7 @@ describe RC::Facebook do
32
32
  @rg.data.should.eq result
33
33
  end
34
34
 
35
- should 'not append access_token in authorize_url even presented' do
35
+ would 'not append access_token in authorize_url even presented' do
36
36
  RC::Facebook.new(:access_token => 'do not use me').authorize_url.
37
37
  should.eq 'https://www.facebook.com/dialog/oauth'
38
38
  end
@@ -6,7 +6,7 @@ describe RC::Facebook do
6
6
  WebMock.reset!
7
7
  end
8
8
 
9
- should 'do fql query with/without access_token' do
9
+ would 'do fql query with/without access_token' do
10
10
  fql = 'SELECT name FROM likes where id="123"'
11
11
  query = "format=json&query=#{RC::Middleware.escape(fql)}"
12
12
  stub_request(:get, "https://api.facebook.com/method/fql.query?#{query}").
@@ -22,7 +22,7 @@ describe RC::Facebook do
22
22
  RC::Facebook.new(:access_token => token).fql(fql).should.eq []
23
23
  end
24
24
 
25
- should 'do fql.mutilquery correctly' do
25
+ would 'do fql.mutilquery correctly' do
26
26
  f0 = 'SELECT display_name FROM application WHERE app_id="233082465238"'
27
27
  f1 = 'SELECT display_name FROM application WHERE app_id="110225210740"'
28
28
  f0q, f1q = "\"#{f0.gsub('"', '\\"')}\"", "\"#{f1.gsub('"', '\\"')}\""
@@ -45,7 +45,7 @@ describe RC::Facebook do
45
45
  RC::Facebook.new.fql_multi(:f0 => f0, :f1 => f1).should.eq []
46
46
  end
47
47
 
48
- should 'do facebook old rest api' do
48
+ would 'do facebook old rest api' do
49
49
  body = 'hate facebook inconsistent'
50
50
  stub_request(:get,
51
51
  'https://api.facebook.com/method/notes.create?format=json').
@@ -55,7 +55,7 @@ describe RC::Facebook do
55
55
  old_rest('notes.create', {}, :json_response => false).should.eq body
56
56
  end
57
57
 
58
- should 'exchange sessions for access token' do
58
+ would 'exchange sessions for access token' do
59
59
  stub_request(:post,
60
60
  'https://graph.facebook.com/oauth/exchange_sessions?' \
61
61
  'type=client_cred&client_id=id&client_secret=di&' \
@@ -67,7 +67,7 @@ describe RC::Facebook do
67
67
  first['access_token'].should.eq 'bogus'
68
68
  end
69
69
 
70
- should 'use an secret access_token' do
70
+ would 'use an secret access_token' do
71
71
  stub_request(:get,
72
72
  'https://api.facebook.com/method/admin.getAppProperties?' \
73
73
  'access_token=123%7Cs&format=json&properties=app_id'
@@ -6,7 +6,7 @@ describe RC::Facebook do
6
6
  WebMock.reset!
7
7
  end
8
8
 
9
- should 'get the next/prev page' do
9
+ would 'get the next/prev page' do
10
10
  f = RC::Facebook.new(:site => '', :cache => false)
11
11
  %w[next previous].each{ |type|
12
12
  kind = "#{type}_page"
@@ -19,7 +19,7 @@ describe RC::Facebook do
19
19
  }
20
20
  end
21
21
 
22
- should 'merge all pages into one' do
22
+ would 'merge all pages into one' do
23
23
  f = RC::Facebook.new(:site => '', :cache => false)
24
24
  %w[next previous].each{ |type|
25
25
  kind = "#{type}_page"
@@ -47,7 +47,7 @@ describe RC::Facebook do
47
47
  }
48
48
  end
49
49
 
50
- should 'for_pages with callback' do
50
+ would 'for_pages with callback' do
51
51
  f = RC::Facebook.new(:site => '', :cache => false)
52
52
  %w[next previous].each{ |type|
53
53
  kind = "#{type}_page"
@@ -2,14 +2,13 @@
2
2
  require 'rest-more/test'
3
3
 
4
4
  describe RC::Facebook do
5
-
6
- should 'return nil if parse error, but not when call data directly' do
5
+ would 'return nil if parse error, but not when call data directly' do
7
6
  rg = RC::Facebook.new
8
7
  rg.parse_cookies!({}).should.eq nil
9
8
  rg.data .should.eq({})
10
9
  end
11
10
 
12
- should 'parse if fbs contains json as well' do
11
+ would 'parse if fbs contains json as well' do
13
12
  algorithm = 'HMAC-SHA256'
14
13
  user = '{"country"=>"us", "age"=>{"min"=>21}}'
15
14
  data = {'algorithm' => algorithm, 'user' => user}
@@ -18,7 +17,7 @@ describe RC::Facebook do
18
17
  rg.parse_fbs!("\"#{rg.fbs}\"").should.eq data.merge('sig' => sig)
19
18
  end
20
19
 
21
- should 'extract correct access_token or fail checking sig' do
20
+ would 'extract correct access_token or fail checking sig' do
22
21
  access_token = '1|2-5|f.'
23
22
  app_id = '1829'
24
23
  secret = app_id.reverse
@@ -54,13 +53,13 @@ describe RC::Facebook do
54
53
  check.call(nil, "\"#{fbs}\"")
55
54
  end
56
55
 
57
- should 'not pass if there is no secret, prevent from forgery' do
56
+ would 'not pass if there is no secret, prevent from forgery' do
58
57
  rg = RC::Facebook.new
59
58
  rg.parse_fbs!('"feed=me&sig=bddd192cf27f22c05f61c8bea24fa4b7"').
60
59
  should.eq nil
61
60
  end
62
61
 
63
- should 'parse json correctly' do
62
+ would 'parse json correctly' do
64
63
  rg = RC::Facebook.new
65
64
 
66
65
  rg.parse_json!('bad json') .should.eq nil
@@ -87,11 +86,11 @@ describe RC::Facebook do
87
86
  "#{encode(sig)}.#{json_encoded}"
88
87
  end
89
88
 
90
- should 'parse invalid' do
89
+ would 'parse invalid' do
91
90
  RC::Facebook.new.parse_signed_request!('bad').should.eq nil
92
91
  end
93
92
 
94
- should 'parse' do
93
+ would 'parse' do
95
94
  secret = 'aloha'
96
95
  rg = RC::Facebook.new(:secret => secret)
97
96
  rg.parse_signed_request!(setup_sr(secret, {'ooh' => 'dir',
@@ -105,7 +104,7 @@ describe RC::Facebook do
105
104
  rg.data .should.eq({})
106
105
  end
107
106
 
108
- should 'fbsr and cookies with fbsr' do
107
+ would 'fbsr and cookies with fbsr' do
109
108
  secret = 'lulala'
110
109
  code = 'lalalu'
111
110
  access_token = 'lololo'
@@ -136,13 +135,13 @@ describe RC::Facebook do
136
135
  end
137
136
  end
138
137
 
139
- should 'generate correct fbs with correct sig' do
138
+ would 'generate correct fbs with correct sig' do
140
139
  RC::Facebook.new(:access_token => 'fake', :secret => 's').fbs.
141
140
  should.eq \
142
141
  "access_token=fake&sig=#{Digest::MD5.hexdigest('access_token=fakes')}"
143
142
  end
144
143
 
145
- should 'parse fbs from facebook response which lacks sig...' do
144
+ would 'parse fbs from facebook response which lacks sig...' do
146
145
  rg = RC::Facebook.new(:access_token => 'a', :secret => 'z')
147
146
  rg.parse_fbs!(rg.fbs) .should.kind_of?(Hash)
148
147
  rg.data.empty?.should.eq false
@@ -150,7 +149,7 @@ describe RC::Facebook do
150
149
  rg.data.empty?.should.eq true
151
150
  end
152
151
 
153
- should 'generate correct fbs with additional parameters' do
152
+ would 'generate correct fbs with additional parameters' do
154
153
  rg = RC::Facebook.new(:access_token => 'a', :secret => 'z')
155
154
  rg.data['expires'] = '1234'
156
155
  rg.parse_fbs!(rg.fbs).should.kind_of?(Hash)
@@ -2,7 +2,7 @@
2
2
  require 'rest-more/test'
3
3
 
4
4
  describe RC::Facebook do
5
- should 'be serialized with lighten' do
5
+ would 'be serialized with lighten' do
6
6
  require 'yaml'
7
7
  [YAML, Marshal].each{ |engine|
8
8
  test = lambda{ |obj| engine.load(engine.dump(obj)) }
@@ -15,7 +15,7 @@ describe RC::Facebook do
15
15
  }
16
16
  end
17
17
 
18
- should 'lighten takes options to change attributes' do
18
+ would 'lighten takes options to change attributes' do
19
19
  RC::Facebook.new.lighten(:timeout => 100 ).timeout.should.eq 100
20
20
  RC::Facebook.new.lighten(:lang => 'zh-TW').lang.should.eq 'zh-TW'
21
21
  end
@@ -7,7 +7,7 @@ describe RC::Facebook do
7
7
  Muack.verify
8
8
  end
9
9
 
10
- should 'respect timeout' do
10
+ would 'respect timeout' do
11
11
  stub_request(:get, 'https://graph.facebook.com/me').
12
12
  to_return(:body => '{}')
13
13
  any_instance_of(RC::Timeout::Timer){ |timer|
@@ -16,7 +16,7 @@ describe RC::Facebook do
16
16
  RC::Facebook.new.get('me').should.eq({})
17
17
  end
18
18
 
19
- should 'override timeout' do
19
+ would 'override timeout' do
20
20
  stub_request(:get, 'https://graph.facebook.com/me').
21
21
  to_return(:body => 'true')
22
22
  mock(RC::Timeout::Timer).new(99, is_a(Timeout::Error))
@@ -6,7 +6,7 @@ describe RC::Github do
6
6
  WebMock.reset!
7
7
  end
8
8
 
9
- should 'get all' do
9
+ would 'get all' do
10
10
  link = '</users/godfat/repos?type=o&per_page=100&page=3>; rel="last"'
11
11
  headers = {'Link' => link}
12
12
  stub_request(:get,
@@ -17,13 +17,13 @@ describe RC::Instagram do
17
17
  client = RC::Instagram.new(:client_id => 'Z', :client_secret => 'S',
18
18
  :access_token => 'X')
19
19
 
20
- should 'have correct authorize url' do
20
+ would 'have correct authorize url' do
21
21
  client.authorize_url.should.eq \
22
22
  'https://api.instagram.com/oauth/authorize?' \
23
23
  'client_id=Z&response_type=code'
24
24
  end
25
25
 
26
- should 'authorize! and get the access token' do
26
+ would 'authorize! and get the access token' do
27
27
  stub_request(:post, 'https://api.instagram.com/oauth/access_token').
28
28
  with(:body => {'client_id' => 'Z', 'client_secret' => 'S',
29
29
  'grant_type' => 'authorization_code', 'code' => 'C'}).
@@ -37,7 +37,7 @@ describe RC::Instagram do
37
37
  end
38
38
  end
39
39
 
40
- should 'retrieve user profile based on username' do
40
+ would 'retrieve user profile based on username' do
41
41
  stub_request(:get, 'https://api.instagram.com/v1/users/search?' \
42
42
  'client_id=Z&q=restmore').
43
43
  to_return(:body => json)
@@ -6,7 +6,7 @@ describe RC::StackExchange do
6
6
  WebMock.reset!
7
7
  end
8
8
 
9
- should 'me' do
9
+ would 'me' do
10
10
  stub_request(:get,
11
11
  'https://api.stackexchange.com/me?key=yek&site=stackoverflow').
12
12
  to_return(:body => '{"name":"meme"}')
@@ -6,7 +6,7 @@ describe RC::Twitter do
6
6
  WebMock.reset!
7
7
  end
8
8
 
9
- should 'get right' do
9
+ would 'get right' do
10
10
  stub_request(:get,
11
11
  'https://api.twitter.com/1.1/account/verify_credentials.json').
12
12
  to_return(:body => '{"status": "OK"}')
@@ -25,7 +25,7 @@ describe RC::Twitter do
25
25
  WebMock.reset!
26
26
  end
27
27
 
28
- should 'raise exception when encountering error' do
28
+ would 'raise exception when encountering error' do
29
29
  [401, 402, 403].each{ |status| check(status, RestCore::Twitter::Error) }
30
30
  [500, 502, 503].each{ |status| check(status, RestCore::Twitter::Error::
31
31
  ServerError) }
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rest-more
3
3
  version: !ruby/object:Gem::Version
4
- version: 3.2.0
4
+ version: 3.3.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Lin Jen-Shin (godfat)
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-06-27 00:00:00.000000000 Z
11
+ date: 2014-08-25 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rest-core
@@ -16,14 +16,14 @@ dependencies:
16
16
  requirements:
17
17
  - - ">="
18
18
  - !ruby/object:Gem::Version
19
- version: 3.2.0
19
+ version: 3.3.0
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
24
  - - ">="
25
25
  - !ruby/object:Gem::Version
26
- version: 3.2.0
26
+ version: 3.3.0
27
27
  description: |-
28
28
  Various REST clients such as Facebook and Twitter built with [rest-core][].
29
29
 
@@ -123,7 +123,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
123
123
  version: '0'
124
124
  requirements: []
125
125
  rubyforge_project:
126
- rubygems_version: 2.2.2
126
+ rubygems_version: 2.4.1
127
127
  signing_key:
128
128
  specification_version: 4
129
129
  summary: Various REST clients such as Facebook and Twitter built with [rest-core][].