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 +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][].
         
     |