firebase 0.2.6 → 0.2.7
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 +5 -5
- data/CHANGELOG.md +5 -1
- data/LICENSE.txt +0 -0
- data/README.md +19 -5
- data/lib/firebase.rb +26 -4
- data/lib/firebase/response.rb +0 -0
- metadata +17 -13
- data/.document +0 -5
- data/.rspec +0 -1
- data/.travis.yml +0 -8
- data/Gemfile +0 -19
- data/Gemfile.lock +0 -73
- data/Rakefile +0 -52
- data/VERSION +0 -1
- data/firebase.gemspec +0 -69
- data/spec/firebase_spec.rb +0 -132
- data/spec/spec_helper.rb +0 -12
    
        checksums.yaml
    CHANGED
    
    | @@ -1,7 +1,7 @@ | |
| 1 1 | 
             
            ---
         | 
| 2 | 
            -
             | 
| 3 | 
            -
              metadata.gz:  | 
| 4 | 
            -
              data.tar.gz:  | 
| 2 | 
            +
            SHA256:
         | 
| 3 | 
            +
              metadata.gz: d72f4bd9c17f8c7d7839cbb1defd919299ca5d32b62c44b31c98f877f5e8b8b9
         | 
| 4 | 
            +
              data.tar.gz: 7b0edc9268116110902f07912f5e2f06830e202a651a375c0b800506c17d64db
         | 
| 5 5 | 
             
            SHA512:
         | 
| 6 | 
            -
              metadata.gz:  | 
| 7 | 
            -
              data.tar.gz:  | 
| 6 | 
            +
              metadata.gz: b8c9c29aeccf96d90d88ee18448f29b8ea3d2f269d31230ea8ee8851fb4ae6035f9953351fe1cd430b87a7d03e47a8ab6fec6835568add43f6869a2b56a6faf6
         | 
| 7 | 
            +
              data.tar.gz: 821ec1fa4f8279d908356344146452b3e7515242dc936f4077c412adf5084dda4c077ed9b697a753e43888e353fca70b8e9a329dcdfbe277b0ec9373edd41917
         | 
    
        data/CHANGELOG.md
    CHANGED
    
    | @@ -1,12 +1,16 @@ | |
| 1 1 | 
             
            # Changelog
         | 
| 2 2 |  | 
| 3 | 
            +
            ## 0.2.7
         | 
| 4 | 
            +
             | 
