rest-more 3.3.1 → 3.3.2

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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 8d94a93481cb47814a0fe9e40aa939c0511b8972
4
- data.tar.gz: 3e51315c98ffe426c74e37e6d3384d60e7a0563a
3
+ metadata.gz: 98ac71864d29ae971e6089b3e162f0a15a69d277
4
+ data.tar.gz: 4dcf5ff68b60bcc92cef303ff8ca94e68feb9697
5
5
  SHA512:
6
- metadata.gz: 2c5c2ccbaff604f3272cb7db82620635a92772f6f7350059e3bff697044ca3bd4e6cca1e7a23600ebfbdb9070d19ba449aa0f5cca31148a55161f196774cae57
7
- data.tar.gz: fd1fa8e8c101fca082a8a59584ea85bc740c8d09c276ce04a156299626c0d65cdebc69bf652d0c3246ce73a3d7c7fad1676ea1d5d753cf137d9c013b18250226
6
+ metadata.gz: fda0e5a602f1105e6ce465915789df10198d8f91a20ded059541a9297da0cbdcd3cdfa93766406914fb70cb726b44cb73d820507533332be968e1497089e176f
7
+ data.tar.gz: 6847bb6f40a0a68db98b97147d32dadbc32cc1058491f7631d33df051068eb0495fc91c9bacaaf97c8c16585c01926440b705c0c1f9679f75ed01dbd18318a78
data/.gitignore CHANGED
@@ -1,2 +1,2 @@
1
1
  /pkg/
2
- Gemfile.lock
2
+ /coverage/
@@ -1,13 +1,15 @@
1
- before_install: 'git submodule update --init'
1
+
2
+ language: ruby
3
+ rvm:
4
+ - 2.0
5
+ - 2.1
6
+ - 2.2
7
+ - rbx-2
8
+ - jruby
9
+
10
+ install: 'bundle install --retry=3'
2
11
  script: 'ruby -r bundler/setup -S rake test:travis'
3
12
 
4
13
  env:
5
14
  - 'RESTMORE=rest-more'
6
15
  - 'RESTMORE=rails3'
7
-
8
- rvm:
9
- - 1.9.3
10
- - 2.0.0
11
- - ruby
12
- - rbx-2
13
- - jruby
data/CHANGES.md CHANGED
@@ -1,5 +1,10 @@
1
1
  # CHANGES
2
2
 
3
+ ## rest-more 3.3.2 -- 2015-01-05
4
+
5
+ * Added RC::StackExchange#authorized?
6
+ * Removed RC::Firebase from autoloading.
7
+
3
8
  ## rest-more 3.3.1 -- 2014-10-08
4
9
 
5
10
  * Made `RC::Facebook#authorize_url` accepts the second argument as the option.
data/Gemfile CHANGED
@@ -18,6 +18,9 @@ gem 'multi_json'
18
18
 
19
19
  gem 'rack'
20
20
 
21
+ gem 'simplecov', :require => false if ENV['COV']
22
+ gem 'coveralls', :require => false if ENV['CI']
23
+
21
24
  platforms :ruby do
22
25
  gem 'yajl-ruby'
23
26
  end
data/README.md CHANGED
@@ -1,4 +1,4 @@
1
- # rest-more [![Build Status](https://secure.travis-ci.org/godfat/rest-more.png?branch=master)](http://travis-ci.org/godfat/rest-more)
1
+ # rest-more [![Build Status](https://secure.travis-ci.org/godfat/rest-more.png?branch=master)](http://travis-ci.org/godfat/rest-more) [![Coverage Status](https://coveralls.io/repos/godfat/rest-more/badge.png)](https://coveralls.io/r/godfat/rest-more)
2
2
 
