rest-firebase 1.0.1 → 1.0.2

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: 35606ca070bf79c8f6b7203397e7a78efc11e8c7
4
- data.tar.gz: 4bf304b0fa0a4667c56bc57cf503dbcc4bb2867a
3
+ metadata.gz: 30528ff1a743d8b926b614a07e37aef0e2593de2
4
+ data.tar.gz: 051280a19b7709bf1b4abb8186df4047f66e2198
5
5
  SHA512:
6
- metadata.gz: 037c6c8ea7ce7c149ff062c660a9e950900cd25c55cfcbf2d712a59948beb8b14789de314f04eab61ec5c2267f4a59c672b69983993911c7a54ceb300075bd10
7
- data.tar.gz: 7c01110ae46dbab16234fa7b6de54775158f62bffb87a3e7d4ebc050aa6218554db964f760125f9af1db73152e8b99648defeb88195fe859bca3995ccc2597db
6
+ metadata.gz: 42d3cbf67e88bb66b91025a5f5ec8696987c6de0b62a2221c795ef45f7907e144b428d406b2c9b43b0c9b7d775cfceed5d86eb47ae7293d43b830e71cd0febd2
7
+ data.tar.gz: a52a804319972e6a5896cb95b38a263c8dde1370366588756c603431b7f9a94765e7451e1a04ccd0f02ab3501961d99b576b6f6449e5acddc55e63c77fc2ddb3
data/CHANGES.md CHANGED
@@ -1,5 +1,9 @@
1
1
  # CHANGES
2
2
 
3
+ ## rest-firebase 1.0.2 -- 2015-06-12
4
+
5
+ * Fixed a bug where it would try to encode JSON twice upon retrying.
6
+
3
7
  ## rest-firebase 1.0.1 -- 2015-01-04
4
8
 
5
9
  * Ruby 2.2 compatibility
data/Rakefile CHANGED
@@ -10,7 +10,7 @@ $LOAD_PATH.unshift(File.expand_path("#{dir}/rest-core/lib"))
10
10
 
11
11
  Gemgem.init(dir) do |s|
12
12
  s.name = 'rest-firebase'
13
- s.version = '1.0.1'
13
+ s.version = '1.0.2'
14
14
  s.homepage = 'https://github.com/CodementorIO/rest-firebase'
15
15
 
16
16
  s.authors = ['Codementor', 'Lin Jen-Shin (godfat)']
@@ -0,0 +1,36 @@
1
+
2
+ require 'rest-firebase'
3
+
4
+ es = RestFirebase.new(:auth => false).
5
+ event_source('https://SampleChat.firebaseIO-demo.com/')
6
+
7
+ es.onerror do |error|
8
+ puts "ERROR: #{error}"
9
+ end
10
+
11
+ es.onreconnect do
12
+ !!@start # always reconnect unless stopping
13
+ end
14
+
15
+ es.onmessage do |event, data|
16
+ puts "EVENT: #{event}, DATA: #{data}"
17
+ end
18
+
19
+ puts "Starting..."
20
+ @start = true
21
+ es.start
22
+
23
+ rd, wr = IO.pipe
24
+
25
+ Signal.trap('INT') do # intercept ctrl-c
26
+ puts "Stopping..."
27
+ @start = false # stop reconnecting
28
+ es.close # close socket
29
+ es.wait # wait for shutting down
30
+ wr.puts # unblock main thread
31
+ end
32
+
33
+ rd.gets # main thread blocks here
34
+
35
+ # Now try:
36
+ # curl -X POST -d '{"message": "Hi!"}' https://SampleChat.firebaseIO-demo.com/godfat.json
@@ -9,13 +9,13 @@ RestFirebase = RC::Builder.client(:d, :secret, :auth, :auth_ttl, :iat) do
9
9
  use RC::DefaultHeaders, {'Accept' => 'application/json',
10
10
  'Content-Type' => 'application/json'}
11
11
  use RC::DefaultQuery , nil
12
+ use RC::JsonRequest , true
12
13
 
13
14
  use RC::Retry , 0, RC::Retry::DefaultRetryExceptions
14
15
  use RC::Timeout , 10
15
16
  use RC::FollowRedirect, 1
16
17
  use RC::ErrorHandler , lambda{ |env| RestFirebase::Error.call(env) }
