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 +4 -4
- data/CHANGES.md +4 -0
- data/Rakefile +1 -1
- data/example/daemon.rb +36 -0
- data/lib/rest-firebase.rb +1 -1
- data/rest-firebase.gemspec +5 -4
- data/task/gemgem.rb +6 -2
- data/test/test_api.rb +12 -0
- metadata +4 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 30528ff1a743d8b926b614a07e37aef0e2593de2
|
4
|
+
data.tar.gz: 051280a19b7709bf1b4abb8186df4047f66e2198
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 42d3cbf67e88bb66b91025a5f5ec8696987c6de0b62a2221c795ef45f7907e144b428d406b2c9b43b0c9b7d775cfceed5d86eb47ae7293d43b830e71cd0febd2
|
7
|
+
data.tar.gz: a52a804319972e6a5896cb95b38a263c8dde1370366588756c603431b7f9a94765e7451e1a04ccd0f02ab3501961d99b576b6f6449e5acddc55e63c77fc2ddb3
|
data/CHANGES.md
CHANGED
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.
|
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)']
|
data/example/daemon.rb
ADDED
@@ -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
|
data/lib/rest-firebase.rb
CHANGED
@@ -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
|
data/rest-firebase.gemspec
CHANGED
@@ -1,16 +1,16 @@
|
|
1
1
|
# -*- encoding: utf-8 -*-
|
2
|
-
# stub: rest-firebase 1.0.
|
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.
|
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-
|
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.
|
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
|
|
data/task/gemgem.rb
CHANGED
@@ -100,8 +100,12 @@ module Gemgem
|
|
100
100
|
if ENV['COV'] || ENV['CI']
|
101
101
|
require 'simplecov'
|
102
102
|
if ENV['CI']
|
103
|
-
|
104
|
-
|
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/')
|
data/test/test_api.rb
CHANGED
@@ -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.
|
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-
|
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.
|
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][].
|