| 5 | 
            +
            * Support newer Firebase [authentication method](https://github.com/oscardelben/firebase-ruby/pull/81)
         | 
| 6 | 
            +
             | 
| 3 7 | 
             
            ## 0.2.5
         | 
| 4 8 |  | 
| 5 9 | 
             
            * [Refactor to remove Request proxy class, expose http client](https://github.com/oscardelben/firebase-ruby/commit/138b1e1461ff33da506b0d7992b42e3544be9cf1)
         | 
| 6 10 |  | 
| 7 11 | 
             
            ## 0.2.4
         | 
| 8 12 |  | 
| 9 | 
            -
            * Add support for server timestamp. | 
| 13 | 
            +
            * Add support for server timestamp.
         | 
| 10 14 |  | 
| 11 15 | 
             
            ## 0.2.3
         | 
| 12 16 |  | 
    
        data/LICENSE.txt
    CHANGED
    
    | 
            File without changes
         | 
    
        data/README.md
    CHANGED
    
    | @@ -1,4 +1,5 @@ | |
| 1 | 
            -
            # firebase [](https://travis-ci.org/oscardelben/firebase-ruby)
         | 
| 1 | 
            +
            # firebase [](https://travis-ci.org/oscardelben/firebase-ruby) [](https://rubygems.org/gems/firebase)
         | 
| 2 | 
            +
             | 
| 2 3 |  | 
| 3 4 | 
             
            Ruby wrapper for the [Firebase REST API](https://www.firebase.com/docs/rest/api/).
         | 
| 4 5 |  | 
| @@ -19,18 +20,21 @@ base_uri = 'https://<your-firebase>.firebaseio.com/' | |
| 19 20 |  | 
| 20 21 | 
             
            firebase = Firebase::Client.new(base_uri)
         | 
| 21 22 |  | 
| 22 | 
            -
            response = firebase.push("todos", { :name => 'Pick the milk', :priority => 1 })
         | 
| 23 | 
            +
            response = firebase.push("todos", { :name => 'Pick the milk', :'.priority' => 1 })
         | 
| 23 24 | 
             
            response.success? # => true
         | 
| 24 25 | 
             
            response.code # => 200
         | 
| 25 26 | 
             
            response.body # => { 'name' => "-INOQPH-aV_psbk3ZXEX" }
         | 
| 26 27 | 
             
            response.raw_body # => '{"name":"-INOQPH-aV_psbk3ZXEX"}'
         | 
| 27 28 | 
             
            ```
         | 
| 28 29 |  | 
| 29 | 
            -
            If you have a read-only namespace,  | 
| 30 | 
            +
            If you have a read-only namespace, you need to authenticate your Firebase client. `firebase-ruby` will attempt to determine if you are using the old or new [authentication method](https://firebase.google.com/docs/database/rest/auth) by whether your auth string is a valid JSON string or not.
         | 
| 31 | 
            +
             | 
| 30 32 | 
             
            ```ruby
         | 
| 31 | 
            -
             | 
| 33 | 
            +
            # Using Firebase Admin SDK private key
         | 
| 34 | 
            +
            firebase = Firebase::Client.new(base_uri, private_key_json_string)
         | 
| 32 35 |  | 
| 33 | 
            -
             | 
| 36 | 
            +
            # Using Firebase Database Secret (deprecated)
         | 
| 37 | 
            +
            firebase = Firebase::Client.new(base_uri, db_secret)
         | 
| 34 38 | 
             
            ```
         | 
| 35 39 |  | 
| 36 40 | 
             
            You can now pass custom query options to firebase:
         | 
| @@ -48,6 +52,16 @@ response = firebase.push("todos", { | |
| 48 52 | 
             
            })
         | 
| 49 53 | 
             
            ```
         | 
| 50 54 |  | 
| 55 | 
            +
            To update multiple values that are not direct descendants, supply their paths as keys in the payload to update:
         | 
| 56 | 
            +
             | 
| 57 | 
            +
            ```ruby
         | 
| 58 | 
            +
            # note the empty path string here as the first argument
         | 
| 59 | 
            +
            firebase.update('', {
         | 
| 60 | 
            +
              "users/posts/#{postID}" => true,
         | 
| 61 | 
            +
              "posts/#{postID}" => text
         | 
| 62 | 
            +
            })
         | 
| 63 | 
            +
            ```
         | 
| 64 | 
            +
             | 
| 51 65 | 
             
            So far, supported methods are:
         | 
| 52 66 |  | 
| 53 67 | 
             
            ```ruby
         | 
    
        data/lib/firebase.rb
    CHANGED
    
    | @@ -1,5 +1,6 @@ | |
| 1 1 | 
             
            require 'firebase/response'
         | 
| 2 2 | 
             
            require 'firebase/server_value'
         | 
| 3 | 
            +
            require 'googleauth'
         | 
| 3 4 | 
             
            require 'httpclient'
         | 
| 4 5 | 
             
            require 'json'
         | 
| 5 6 | 
             
            require 'uri'
         | 
| @@ -13,13 +14,22 @@ module Firebase | |
| 13 14 | 
             
                    raise ArgumentError.new('base_uri must be a valid https uri')
         | 
| 14 15 | 
             
                  end
         | 
| 15 16 | 
             
                  base_uri += '/' unless base_uri.end_with?('/')
         | 
| 17 | 
            +
                  default_header = {
         | 
| 18 | 
            +
                    'Content-Type' => 'application/json'
         | 
| 19 | 
            +
                  }
         | 
| 20 | 
            +
                  if auth && valid_json?(auth)
         | 
| 21 | 
            +
                    # Using Admin SDK private key
         | 
| 22 | 
            +
                    scopes = %w(https://www.googleapis.com/auth/firebase.database https://www.googleapis.com/auth/userinfo.email)
         | 
| 23 | 
            +
                    credentials = Google::Auth::DefaultCredentials.make_creds(json_key_io: StringIO.new(auth), scope: scopes)
         | 
| 24 | 
            +
                    default_header = credentials.apply(default_header)
         | 
| 25 | 
            +
                  else
         | 
| 26 | 
            +
                    # Using deprecated Database Secret
         | 
| 27 | 
            +
                    @auth = auth
         | 
| 28 | 
            +
                  end
         | 
| 16 29 | 
             
                  @request = HTTPClient.new({
         | 
| 17 30 | 
             
                    :base_url => base_uri,
         | 
| 18 | 
            -
                    :default_header =>  | 
| 19 | 
            -
                      'Content-Type' => 'application/json'
         | 
| 20 | 
            -
                    }
         | 
| 31 | 
            +
                    :default_header => default_header
         | 
| 21 32 | 
             
                  })
         | 
| 22 | 
            -
                  @auth = auth
         | 
| 23 33 | 
             
                end
         | 
| 24 34 |  | 
| 25 35 | 
             
                # Writes and returns the data
         | 
| @@ -53,11 +63,23 @@ module Firebase | |
| 53 63 | 
             
                private
         | 
| 54 64 |  | 
| 55 65 | 
             
                def process(verb, path, data=nil, query={})
         | 
| 66 | 
            +
                  if path[0] == '/'
         | 
| 67 | 
            +
                    raise(ArgumentError.new("Invalid path: #{path}. Path must be relative"))
         | 
| 68 | 
            +
                  end
         | 
| 56 69 | 
             
                  Firebase::Response.new @request.request(verb, "#{path}.json", {
         | 
| 57 70 | 
             
                    :body             => (data && data.to_json),
         | 
| 58 71 | 
             
                    :query            => (@auth ? { :auth => @auth }.merge(query) : query),
         | 
| 59 72 | 
             
                    :follow_redirect  => true
         | 
| 60 73 | 
             
                  })
         | 
| 61 74 | 
             
                end
         | 
| 75 | 
            +
             | 
| 76 | 
            +
                def valid_json?(json)
         | 
| 77 | 
            +
                  begin
         | 
| 78 | 
            +
                    JSON.parse(json)
         | 
| 79 | 
            +
                    return true
         | 
| 80 | 
            +
                  rescue JSON::ParserError
         | 
| 81 | 
            +
                    return false
         | 
| 82 | 
            +
                  end
         | 
| 83 | 
            +
                end
         | 
| 62 84 | 
             
              end
         | 
| 63 85 | 
             
            end
         | 
    
        data/lib/firebase/response.rb
    CHANGED
    
    | 
            File without changes
         | 
    
        metadata
    CHANGED
    
    | @@ -1,7 +1,7 @@ | |
| 1 1 | 
             
            --- !ruby/object:Gem::Specification
         | 
| 2 2 | 
             
            name: firebase
         | 
| 3 3 | 
             
            version: !ruby/object:Gem::Version
         | 
| 4 | 
            -
              version: 0.2. | 
| 4 | 
            +
              version: 0.2.7
         | 
| 5 5 | 
             
            platform: ruby
         | 
| 6 6 | 
             
            authors:
         | 
| 7 7 | 
             
            - Oscar Del Ben
         | 
| @@ -12,6 +12,20 @@ date: 2015-11-26 00:00:00.000000000 Z | |
| 12 12 | 
             
            dependencies:
         | 
| 13 13 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 14 14 | 
             
              name: httpclient
         | 
| 15 | 
            +
              requirement: !ruby/object:Gem::Requirement
         | 
| 16 | 
            +
                requirements:
         | 
| 17 | 
            +
                - - ">="
         | 
| 18 | 
            +
                  - !ruby/object:Gem::Version
         | 
| 19 | 
            +
                    version: 2.5.3
         | 
| 20 | 
            +
              type: :runtime
         | 
| 21 | 
            +
              prerelease: false
         | 
| 22 | 
            +
              version_requirements: !ruby/object:Gem::Requirement
         | 
| 23 | 
            +
                requirements:
         | 
| 24 | 
            +
                - - ">="
         | 
| 25 | 
            +
                  - !ruby/object:Gem::Version
         | 
| 26 | 
            +
                    version: 2.5.3
         | 
| 27 | 
            +
            - !ruby/object:Gem::Dependency
         | 
| 28 | 
            +
              name: json
         | 
| 15 29 | 
             
              requirement: !ruby/object:Gem::Requirement
         | 
| 16 30 | 
             
                requirements:
         | 
| 17 31 | 
             
                - - ">="
         | 
| @@ -25,7 +39,7 @@ dependencies: | |
| 25 39 | 
             
                  - !ruby/object:Gem::Version
         | 
| 26 40 | 
             
                    version: '0'
         | 
| 27 41 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 28 | 
            -
              name:  | 
| 42 | 
            +
              name: googleauth
         | 
| 29 43 | 
             
              requirement: !ruby/object:Gem::Requirement
         | 
| 30 44 | 
             
                requirements:
         | 
| 31 45 | 
             
                - - ">="
         | 
| @@ -89,22 +103,12 @@ extra_rdoc_files: | |
| 89 103 | 
             
            - LICENSE.txt
         | 
| 90 104 | 
             
            - README.md
         | 
| 91 105 | 
             
            files:
         | 
| 92 | 
            -
            - ".document"
         | 
| 93 | 
            -
            - ".rspec"
         | 
| 94 | 
            -
            - ".travis.yml"
         | 
| 95 106 | 
             
            - CHANGELOG.md
         | 
| 96 | 
            -
            - Gemfile
         | 
| 97 | 
            -
            - Gemfile.lock
         | 
| 98 107 | 
             
            - LICENSE.txt
         | 
| 99 108 | 
             
            - README.md
         | 
| 100 | 
            -
            - Rakefile
         | 
| 101 | 
            -
            - VERSION
         | 
| 102 | 
            -
            - firebase.gemspec
         | 
| 103 109 | 
             
            - lib/firebase.rb
         | 
| 104 110 | 
             
            - lib/firebase/response.rb
         | 
| 105 111 | 
             
            - lib/firebase/server_value.rb
         | 
| 106 | 
            -
            - spec/firebase_spec.rb
         | 
| 107 | 
            -
            - spec/spec_helper.rb
         | 
| 108 112 | 
             
            homepage: http://github.com/oscardelben/firebase-ruby
         | 
| 109 113 | 
             
            licenses:
         | 
| 110 114 | 
             
            - MIT
         | 
| @@ -125,7 +129,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement | |
| 125 129 | 
             
                  version: '0'
         | 
| 126 130 | 
             
            requirements: []
         | 
| 127 131 | 
             
            rubyforge_project: 
         | 
| 128 | 
            -
            rubygems_version: 2. | 
| 132 | 
            +
            rubygems_version: 2.7.3
         | 
| 129 133 | 
             
            signing_key: 
         | 
| 130 134 | 
             
            specification_version: 4
         | 
| 131 135 | 
             
            summary: Firebase wrapper for Ruby
         | 
    
        data/.document
    DELETED
    
    
    
        data/.rspec
    DELETED
    
    | @@ -1 +0,0 @@ | |
| 1 | 
            -
            --color
         | 
    
        data/.travis.yml
    DELETED
    
    
    
        data/Gemfile
    DELETED
    
    | @@ -1,19 +0,0 @@ | |
| 1 | 
            -
            source "http://rubygems.org"
         | 
| 2 | 
            -
            # Add dependencies required to use your gem here.
         | 
| 3 | 
            -
            # Example:
         | 
| 4 | 
            -
            #   gem "activesupport", ">= 2.3.5"
         | 
| 5 | 
            -
             | 
| 6 | 
            -
            gem 'httpclient'
         | 
| 7 | 
            -
            gem 'json'
         | 
| 8 | 
            -
             | 
| 9 | 
            -
            # Add dependencies to develop your gem here.
         | 
| 10 | 
            -
            # Include everything needed to run rake, tests, features, etc.
         | 
| 11 | 
            -
            group :development do
         | 
| 12 | 
            -
              gem 'rake'
         | 
| 13 | 
            -
              gem 'rdoc'
         | 
| 14 | 
            -
              gem 'rspec'
         | 
| 15 | 
            -
            end
         | 
| 16 | 
            -
             | 
| 17 | 
            -
            group :utility do
         | 
| 18 | 
            -
              gem 'jeweler'
         | 
| 19 | 
            -
            end
         | 
    
        data/Gemfile.lock
    DELETED
    
    | @@ -1,73 +0,0 @@ | |
| 1 | 
            -
            GEM
         | 
| 2 | 
            -
              remote: http://rubygems.org/
         | 
| 3 | 
            -
              specs:
         | 
| 4 | 
            -
                addressable (2.3.8)
         | 
| 5 | 
            -
                builder (3.2.2)
         | 
| 6 | 
            -
                descendants_tracker (0.0.4)
         | 
| 7 | 
            -
                  thread_safe (~> 0.3, >= 0.3.1)
         | 
| 8 | 
            -
                diff-lcs (1.2.5)
         | 
| 9 | 
            -
                faraday (0.9.2)
         | 
| 10 | 
            -
                  multipart-post (>= 1.2, < 3)
         | 
| 11 | 
            -
                git (1.2.9.1)
         | 
| 12 | 
            -
                github_api (0.13.0)
         | 
| 13 | 
            -
                  addressable (~> 2.3)
         | 
| 14 | 
            -
                  descendants_tracker (~> 0.0.4)
         | 
| 15 | 
            -
                  faraday (~> 0.8, < 0.10)
         | 
| 16 | 
            -
                  hashie (>= 3.4)
         | 
| 17 | 
            -
                  multi_json (>= 1.7.5, < 2.0)
         | 
| 18 | 
            -
                  nokogiri (~> 1.6.6)
         | 
| 19 | 
            -
                  oauth2
         | 
| 20 | 
            -
                hashie (3.4.3)
         | 
| 21 | 
            -
                highline (1.7.8)
         | 
| 22 | 
            -
                httpclient (2.7.0.1)
         | 
| 23 | 
            -
                jeweler (2.0.1)
         | 
| 24 | 
            -
                  builder
         | 
| 25 | 
            -
                  bundler (>= 1.0)
         | 
| 26 | 
            -
                  git (>= 1.2.5)
         | 
| 27 | 
            -
                  github_api
         | 
| 28 | 
            -
                  highline (>= 1.6.15)
         | 
| 29 | 
            -
                  nokogiri (>= 1.5.10)
         | 
| 30 | 
            -
                  rake
         | 
| 31 | 
            -
                  rdoc
         | 
| 32 | 
            -
                json (1.8.3)
         | 
| 33 | 
            -
                jwt (1.5.2)
         | 
| 34 | 
            -
                mini_portile (0.6.2)
         | 
| 35 | 
            -
                multi_json (1.11.2)
         | 
| 36 | 
            -
                multi_xml (0.5.5)
         | 
| 37 | 
            -
                multipart-post (2.0.0)
         | 
| 38 | 
            -
                nokogiri (1.6.6.4)
         | 
| 39 | 
            -
                  mini_portile (~> 0.6.0)
         | 
| 40 | 
            -
                oauth2 (1.0.0)
         | 
| 41 | 
            -
                  faraday (>= 0.8, < 0.10)
         | 
| 42 | 
            -
                  jwt (~> 1.0)
         | 
| 43 | 
            -
                  multi_json (~> 1.3)
         | 
| 44 | 
            -
                  multi_xml (~> 0.5)
         | 
| 45 | 
            -
                  rack (~> 1.2)
         | 
| 46 | 
            -
                rack (1.6.4)
         | 
| 47 | 
            -
                rake (10.4.2)
         | 
| 48 | 
            -
                rdoc (4.2.0)
         | 
| 49 | 
            -
                rspec (3.4.0)
         | 
| 50 | 
            -
                  rspec-core (~> 3.4.0)
         | 
| 51 | 
            -
                  rspec-expectations (~> 3.4.0)
         | 
| 52 | 
            -
                  rspec-mocks (~> 3.4.0)
         | 
| 53 | 
            -
                rspec-core (3.4.1)
         | 
| 54 | 
            -
                  rspec-support (~> 3.4.0)
         | 
| 55 | 
            -
                rspec-expectations (3.4.0)
         | 
| 56 | 
            -
                  diff-lcs (>= 1.2.0, < 2.0)
         | 
| 57 | 
            -
                  rspec-support (~> 3.4.0)
         | 
| 58 | 
            -
                rspec-mocks (3.4.0)
         | 
| 59 | 
            -
                  diff-lcs (>= 1.2.0, < 2.0)
         | 
| 60 | 
            -
                  rspec-support (~> 3.4.0)
         | 
| 61 | 
            -
                rspec-support (3.4.1)
         | 
| 62 | 
            -
                thread_safe (0.3.5)
         | 
| 63 | 
            -
             | 
| 64 | 
            -
            PLATFORMS
         | 
| 65 | 
            -
              ruby
         | 
| 66 | 
            -
             | 
| 67 | 
            -
            DEPENDENCIES
         | 
| 68 | 
            -
              httpclient
         | 
| 69 | 
            -
              jeweler
         | 
| 70 | 
            -
              json
         | 
| 71 | 
            -
              rake
         | 
| 72 | 
            -
              rdoc
         | 
| 73 | 
            -
              rspec
         | 
    
        data/Rakefile
    DELETED
    
    | @@ -1,52 +0,0 @@ | |
| 1 | 
            -
            # encoding: utf-8
         | 
| 2 | 
            -
             | 
| 3 | 
            -
            require 'rubygems'
         | 
| 4 | 
            -
            require 'bundler'
         | 
| 5 | 
            -
            begin
         | 
| 6 | 
            -
              Bundler.setup(:default, :development)
         | 
| 7 | 
            -
            rescue Bundler::BundlerError => e
         | 
| 8 | 
            -
              $stderr.puts e.message
         | 
| 9 | 
            -
              $stderr.puts "Run `bundle install` to install missing gems"
         | 
| 10 | 
            -
              exit e.status_code
         | 
| 11 | 
            -
            end
         | 
| 12 | 
            -
            require 'rake'
         | 
| 13 | 
            -
             | 
| 14 | 
            -
            begin
         | 
| 15 | 
            -
              require 'jeweler'
         | 
| 16 | 
            -
              Jeweler::Tasks.new do |gem|
         | 
| 17 | 
            -
                # gem is a Gem::Specification... see http://docs.rubygems.org/read/chapter/20 for more options
         | 
| 18 | 
            -
                gem.name = "firebase"
         | 
| 19 | 
            -
                gem.homepage = "http://github.com/oscardelben/firebase-ruby"
         | 
| 20 | 
            -
                gem.license = "MIT"
         | 
| 21 | 
            -
                gem.summary = %Q{Firebase wrapper for Ruby}
         | 
| 22 | 
            -
                gem.description = %Q{Firebase wrapper for Ruby}
         | 
| 23 | 
            -
                gem.email = "info@oscardelben.com"
         | 
| 24 | 
            -
                gem.authors = ["Oscar Del Ben"]
         | 
| 25 | 
            -
                # dependencies defined in Gemfile
         | 
| 26 | 
            -
              end
         | 
| 27 | 
            -
              Jeweler::RubygemsDotOrgTasks.new
         | 
| 28 | 
            -
            rescue LoadError
         | 
| 29 | 
            -
            end
         | 
| 30 | 
            -
             | 
| 31 | 
            -
            require 'rspec/core'
         | 
| 32 | 
            -
            require 'rspec/core/rake_task'
         | 
| 33 | 
            -
            RSpec::Core::RakeTask.new(:spec) do |spec|
         | 
| 34 | 
            -
              spec.pattern = FileList['spec/**/*_spec.rb']
         | 
| 35 | 
            -
            end
         | 
| 36 | 
            -
             | 
| 37 | 
            -
            RSpec::Core::RakeTask.new(:rcov) do |spec|
         | 
| 38 | 
            -
              spec.pattern = 'spec/**/*_spec.rb'
         | 
| 39 | 
            -
              spec.rcov = true
         | 
| 40 | 
            -
            end
         | 
| 41 | 
            -
             | 
| 42 | 
            -
            task :default => :spec
         | 
| 43 | 
            -
             | 
| 44 | 
            -
            require 'rdoc/task'
         | 
| 45 | 
            -
            Rake::RDocTask.new do |rdoc|
         | 
| 46 | 
            -
              version = File.exist?('VERSION') ? File.read('VERSION') : ""
         | 
| 47 | 
            -
             | 
| 48 | 
            -
              rdoc.rdoc_dir = 'rdoc'
         | 
| 49 | 
            -
              rdoc.title = "firebase #{version}"
         | 
| 50 | 
            -
              rdoc.rdoc_files.include('README*')
         | 
| 51 | 
            -
              rdoc.rdoc_files.include('lib/**/*.rb')
         | 
| 52 | 
            -
            end
         | 
    
        data/VERSION
    DELETED
    
    | @@ -1 +0,0 @@ | |
| 1 | 
            -
            0.2.6
         | 
    
        data/firebase.gemspec
    DELETED
    
    | @@ -1,69 +0,0 @@ | |
| 1 | 
            -
            # Generated by jeweler
         | 
| 2 | 
            -
            # DO NOT EDIT THIS FILE DIRECTLY
         | 
| 3 | 
            -
            # Instead, edit Jeweler::Tasks in Rakefile, and run 'rake gemspec'
         | 
| 4 | 
            -
            # -*- encoding: utf-8 -*-
         | 
| 5 | 
            -
            # stub: firebase 0.2.6 ruby lib
         | 
| 6 | 
            -
             | 
| 7 | 
            -
            Gem::Specification.new do |s|
         | 
| 8 | 
            -
              s.name = "firebase"
         | 
| 9 | 
            -
              s.version = "0.2.6"
         | 
| 10 | 
            -
             | 
| 11 | 
            -
              s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
         | 
| 12 | 
            -
              s.require_paths = ["lib"]
         | 
| 13 | 
            -
              s.authors = ["Oscar Del Ben"]
         | 
| 14 | 
            -
              s.date = "2015-11-26"
         | 
| 15 | 
            -
              s.description = "Firebase wrapper for Ruby"
         | 
| 16 | 
            -
              s.email = "info@oscardelben.com"
         | 
| 17 | 
            -
              s.extra_rdoc_files = [
         | 
| 18 | 
            -
                "CHANGELOG.md",
         | 
| 19 | 
            -
                "LICENSE.txt",
         | 
| 20 | 
            -
                "README.md"
         | 
| 21 | 
            -
              ]
         | 
| 22 | 
            -
              s.files = [
         | 
| 23 | 
            -
                ".document",
         | 
| 24 | 
            -
                ".rspec",
         | 
| 25 | 
            -
                ".travis.yml",
         | 
| 26 | 
            -
                "CHANGELOG.md",
         | 
| 27 | 
            -
                "Gemfile",
         | 
| 28 | 
            -
                "Gemfile.lock",
         | 
| 29 | 
            -
                "LICENSE.txt",
         | 
| 30 | 
            -
                "README.md",
         | 
| 31 | 
            -
                "Rakefile",
         | 
| 32 | 
            -
                "VERSION",
         | 
| 33 | 
            -
                "firebase.gemspec",
         | 
| 34 | 
            -
                "lib/firebase.rb",
         | 
| 35 | 
            -
                "lib/firebase/response.rb",
         | 
| 36 | 
            -
                "lib/firebase/server_value.rb",
         | 
| 37 | 
            -
                "spec/firebase_spec.rb",
         | 
| 38 | 
            -
                "spec/spec_helper.rb"
         | 
| 39 | 
            -
              ]
         | 
| 40 | 
            -
              s.homepage = "http://github.com/oscardelben/firebase-ruby"
         | 
| 41 | 
            -
              s.licenses = ["MIT"]
         | 
| 42 | 
            -
              s.rubygems_version = "2.4.5"
         | 
| 43 | 
            -
              s.summary = "Firebase wrapper for Ruby"
         | 
| 44 | 
            -
             | 
| 45 | 
            -
              if s.respond_to? :specification_version then
         | 
| 46 | 
            -
                s.specification_version = 4
         | 
| 47 | 
            -
             | 
| 48 | 
            -
                if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
         | 
| 49 | 
            -
                  s.add_runtime_dependency(%q<httpclient>, [">= 0"])
         | 
| 50 | 
            -
                  s.add_runtime_dependency(%q<json>, [">= 0"])
         | 
| 51 | 
            -
                  s.add_development_dependency(%q<rake>, [">= 0"])
         | 
| 52 | 
            -
                  s.add_development_dependency(%q<rdoc>, [">= 0"])
         | 
| 53 | 
            -
                  s.add_development_dependency(%q<rspec>, [">= 0"])
         | 
| 54 | 
            -
                else
         | 
| 55 | 
            -
                  s.add_dependency(%q<httpclient>, [">= 0"])
         | 
| 56 | 
            -
                  s.add_dependency(%q<json>, [">= 0"])
         | 
| 57 | 
            -
                  s.add_dependency(%q<rake>, [">= 0"])
         | 
| 58 | 
            -
                  s.add_dependency(%q<rdoc>, [">= 0"])
         | 
| 59 | 
            -
                  s.add_dependency(%q<rspec>, [">= 0"])
         | 
| 60 | 
            -
                end
         | 
| 61 | 
            -
              else
         | 
| 62 | 
            -
                s.add_dependency(%q<httpclient>, [">= 0"])
         | 
| 63 | 
            -
                s.add_dependency(%q<json>, [">= 0"])
         | 
| 64 | 
            -
                s.add_dependency(%q<rake>, [">= 0"])
         | 
| 65 | 
            -
                s.add_dependency(%q<rdoc>, [">= 0"])
         | 
| 66 | 
            -
                s.add_dependency(%q<rspec>, [">= 0"])
         | 
| 67 | 
            -
              end
         | 
| 68 | 
            -
            end
         | 
| 69 | 
            -
             | 
    
        data/spec/firebase_spec.rb
    DELETED
    
    | @@ -1,132 +0,0 @@ | |
| 1 | 
            -
            require 'spec_helper'
         | 
| 2 | 
            -
             | 
| 3 | 
            -
            describe "Firebase" do
         | 
| 4 | 
            -
              let (:data) do
         | 
| 5 | 
            -
                { 'name' => 'Oscar' }
         | 
| 6 | 
            -
              end
         | 
| 7 | 
            -
             | 
| 8 | 
            -
              describe "invalid uri" do
         | 
| 9 | 
            -
                it "should raise on http" do
         | 
| 10 | 
            -
                  expect{ Firebase::Client.new('http://test.firebaseio.com') }.to raise_error(ArgumentError)
         | 
| 11 | 
            -
                end
         | 
| 12 | 
            -
             | 
| 13 | 
            -
                it 'should raise on empty' do
         | 
| 14 | 
            -
                  expect{ Firebase::Client.new('') }.to raise_error(ArgumentError)
         | 
| 15 | 
            -
                end
         | 
| 16 | 
            -
              end
         | 
| 17 | 
            -
             | 
| 18 | 
            -
              before do
         | 
| 19 | 
            -
                @firebase = Firebase::Client.new('https://test.firebaseio.com')
         | 
| 20 | 
            -
              end
         | 
| 21 | 
            -
             | 
| 22 | 
            -
              describe "set" do
         | 
| 23 | 
            -
                it "writes and returns the data" do
         | 
| 24 | 
            -
                  expect(@firebase).to receive(:process).with(:put, 'users/info', data, {})
         | 
| 25 | 
            -
                  @firebase.set('users/info', data)
         | 
| 26 | 
            -
                end
         | 
| 27 | 
            -
              end
         | 
| 28 | 
            -
             | 
| 29 | 
            -
              describe "get" do
         | 
| 30 | 
            -
                it "returns the data" do
         | 
| 31 | 
            -
                  expect(@firebase).to receive(:process).with(:get, 'users/info', nil, {})
         | 
| 32 | 
            -
                  @firebase.get('users/info')
         | 
| 33 | 
            -
                end
         | 
| 34 | 
            -
             | 
| 35 | 
            -
                it "correctly passes custom ordering params" do
         | 
| 36 | 
            -
                  params = {
         | 
| 37 | 
            -
                    :orderBy => '"$key"',
         | 
| 38 | 
            -
                    :startAt => '"A1"'
         | 
| 39 | 
            -
                  }
         | 
| 40 | 
            -
                  expect(@firebase).to receive(:process).with(:get, 'users/info', nil, params)
         | 
| 41 | 
            -
                  @firebase.get('users/info', params)
         | 
| 42 | 
            -
                end
         | 
| 43 | 
            -
             | 
| 44 | 
            -
                it "works when run against real Firebase dataset" do
         | 
| 45 | 
            -
                  firebase = Firebase::Client.new 'https://dinosaur-facts.firebaseio.com'
         | 
| 46 | 
            -
                  response = firebase.get 'dinosaurs', :orderBy => '"$key"', :startAt => '"a"', :endAt => '"m"'
         | 
| 47 | 
            -
                  expect(response.body).to eq({
         | 
| 48 | 
            -
                    "bruhathkayosaurus" => {
         | 
| 49 | 
            -
                      "appeared" => -70000000,
         | 
| 50 | 
            -
                        "height" => 25,
         | 
| 51 | 
            -
                        "length" => 44,
         | 
| 52 | 
            -
                         "order" => "saurischia",
         | 
| 53 | 
            -
                      "vanished" => -70000000,
         | 
| 54 | 
            -
                        "weight" => 135000
         | 
| 55 | 
            -
                    },
         | 
| 56 | 
            -
                    "lambeosaurus" => {
         | 
| 57 | 
            -
                      "appeared" => -76000000,
         | 
| 58 | 
            -
                        "height" => 2.1,
         | 
| 59 | 
            -
                        "length" => 12.5,
         | 
| 60 | 
            -
                         "order" => "ornithischia",
         | 
| 61 | 
            -
                      "vanished" => -75000000,
         | 
| 62 | 
            -
                        "weight" => 5000
         | 
| 63 | 
            -
                    },
         | 
| 64 | 
            -
                    "linhenykus" => {
         | 
| 65 | 
            -
                      "appeared" => -85000000,
         | 
| 66 | 
            -
                        "height" => 0.6,
         | 
| 67 | 
            -
                        "length" => 1,
         | 
| 68 | 
            -
                         "order" => "theropoda",
         | 
| 69 | 
            -
                      "vanished" => -75000000,
         | 
| 70 | 
            -
                        "weight" => 3
         | 
| 71 | 
            -
                    }
         | 
| 72 | 
            -
                  })
         | 
| 73 | 
            -
                end
         | 
| 74 | 
            -
             | 
| 75 | 
            -
                it "return nil if response body contains 'null'" do
         | 
| 76 | 
            -
                  mock_response = double(:body => 'null')
         | 
| 77 | 
            -
                  response = Firebase::Response.new(mock_response)
         | 
| 78 | 
            -
                  expect { response.body }.to_not raise_error
         | 
| 79 | 
            -
                end
         | 
| 80 | 
            -
             | 
| 81 | 
            -
                it "return true if response body contains 'true'" do
         | 
| 82 | 
            -
                  mock_response = double(:body => 'true')
         | 
| 83 | 
            -
                  response = Firebase::Response.new(mock_response)
         | 
| 84 | 
            -
                  expect(response.body).to eq(true)
         | 
| 85 | 
            -
                end
         | 
| 86 | 
            -
             | 
| 87 | 
            -
                it "return false if response body contains 'false'" do
         | 
| 88 | 
            -
                  mock_response = double(:body => 'false')
         | 
| 89 | 
            -
                  response = Firebase::Response.new(mock_response)
         | 
| 90 | 
            -
                  expect(response.body).to eq(false)
         | 
| 91 | 
            -
                end
         | 
| 92 | 
            -
             | 
| 93 | 
            -
                it "raises JSON::ParserError if response body contains invalid JSON" do
         | 
| 94 | 
            -
                  mock_response = double(:body => '{"this is wrong"')
         | 
| 95 | 
            -
                  response = Firebase::Response.new(mock_response)
         | 
| 96 | 
            -
                  expect { response.body }.to raise_error(JSON::ParserError)
         | 
| 97 | 
            -
                end
         | 
| 98 | 
            -
              end
         | 
| 99 | 
            -
             | 
| 100 | 
            -
              describe "push" do
         | 
| 101 | 
            -
                it "writes the data" do
         | 
| 102 | 
            -
                  expect(@firebase).to receive(:process).with(:post, 'users', data, {})
         | 
| 103 | 
            -
                  @firebase.push('users', data)
         | 
| 104 | 
            -
                end
         | 
| 105 | 
            -
              end
         | 
| 106 | 
            -
             | 
| 107 | 
            -
              describe "delete" do
         | 
| 108 | 
            -
                it "returns true" do
         | 
| 109 | 
            -
                  expect(@firebase).to receive(:process).with(:delete, 'users/info', nil, {})
         | 
| 110 | 
            -
                  @firebase.delete('users/info')
         | 
| 111 | 
            -
                end
         | 
| 112 | 
            -
              end
         | 
| 113 | 
            -
             | 
| 114 | 
            -
              describe "update" do
         | 
| 115 | 
            -
                it "updates and returns the data" do
         | 
| 116 | 
            -
                  expect(@firebase).to receive(:process).with(:patch, 'users/info', data, {})
         | 
| 117 | 
            -
                  @firebase.update('users/info', data)
         | 
| 118 | 
            -
                end
         | 
| 119 | 
            -
              end
         | 
| 120 | 
            -
             | 
| 121 | 
            -
              describe "http processing" do
         | 
| 122 | 
            -
                it "sends custom auth" do
         | 
| 123 | 
            -
                  firebase = Firebase::Client.new('https://test.firebaseio.com', 'secret')
         | 
| 124 | 
            -
                  expect(firebase.request).to receive(:request).with(:get, "todos.json", {
         | 
| 125 | 
            -
                    :body => nil,
         | 
| 126 | 
            -
                    :query => {:auth => "secret", :foo => 'bar'},
         | 
| 127 | 
            -
                    :follow_redirect => true
         | 
| 128 | 
            -
                  })
         | 
| 129 | 
            -
                  firebase.get('todos', :foo => 'bar')
         | 
| 130 | 
            -
                end
         | 
| 131 | 
            -
              end
         | 
| 132 | 
            -
            end
         | 
    
        data/spec/spec_helper.rb
    DELETED
    
    | @@ -1,12 +0,0 @@ | |
| 1 | 
            -
            $LOAD_PATH.unshift(File.join(File.dirname(__FILE__), '..', 'lib'))
         | 
| 2 | 
            -
            $LOAD_PATH.unshift(File.dirname(__FILE__))
         | 
| 3 | 
            -
            require 'rspec'
         | 
| 4 | 
            -
            require 'firebase'
         | 
| 5 | 
            -
             | 
| 6 | 
            -
            # Requires supporting files with custom matchers and macros, etc,
         | 
| 7 | 
            -
            # in ./support/ and its subdirectories.
         | 
| 8 | 
            -
            Dir["#{File.dirname(__FILE__)}/support/**/*.rb"].each {|f| require f}
         | 
| 9 | 
            -
             | 
| 10 | 
            -
            RSpec.configure do |config|
         | 
| 11 | 
            -
             | 
| 12 | 
            -
            end
         |