17
18
  use RC::ErrorDetectorHttp
18
- use RC::JsonRequest , true
19
19
  use RC::JsonResponse , true
20
20
  use RC::CommonLogger , nil
21
21
  use RC::Cache , nil, 600
@@ -1,16 +1,16 @@
1
1
  # -*- encoding: utf-8 -*-
2
- # stub: rest-firebase 1.0.1 ruby lib
2
+ # stub: rest-firebase 1.0.2 ruby lib
3
3
 
4
4
  Gem::Specification.new do |s|
5
5
  s.name = "rest-firebase"
6
- s.version = "1.0.1"
6
+ s.version = "1.0.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 = [
11
11
  "Codementor",
12
12
  "Lin Jen-Shin (godfat)"]
13
- s.date = "2015-01-04"
13
+ s.date = "2015-06-12"
14
14
  s.description = "Ruby Firebase REST API client built on top of [rest-core][].\n\n[rest-core]: https://github.com/godfat/rest-core"
15
15
  s.email = ["help@codementor.io"]
16
16
  s.files = [
@@ -24,6 +24,7 @@ Gem::Specification.new do |s|
24
24
  "Rakefile",
25
25
  "TODO.md",
26
26
  "doc/intro.md",
27
+ "example/daemon.rb",
27
28
  "lib/rest-firebase.rb",
28
29
  "rest-firebase.gemspec",
29
30
  "task/README.md",
@@ -31,7 +32,7 @@ Gem::Specification.new do |s|
31
32
  "test/test_api.rb"]
32
33
  s.homepage = "https://github.com/CodementorIO/rest-firebase"
33
34
  s.licenses = ["Apache License 2.0"]
34
- s.rubygems_version = "2.4.5"
35
+ s.rubygems_version = "2.4.8"
35
36
  s.summary = "Ruby Firebase REST API client built on top of [rest-core][]."
36
37
  s.test_files = ["test/test_api.rb"]
37
38
 
@@ -100,8 +100,12 @@ module Gemgem
100
100
  if ENV['COV'] || ENV['CI']
101
101
  require 'simplecov'
102
102
  if ENV['CI']
103
- require 'coveralls'
104
- SimpleCov.formatter = Coveralls::SimpleCov::Formatter
103
+ begin
104
+ require 'coveralls'
105
+ SimpleCov.formatter = Coveralls::SimpleCov::Formatter
106
+ rescue LoadError => e
107
+ puts "Cannot load coveralls, skip: #{e}"
108
+ end
105
109
  end
106
110
  SimpleCov.start do
107
111
  add_filter('test/')
@@ -79,6 +79,18 @@ SSE
79
79
  firebase.query.should.not.eq query
80
80
  end
81
81
 
82
+ would 'not double encode json upon retrying' do
83
+ stub_request(:post, path).
84
+ to_return(:body => '{}', :status => 500).times(1).then.
85
+ to_return(:body => '[]', :status => 200).times(1).
86
+ with(:body => '{"is":"ok"}')
87
+
88
+ firebase.retry_exceptions = [TrueClass]
89
+ firebase.max_retries = 1
90
+ firebase.error_handler = false
91
+ expect(firebase.post(path, :is => :ok)).eq([])
92
+ end
93
+
82
94
  define_method :check do |status, klass|
83
95
  stub_request(:delete, path).to_return(
84
96
  :body => '{}', :status => status)
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rest-firebase
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.1
4
+ version: 1.0.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Codementor
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2015-01-04 00:00:00.000000000 Z
12
+ date: 2015-06-12 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: rest-core
@@ -45,6 +45,7 @@ files:
45
45
  - Rakefile
46
46
  - TODO.md
47
47
  - doc/intro.md
48
+ - example/daemon.rb
48
49
  - lib/rest-firebase.rb
49
50
  - rest-firebase.gemspec
50
51
  - task/README.md
@@ -70,7 +71,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
70
71
  version: '0'
71
72
  requirements: []
72
73
  rubyforge_project:
73
- rubygems_version: 2.4.5
74
+ rubygems_version: 2.4.8
74
75
  signing_key:
75
76
  specification_version: 4
76
77
  summary: Ruby Firebase REST API client built on top of [rest-core][].