rest-firebase 1.0.1 → 1.0.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: 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][].