3
3
  by Lin Jen-Shin ([godfat](http://godfat.org))
4
4
 
@@ -14,6 +14,9 @@ talk is in Mandarin.
14
14
  * [github](https://github.com/godfat/rest-more)
15
15
  * [rubygems](https://rubygems.org/gems/rest-more)
16
16
  * [rdoc](http://rdoc.info/projects/godfat/rest-more)
17
+ * [mailing list](http://www.freelists.org/list/rest-core)
18
+ Send your questions to: <rest-core@freelists.org> and you could read
19
+ through [archives](http://www.freelists.org/archives/rest-core)
17
20
 
18
21
  ## DESCRIPTION:
19
22
 
@@ -323,7 +326,7 @@ Which is using `RestCore::Universal` for accessing arbitrary websites.
323
326
 
324
327
  Apache License 2.0
325
328
 
326
- Copyright (c) 2011-2014, Lin Jen-Shin (godfat)
329
+ Copyright (c) 2011-2015, Lin Jen-Shin (godfat)
327
330
 
328
331
  Licensed under the Apache License, Version 2.0 (the "License");
329
332
  you may not use this file except in compliance with the License.
data/Rakefile CHANGED
@@ -52,6 +52,10 @@ task 'test:json' do
52
52
  }
53
53
  end
54
54
 
55
+ task 'test' do
56
+ SimpleCov.add_filter('rest-core/lib') if ENV['COV'] || ENV['CI']
57
+ end
58
+
55
59
  task 'test:travis' do
56
60
  case ENV['RESTMORE']
57
61
  when 'rails3'; Gemgem.test_rails('rails3')
@@ -62,10 +62,10 @@ module RestCore::Github::Client
62
62
  def all path, query={}, opts={}
63
63
  q = {:per_page => MAX_PER_PAGE}.merge(query)
64
64
  r = get(path, q, opts.merge(RESPONSE_KEY => PROMISE)).then{ |response|
65
- body = response[RESPONSE_BODY] + (page_range(response).map{ |page|
65
+ body = response[RESPONSE_BODY] + page_range(response).map{ |page|
66
66
  get(path, q.merge(:page => page),
67
67
  opts.merge(RESPONSE_KEY => RESPONSE_BODY))
68
- }.inject([], &:+))
68
+ }.inject([], &:+)
69
69
  response.merge(RESPONSE_BODY => body)
70
70
  }.future_response
71
71
 
@@ -56,6 +56,10 @@ module RestCore::StackExchange::Client
56
56
  end
57
57
  end
58
58
 
59
+ def authorized?
60
+ !!access_token
61
+ end
62
+
59
63
  private
60
64
  def default_data ; {}; end
61
65
  def default_query; {:key => key, :site => 'stackoverflow'}; end
@@ -4,7 +4,6 @@ require 'rest-core'
4
4
  module RestCore
5
5
  autoload :Dropbox , 'rest-core/client/dropbox'
6
6
  autoload :Facebook , 'rest-core/client/facebook'
7
- autoload :Firebase , 'rest-core/client/firebase'
8
7
  autoload :Github , 'rest-core/client/github'
9
8
  autoload :Instagram , 'rest-core/client/instagram'
10
9
  autoload :Linkedin , 'rest-core/client/linkedin'
@@ -1,4 +1,4 @@
1
1
 
2
2
  module RestMore
3
- VERSION = '3.3.1'
3
+ VERSION = '3.3.2'
4
4
  end
@@ -1,14 +1,14 @@
1
1
  # -*- encoding: utf-8 -*-
2
- # stub: rest-more 3.3.1 ruby lib
2
+ # stub: rest-more 3.3.2 ruby lib
3
3
 
4
4
  Gem::Specification.new do |s|
5
5
  s.name = "rest-more"
6
- s.version = "3.3.1"
6
+ s.version = "3.3.2"
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-10-08"
11
+ s.date = "2015-01-05"
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.4.2"
86
+ s.rubygems_version = "2.4.5"
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",
@@ -38,6 +38,99 @@ module Gemgem
38
38
  self.spec = spec
39
39
  end
40
40
 
41
+ def gem_install
42
+ require 'rubygems/commands/install_command'
43
+ # read ~/.gemrc
44
+ Gem.use_paths(Gem.configuration[:gemhome], Gem.configuration[:gempath])
45
+ Gem::Command.extra_args = Gem.configuration[:gem]
46
+
47
+ # setup install options
48
+ cmd = Gem::Commands::InstallCommand.new
49
+ cmd.handle_options([])
50
+
51
+ # install
52
+ install = Gem::Installer.new(gem_path, cmd.options)
53
+ install.install
54
+ puts "\e[35mGem installed: \e[33m#{strip_path(install.gem_dir)}\e[0m"
55
+ end
56
+
57
+ def gem_spec
58
+ create
59
+ write
60
+ end
61
+
62
+ def gem_build
63
+ require 'fileutils'
64
+ require 'rubygems/package'
65
+ gem = nil
66
+ Dir.chdir(dir) do
67
+ gem = Gem::Package.build(Gem::Specification.load(spec_path))
68
+ FileUtils.mkdir_p(pkg_dir)
69
+ FileUtils.mv(gem, pkg_dir) # gem is relative path, but might be ok
70
+ end
71
+ puts "\e[35mGem built: \e[33m#{strip_path("#{pkg_dir}/#{gem}")}\e[0m"
72
+ end
73
+
74
+ def gem_release
75
+ sh_git('tag', gem_tag)
76
+ sh_git('push')
77
+ sh_git('push', '--tags')
78
+ sh_gem('push', gem_path)
79
+ end
80
+
81
+ def gem_check
82
+ ver = spec.version.to_s
83
+
84
+ if ENV['VERSION'].nil?
85
+ puts("\e[35mExpected " \
86
+ "\e[33mVERSION\e[35m=\e[33m#{ver}\e[0m")
87
+ exit(1)
88
+
89
+ elsif ENV['VERSION'] != ver
90
+ puts("\e[35mExpected \e[33mVERSION\e[35m=\e[33m#{ver} " \
91
+ "\e[35mbut got\n " \
92
+ "\e[33mVERSION\e[35m=\e[33m#{ENV['VERSION']}\e[0m")
93
+ exit(2)
94
+ end
95
+ end
96
+
97
+ def test
98
+ return if test_files.empty?
99
+
100
+ if ENV['COV'] || ENV['CI']
101
+ require 'simplecov'
102
+ if ENV['CI']
103
+ require 'coveralls'
104
+ SimpleCov.formatter = Coveralls::SimpleCov::Formatter
105
+ end
106
+ SimpleCov.start do
107
+ add_filter('test/')
108
+ add_filter('test.rb')
109
+ end
110
+ end
111
+
112
+ test_files.each{ |file| require "#{dir}/#{file[0..-4]}" }
113
+ end
114
+
115
+ def clean
116
+ return if ignored_files.empty?
117
+
118
+ require 'fileutils'
119
+ trash = File.expand_path("~/.Trash/#{spec.name}")
120
+ puts "Move the following files into: \e[35m#{strip_path(trash)}\e[33m"
121
+
122
+ ignored_files.each do |file|
123
+ from = "#{dir}/#{file}"
124
+ to = "#{trash}/#{File.dirname(file)}"
125
+ puts strip_path(from)
126
+
127
+ FileUtils.mkdir_p(to)
128
+ FileUtils.mv(from, to)
129
+ end
130
+
131
+ print "\e[0m"
132
+ end
133
+
41
134
  def write
42
135
  File.open(spec_path, 'w'){ |f| f << split_lines(spec.to_ruby) }
43
136
  end
@@ -173,82 +266,38 @@ namespace :gem do
173
266
 
174
267
  desc 'Install gem'
175
268
  task :install => [:build] do
176
- Gemgem.sh_gem('install', Gemgem.gem_path)
269
+ Gemgem.gem_install
177
270
  end
178
271
 
179
272
  desc 'Build gem'
180
273
  task :build => [:spec] do
181
- require 'fileutils'
182
- require 'rubygems/package'
183
- gem = nil
184
- Dir.chdir(Gemgem.dir) do
185
- gem = Gem::Package.build(Gem::Specification.load(Gemgem.spec_path))
186
- FileUtils.mkdir_p(Gemgem.pkg_dir)
187
- FileUtils.mv(gem, Gemgem.pkg_dir) # gem is relative path, but might be ok
188
- end
189
- puts "\e[35mGem built: \e[33m" \
190
- "#{Gemgem.strip_path("#{Gemgem.pkg_dir}/#{gem}")}\e[0m"
274
+ Gemgem.gem_build
191
275
  end
192
276
 
193
277
  desc 'Generate gemspec'
194
278
  task :spec do
195
- Gemgem.create
196
- Gemgem.write
279
+ Gemgem.gem_spec
197
280
  end
198
281
 
199
282
  desc 'Release gem'
200
283
  task :release => [:spec, :check, :build] do
201
- Gemgem.module_eval do
202
- sh_git('tag', Gemgem.gem_tag)
203
- sh_git('push')
204
- sh_git('push', '--tags')
205
- sh_gem('push', Gemgem.gem_path)
206
- end
284
+ Gemgem.gem_release
207
285
  end
208
286
 
209
287
  task :check do
210
- ver = Gemgem.spec.version.to_s
211
-
212
- if ENV['VERSION'].nil?
213
- puts("\e[35mExpected " \
214
- "\e[33mVERSION\e[35m=\e[33m#{ver}\e[0m")
215
- exit(1)
216
-
217
- elsif ENV['VERSION'] != ver
218
- puts("\e[35mExpected \e[33mVERSION\e[35m=\e[33m#{ver} " \
219
- "\e[35mbut got\n " \
220
- "\e[33mVERSION\e[35m=\e[33m#{ENV['VERSION']}\e[0m")
221
- exit(2)
222
- end
288
+ Gemgem.gem_check
223
289
  end
224
290
 
225
291
  end # of gem namespace
226
292
 
227
293
  desc 'Run tests'
228
294
  task :test do
229
- next if Gemgem.test_files.empty?
230
- Gemgem.test_files.each{ |file| require "#{Gemgem.dir}/#{file[0..-4]}" }
295
+ Gemgem.test
231
296
  end
232
297
 
233
298
  desc 'Trash ignored files'
234
299
  task :clean => ['gem:spec'] do
235
- next if Gemgem.ignored_files.empty?
236
-
237
- require 'fileutils'
238
- trash = File.expand_path("~/.Trash/#{Gemgem.spec.name}")
239
- puts "Move the following files into:" \
240
- " \e[35m#{Gemgem.strip_path(trash)}\e[33m"
241
-
242
- Gemgem.ignored_files.each do |file|
243
- from = "#{Gemgem.dir}/#{file}"
244
- to = "#{trash}/#{File.dirname(file)}"
245
- puts Gemgem.strip_path(from)
246
-
247
- FileUtils.mkdir_p(to)
248
- FileUtils.mv(from, to)
249
- end
250
-
251
- print "\e[0m"
300
+ Gemgem.clean
252
301
  end
253
302
 
254
303
  task :default do
@@ -59,6 +59,7 @@ describe RC::Facebook::Error do
59
59
  rg = RC::Facebook.new(:cache => {},
60
60
  :error_handler => lambda{|env|env})
61
61
  rg.get('me'); rg.get('me')
62
+ rg.wait
62
63
  rg.cache.values.should.eq []
63
64
  end
64
65
  end
@@ -67,7 +67,8 @@ describe RC::Facebook do
67
67
  f.for_pages(data, pages, {}, kind){ |r|
68
68
  r.should.eq expects.shift
69
69
  }
70
- f.wait until expects.empty?
70
+ f.wait
71
+ expects.should.empty?
71
72
 
72
73
  # this data cannot be merged
73
74
  stub_request(:get, 'zzz').to_return(:body => '{"data":"y"}')
@@ -75,7 +76,8 @@ describe RC::Facebook do
75
76
  f.for_pages(data, pages, {}, kind){ |r|
76
77
  r.should.eq expects.shift
77
78
  }
78
- f.wait until expects.empty?
79
+ f.wait
80
+ expects.should.empty?
79
81
  }
80
82
 
81
83
  stub_request(:get, 'zzz').to_return(:body =>
@@ -87,7 +89,8 @@ describe RC::Facebook do
87
89
  f.for_pages(data, 3, {}, kind){ |r|
88
90
  r.should.eq expects.shift
89
91
  }
90
- f.wait until expects.empty?
92
+ f.wait
93
+ expects.should.empty?
91
94
  }
92
95
  end
93
96
  end
@@ -77,7 +77,7 @@ describe RC::Facebook do
77
77
 
78
78
  describe 'signed_request' do
79
79
  def encode str
80
- [str].pack('m').tr("\n=", '').tr('+/', '-_')
80
+ [str].pack('m0').tr('=', '').tr('+/', '-_')
81
81
  end
82
82
 
83
83
  def setup_sr secret, data, sig=nil
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.3.1
4
+ version: 3.3.2
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-10-08 00:00:00.000000000 Z
11
+ date: 2015-01-05 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rest-core
@@ -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.4.2
126
+ rubygems_version: 2.4.5
127
127
  signing_key:
128
128
  specification_version: 4
129
129
  summary: Various REST clients such as Facebook and Twitter built with [rest-core][].