fluidinfo 0.2.2 → 0.3.0
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.
- data/Gemfile +1 -2
- data/Gemfile.lock +2 -4
- data/VERSION +1 -1
- data/fluidinfo.gemspec +5 -8
- data/lib/fluidinfo.rb +70 -61
- data/test/test_fluidinfo.rb +20 -2
- metadata +19 -33
    
        data/Gemfile
    CHANGED
    
    | @@ -3,8 +3,7 @@ source "http://rubygems.org" | |
| 3 3 | 
             
            # Example:
         | 
| 4 4 | 
             
            #   gem "activesupport", ">= 2.3.5"
         | 
| 5 5 | 
             
            gem "rest-client", ">= 1.6.1"
         | 
| 6 | 
            -
            gem " | 
| 7 | 
            -
            gem "crack"
         | 
| 6 | 
            +
            gem "yajl-ruby", ">= 0.8.2"
         | 
| 8 7 |  | 
| 9 8 | 
             
            # Add dependencies to develop your gem here.
         | 
| 10 9 | 
             
            # Include everything needed to run rake, tests, features, etc.
         | 
    
        data/Gemfile.lock
    CHANGED
    
    | @@ -1,13 +1,11 @@ | |
| 1 1 | 
             
            GEM
         | 
| 2 2 | 
             
              remote: http://rubygems.org/
         | 
| 3 3 | 
             
              specs:
         | 
| 4 | 
            -
                crack (0.1.8)
         | 
| 5 4 | 
             
                git (1.2.5)
         | 
| 6 5 | 
             
                jeweler (1.5.2)
         | 
| 7 6 | 
             
                  bundler (~> 1.0.0)
         | 
| 8 7 | 
             
                  git (>= 1.2.5)
         | 
| 9 8 | 
             
                  rake
         | 
| 10 | 
            -
                json (1.5.1)
         | 
| 11 9 | 
             
                mime-types (1.16)
         | 
| 12 10 | 
             
                rake (0.8.7)
         | 
| 13 11 | 
             
                rcov (0.9.9)
         | 
| @@ -15,16 +13,16 @@ GEM | |
| 15 13 | 
             
                  mime-types (>= 1.16)
         | 
| 16 14 | 
             
                shoulda (2.11.3)
         | 
| 17 15 | 
             
                uuidtools (2.1.2)
         | 
| 16 | 
            +
                yajl-ruby (0.8.2)
         | 
| 18 17 |  | 
| 19 18 | 
             
            PLATFORMS
         | 
| 20 19 | 
             
              ruby
         | 
| 21 20 |  | 
| 22 21 | 
             
            DEPENDENCIES
         | 
| 23 22 | 
             
              bundler (~> 1.0.0)
         | 
| 24 | 
            -
              crack
         | 
| 25 23 | 
             
              jeweler (~> 1.5.2)
         | 
| 26 | 
            -
              json (>= 1.5.1)
         | 
| 27 24 | 
             
              rcov
         | 
| 28 25 | 
             
              rest-client (>= 1.6.1)
         | 
| 29 26 | 
             
              shoulda
         | 
| 30 27 | 
             
              uuidtools (>= 2.1.2)
         | 
| 28 | 
            +
              yajl-ruby (>= 0.8.2)
         | 
    
        data/VERSION
    CHANGED
    
    | @@ -1 +1 @@ | |
| 1 | 
            -
            0. | 
| 1 | 
            +
            0.3.0
         | 
    
        data/fluidinfo.gemspec
    CHANGED
    
    | @@ -5,11 +5,11 @@ | |
| 5 5 |  | 
| 6 6 | 
             
            Gem::Specification.new do |s|
         | 
| 7 7 | 
             
              s.name = %q{fluidinfo}
         | 
| 8 | 
            -
              s.version = "0. | 
| 8 | 
            +
              s.version = "0.3.0"
         | 
| 9 9 |  | 
| 10 10 | 
             
              s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
         | 
| 11 11 | 
             
              s.authors = ["Eric Seidel"]
         | 
| 12 | 
            -
              s.date = %q{2011-03- | 
| 12 | 
            +
              s.date = %q{2011-03-23}
         | 
| 13 13 | 
             
              s.description = %q{This gem provides a simple interface to fluidinfo, built on top of the rest-client gem.}
         | 
| 14 14 | 
             
              s.email = %q{gridaphobe@gmail.com}
         | 
| 15 15 | 
             
              s.extra_rdoc_files = [
         | 
| @@ -44,8 +44,7 @@ Gem::Specification.new do |s| | |
| 44 44 |  | 
| 45 45 | 
             
                if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
         | 
| 46 46 | 
             
                  s.add_runtime_dependency(%q<rest-client>, [">= 1.6.1"])
         | 
| 47 | 
            -
                  s.add_runtime_dependency(%q< | 
| 48 | 
            -
                  s.add_runtime_dependency(%q<crack>, [">= 0"])
         | 
| 47 | 
            +
                  s.add_runtime_dependency(%q<yajl-ruby>, [">= 0.8.2"])
         | 
| 49 48 | 
             
                  s.add_development_dependency(%q<shoulda>, [">= 0"])
         | 
| 50 49 | 
             
                  s.add_development_dependency(%q<bundler>, ["~> 1.0.0"])
         | 
| 51 50 | 
             
                  s.add_development_dependency(%q<jeweler>, ["~> 1.5.2"])
         | 
| @@ -53,8 +52,7 @@ Gem::Specification.new do |s| | |
| 53 52 | 
             
                  s.add_development_dependency(%q<uuidtools>, [">= 2.1.2"])
         | 
| 54 53 | 
             
                else
         | 
| 55 54 | 
             
                  s.add_dependency(%q<rest-client>, [">= 1.6.1"])
         | 
| 56 | 
            -
                  s.add_dependency(%q< | 
| 57 | 
            -
                  s.add_dependency(%q<crack>, [">= 0"])
         | 
| 55 | 
            +
                  s.add_dependency(%q<yajl-ruby>, [">= 0.8.2"])
         | 
| 58 56 | 
             
                  s.add_dependency(%q<shoulda>, [">= 0"])
         | 
| 59 57 | 
             
                  s.add_dependency(%q<bundler>, ["~> 1.0.0"])
         | 
| 60 58 | 
             
                  s.add_dependency(%q<jeweler>, ["~> 1.5.2"])
         | 
| @@ -63,8 +61,7 @@ Gem::Specification.new do |s| | |
| 63 61 | 
             
                end
         | 
| 64 62 | 
             
              else
         | 
| 65 63 | 
             
                s.add_dependency(%q<rest-client>, [">= 1.6.1"])
         | 
| 66 | 
            -
                s.add_dependency(%q< | 
| 67 | 
            -
                s.add_dependency(%q<crack>, [">= 0"])
         | 
| 64 | 
            +
                s.add_dependency(%q<yajl-ruby>, [">= 0.8.2"])
         | 
| 68 65 | 
             
                s.add_dependency(%q<shoulda>, [">= 0"])
         | 
| 69 66 | 
             
                s.add_dependency(%q<bundler>, ["~> 1.0.0"])
         | 
| 70 67 | 
             
                s.add_dependency(%q<jeweler>, ["~> 1.5.2"])
         | 
    
        data/lib/fluidinfo.rb
    CHANGED
    
    | @@ -1,10 +1,14 @@ | |
| 1 1 | 
             
            require "rest-client"
         | 
| 2 2 | 
             
            require "uri"
         | 
| 3 | 
            -
            require " | 
| 3 | 
            +
            require "yajl/json_gem"
         | 
| 4 4 | 
             
            require "base64"
         | 
| 5 | 
            -
            require " | 
| 5 | 
            +
            require "set"
         | 
| 6 6 |  | 
| 7 7 | 
             
            module Fluidinfo
         | 
| 8 | 
            +
              ITERABLE_TYPES = Set.new [Array, Hash]
         | 
| 9 | 
            +
              SERIALIZABLE_TYPES = Set.new [NilClass, String, Fixnum, Float, Symbol,
         | 
| 10 | 
            +
                TrueClass, FalseClass]
         | 
| 11 | 
            +
              
         | 
| 8 12 | 
             
              class Client
         | 
| 9 13 | 
             
                # The main fluidinfo instance.
         | 
| 10 14 | 
             
                @@MAIN    = 'https://fluiddb.fluidinfo.com'
         | 
| @@ -38,26 +42,9 @@ module Fluidinfo | |
| 38 42 | 
             
                # consult the {Fluidinfo API documentation}[api.fluidinfo.com] for a list of
         | 
| 39 43 | 
             
                # appropriate options
         | 
| 40 44 | 
             
                def get(path, options={})
         | 
| 41 | 
            -
                   | 
| 42 | 
            -
                   | 
| 43 | 
            -
                   | 
| 44 | 
            -
                    if key == :tags
         | 
| 45 | 
            -
                      val.each do |tag|
         | 
| 46 | 
            -
                        args += "&tag=#{URI.escape tag.to_s}"
         | 
| 47 | 
            -
                      end
         | 
| 48 | 
            -
                    else
         | 
| 49 | 
            -
                      args += "&#{URI.escape key.to_s}=#{URI.escape val.to_s}"
         | 
| 50 | 
            -
                    end
         | 
| 51 | 
            -
                    args[0] = '?'
         | 
| 52 | 
            -
                  end
         | 
| 53 | 
            -
                  path += args
         | 
| 54 | 
            -
                  response = RestClient.get path, @headers
         | 
| 55 | 
            -
                  begin
         | 
| 56 | 
            -
                    JSON.load response.to_str
         | 
| 57 | 
            -
                  rescue JSON::ParserError
         | 
| 58 | 
            -
                    # this should mean that fluidinfo returned a non-hash/array primitive
         | 
| 59 | 
            -
                    Crack::JSON.parse response.to_str
         | 
| 60 | 
            -
                  end
         | 
| 45 | 
            +
                  url = build_url path, options
         | 
| 46 | 
            +
                  response = RestClient.get url, @headers
         | 
| 47 | 
            +
                  JSON.parse response
         | 
| 61 48 | 
             
                end
         | 
| 62 49 |  | 
| 63 50 | 
             
                ##
         | 
| @@ -76,11 +63,9 @@ module Fluidinfo | |
| 76 63 | 
             
                def post(path, options={})
         | 
| 77 64 | 
             
                  path = @instance + path
         | 
| 78 65 | 
             
                  if options[:body]
         | 
| 79 | 
            -
                     | 
| 80 | 
            -
                     | 
| 81 | 
            -
                     | 
| 82 | 
            -
                    headers = @headers.merge :content_type => mime
         | 
| 83 | 
            -
                    JSON.parse(RestClient.post path, body, headers)
         | 
| 66 | 
            +
                    payload = build_payload options
         | 
| 67 | 
            +
                    headers = @headers.merge :content_type => payload[:mime]
         | 
| 68 | 
            +
                    JSON.parse(RestClient.post path, payload[:body], headers)
         | 
| 84 69 | 
             
                  else
         | 
| 85 70 | 
             
                    JSON.parse(RestClient.post path, nil)
         | 
| 86 71 | 
             
                  end
         | 
| @@ -93,29 +78,10 @@ module Fluidinfo | |
| 93 78 | 
             
                #
         | 
| 94 79 | 
             
                # +options[:mime]+ contains the MIME-type unless the payload is JSON-encodable
         | 
| 95 80 | 
             
                def put(path, options={})
         | 
| 96 | 
            -
                   | 
| 97 | 
            -
                   | 
| 98 | 
            -
             | 
| 99 | 
            -
             | 
| 100 | 
            -
                  end
         | 
| 101 | 
            -
                  body = options[:body]
         | 
| 102 | 
            -
                  if options[:mime]
         | 
| 103 | 
            -
                    mime = options[:mime]
         | 
| 104 | 
            -
                  else
         | 
| 105 | 
            -
                    mime = "application/json"
         | 
| 106 | 
            -
                    begin
         | 
| 107 | 
            -
                      body = JSON.dump options[:body]
         | 
| 108 | 
            -
                    rescue JSON::GeneratorError
         | 
| 109 | 
            -
                      if options[:body] == nil
         | 
| 110 | 
            -
                        body = "null"
         | 
| 111 | 
            -
                      else
         | 
| 112 | 
            -
                        body = options[:body].to_s
         | 
| 113 | 
            -
                      end
         | 
| 114 | 
            -
                    end
         | 
| 115 | 
            -
                  end
         | 
| 116 | 
            -
                  # nothing returned in response body for PUT
         | 
| 117 | 
            -
                  headers = @headers.merge :content_type => mime
         | 
| 118 | 
            -
                  RestClient.put path, body, headers
         | 
| 81 | 
            +
                  url = build_url path, options
         | 
| 82 | 
            +
                  payload = build_payload options
         | 
| 83 | 
            +
                  headers = @headers.merge :content_type => payload[:mime]
         | 
| 84 | 
            +
                  RestClient.put url, payload[:body], headers
         | 
| 119 85 | 
             
                end
         | 
| 120 86 |  | 
| 121 87 | 
             
                ##
         | 
| @@ -125,19 +91,62 @@ module Fluidinfo | |
| 125 91 | 
             
                # consult the {Fluidinfo API documentation}[api.fluidinfo.com] for a list of
         | 
| 126 92 | 
             
                # appropriate options
         | 
| 127 93 | 
             
                def delete(path, options={})
         | 
| 128 | 
            -
                   | 
| 129 | 
            -
                   | 
| 130 | 
            -
             | 
| 131 | 
            -
             | 
| 94 | 
            +
                  url = build_url path, options
         | 
| 95 | 
            +
                  # nothing returned in response body for DELETE
         | 
| 96 | 
            +
                  RestClient.delete url, @headers
         | 
| 97 | 
            +
                end
         | 
| 98 | 
            +
                
         | 
| 99 | 
            +
                private
         | 
| 100 | 
            +
                  ##
         | 
| 101 | 
            +
                  # Build a url from the given path and url args
         | 
| 102 | 
            +
                  def build_url(path, options={})
         | 
| 103 | 
            +
                    opts = options.reject do |key, val|
         | 
| 104 | 
            +
                      [:body, :mime].include? key
         | 
| 105 | 
            +
                    end
         | 
| 106 | 
            +
                    args = opts.inject([]) do |arr, (key, val)|
         | 
| 107 | 
            +
                      if key == :tags
         | 
| 108 | 
            +
                        # dealing with tag list
         | 
| 109 | 
            +
                        val.each do |tag|
         | 
| 110 | 
            +
                          arr << "tag=#{tag}"
         | 
| 111 | 
            +
                        end
         | 
| 112 | 
            +
                      else
         | 
| 113 | 
            +
                        arr << "#{key}=#{val}"
         | 
| 114 | 
            +
                      end
         | 
| 115 | 
            +
                      arr
         | 
| 116 | 
            +
                    end.join('&')
         | 
| 117 | 
            +
                    if args != ''
         | 
| 118 | 
            +
                      URI.escape "#{@instance}#{path}?#{args}"
         | 
| 119 | 
            +
                    else
         | 
| 120 | 
            +
                      "#{@instance}#{path}"
         | 
| 121 | 
            +
                    end
         | 
| 132 122 | 
             
                  end
         | 
| 133 | 
            -
                   | 
| 134 | 
            -
             | 
| 135 | 
            -
             | 
| 136 | 
            -
             | 
| 123 | 
            +
                  
         | 
| 124 | 
            +
                  ##
         | 
| 125 | 
            +
                  # Build the payload from the options hash
         | 
| 126 | 
            +
                  def build_payload(options)
         | 
| 127 | 
            +
                    payload = options.reject {|k,v| !([:body, :mime].include? k)}
         | 
| 128 | 
            +
                    if payload[:mime]
         | 
| 129 | 
            +
                      # user set mime-type, let them deal with it :)
         | 
| 130 | 
            +
                      payload
         | 
| 131 | 
            +
                    elsif ITERABLE_TYPES.include? payload[:body].class
         | 
| 132 | 
            +
                      payload[:body] = JSON.dump payload[:body]
         | 
| 133 | 
            +
                      payload[:mime] = "application/json"
         | 
| 134 | 
            +
                      payload
         | 
| 135 | 
            +
                    elsif SERIALIZABLE_TYPES.include? payload[:body].class
         | 
| 136 | 
            +
                      payload[:body] = JSON.dump payload[:body]
         | 
| 137 | 
            +
                      payload[:mime] = "application/vnd.fluiddb.value+json"
         | 
| 138 | 
            +
                      payload
         | 
| 139 | 
            +
                    else
         | 
| 140 | 
            +
                      raise TypeError, "You must supply the mime-type"
         | 
| 137 141 | 
             
                    end
         | 
| 138 142 | 
             
                  end
         | 
| 139 | 
            -
                  # nothing returned in response body for DELETE
         | 
| 140 | 
            -
                  RestClient.delete path, @headers
         | 
| 141 | 
            -
                end
         | 
| 142 143 | 
             
              end
         | 
| 144 | 
            +
              
         | 
| 145 | 
            +
              def self.version
         | 
| 146 | 
            +
                # This was borrowed from the rest-client gem :)
         | 
| 147 | 
            +
                version_path = File.dirname(__FILE__) + "/../VERSION"
         | 
| 148 | 
            +
                return File.read(version_path).chomp if File.file?(version_path)
         | 
| 149 | 
            +
                "0.0.0"
         | 
| 150 | 
            +
              end
         | 
| 151 | 
            +
             | 
| 143 152 | 
             
            end
         | 
    
        data/test/test_fluidinfo.rb
    CHANGED
    
    | @@ -73,6 +73,24 @@ class FluidinfoTest < Test::Unit::TestCase | |
| 73 73 | 
             
                                                      :returnNamespaces => true)
         | 
| 74 74 | 
             
                  end
         | 
| 75 75 | 
             
                end
         | 
| 76 | 
            +
                
         | 
| 77 | 
            +
                context "/values" do
         | 
| 78 | 
            +
                  should "retrieve a set of tags" do
         | 
| 79 | 
            +
                    expected = {
         | 
| 80 | 
            +
                      "results" => {
         | 
| 81 | 
            +
                        "id"      => {
         | 
| 82 | 
            +
                          "e034d8c0-a2e4-4094-895b-3a8065f9696e" => {
         | 
| 83 | 
            +
                            "fluiddb/users/username" => { "value" => "gridaphobe" },
         | 
| 84 | 
            +
                            "fluiddb/about" => { "value" => "Object for the user named gridaphobe"}
         | 
| 85 | 
            +
                          }
         | 
| 86 | 
            +
                        }
         | 
| 87 | 
            +
                      }
         | 
| 88 | 
            +
                    }
         | 
| 89 | 
            +
                    assert_equal expected, @fluid.get("/values",
         | 
| 90 | 
            +
                                          :query => 'fluiddb/users/username="gridaphobe"',
         | 
| 91 | 
            +
                                          :tags => ['fluiddb/users/username', 'fluiddb/about'])
         | 
| 92 | 
            +
                  end
         | 
| 93 | 
            +
                end
         | 
| 76 94 | 
             
              end
         | 
| 77 95 |  | 
| 78 96 | 
             
              context "POST" do
         | 
| @@ -126,9 +144,9 @@ class FluidinfoTest < Test::Unit::TestCase | |
| 126 144 | 
             
                    path = "/objects/#{ns_id}/test/#{new_ns}/#{new_tag}"
         | 
| 127 145 | 
             
                    # Make sure that all primitive values are properly encoded and
         | 
| 128 146 | 
             
                    # sent to Fluidinfo
         | 
| 129 | 
            -
                    primitives = [1, 1.1, "foo", true, nil, [1, 2, 3]]
         | 
| 147 | 
            +
                    primitives = [1, 1.1, "foo", true, nil, [1, '2', 3]]
         | 
| 130 148 | 
             
                    primitives.each do |p|
         | 
| 131 | 
            -
                      resp = @fluid.put | 
| 149 | 
            +
                      resp = @fluid.put(path, :body => p)
         | 
| 132 150 | 
             
                      assert_equal p, @fluid.get(path)
         | 
| 133 151 | 
             
                    end
         | 
| 134 152 |  | 
    
        metadata
    CHANGED
    
    | @@ -5,9 +5,9 @@ version: !ruby/object:Gem::Version | |
| 5 5 | 
             
              prerelease: 
         | 
| 6 6 | 
             
              segments: 
         | 
| 7 7 | 
             
              - 0
         | 
| 8 | 
            -
              -  | 
| 9 | 
            -
              -  | 
| 10 | 
            -
              version: 0. | 
| 8 | 
            +
              - 3
         | 
| 9 | 
            +
              - 0
         | 
| 10 | 
            +
              version: 0.3.0
         | 
| 11 11 | 
             
            platform: ruby
         | 
| 12 12 | 
             
            authors: 
         | 
| 13 13 | 
             
            - Eric Seidel
         | 
| @@ -15,7 +15,7 @@ autorequire: | |
| 15 15 | 
             
            bindir: bin
         | 
| 16 16 | 
             
            cert_chain: []
         | 
| 17 17 |  | 
| 18 | 
            -
            date: 2011-03- | 
| 18 | 
            +
            date: 2011-03-23 00:00:00 -04:00
         | 
| 19 19 | 
             
            default_executable: 
         | 
| 20 20 | 
             
            dependencies: 
         | 
| 21 21 | 
             
            - !ruby/object:Gem::Dependency 
         | 
| @@ -40,13 +40,13 @@ dependencies: | |
| 40 40 | 
             
                requirements: 
         | 
| 41 41 | 
             
                - - ">="
         | 
| 42 42 | 
             
                  - !ruby/object:Gem::Version 
         | 
| 43 | 
            -
                    hash:  | 
| 43 | 
            +
                    hash: 59
         | 
| 44 44 | 
             
                    segments: 
         | 
| 45 | 
            -
                    -  | 
| 46 | 
            -
                    -  | 
| 47 | 
            -
                    -  | 
| 48 | 
            -
                    version:  | 
| 49 | 
            -
              name:  | 
| 45 | 
            +
                    - 0
         | 
| 46 | 
            +
                    - 8
         | 
| 47 | 
            +
                    - 2
         | 
| 48 | 
            +
                    version: 0.8.2
         | 
| 49 | 
            +
              name: yajl-ruby
         | 
| 50 50 | 
             
              version_requirements: *id002
         | 
| 51 51 | 
             
              prerelease: false
         | 
| 52 52 | 
             
              type: :runtime
         | 
| @@ -60,26 +60,12 @@ dependencies: | |
| 60 60 | 
             
                    segments: 
         | 
| 61 61 | 
             
                    - 0
         | 
| 62 62 | 
             
                    version: "0"
         | 
| 63 | 
            -
              name: crack
         | 
| 64 | 
            -
              version_requirements: *id003
         | 
| 65 | 
            -
              prerelease: false
         | 
| 66 | 
            -
              type: :runtime
         | 
| 67 | 
            -
            - !ruby/object:Gem::Dependency 
         | 
| 68 | 
            -
              requirement: &id004 !ruby/object:Gem::Requirement 
         | 
| 69 | 
            -
                none: false
         | 
| 70 | 
            -
                requirements: 
         | 
| 71 | 
            -
                - - ">="
         | 
| 72 | 
            -
                  - !ruby/object:Gem::Version 
         | 
| 73 | 
            -
                    hash: 3
         | 
| 74 | 
            -
                    segments: 
         | 
| 75 | 
            -
                    - 0
         | 
| 76 | 
            -
                    version: "0"
         | 
| 77 63 | 
             
              name: shoulda
         | 
| 78 | 
            -
              version_requirements: * | 
| 64 | 
            +
              version_requirements: *id003
         | 
| 79 65 | 
             
              prerelease: false
         | 
| 80 66 | 
             
              type: :development
         | 
| 81 67 | 
             
            - !ruby/object:Gem::Dependency 
         | 
| 82 | 
            -
              requirement: & | 
| 68 | 
            +
              requirement: &id004 !ruby/object:Gem::Requirement 
         | 
| 83 69 | 
             
                none: false
         | 
| 84 70 | 
             
                requirements: 
         | 
| 85 71 | 
             
                - - ~>
         | 
| @@ -91,11 +77,11 @@ dependencies: | |
| 91 77 | 
             
                    - 0
         | 
| 92 78 | 
             
                    version: 1.0.0
         | 
| 93 79 | 
             
              name: bundler
         | 
| 94 | 
            -
              version_requirements: * | 
| 80 | 
            +
              version_requirements: *id004
         | 
| 95 81 | 
             
              prerelease: false
         | 
| 96 82 | 
             
              type: :development
         | 
| 97 83 | 
             
            - !ruby/object:Gem::Dependency 
         | 
| 98 | 
            -
              requirement: & | 
| 84 | 
            +
              requirement: &id005 !ruby/object:Gem::Requirement 
         | 
| 99 85 | 
             
                none: false
         | 
| 100 86 | 
             
                requirements: 
         | 
| 101 87 | 
             
                - - ~>
         | 
| @@ -107,11 +93,11 @@ dependencies: | |
| 107 93 | 
             
                    - 2
         | 
| 108 94 | 
             
                    version: 1.5.2
         | 
| 109 95 | 
             
              name: jeweler
         | 
| 110 | 
            -
              version_requirements: * | 
| 96 | 
            +
              version_requirements: *id005
         | 
| 111 97 | 
             
              prerelease: false
         | 
| 112 98 | 
             
              type: :development
         | 
| 113 99 | 
             
            - !ruby/object:Gem::Dependency 
         | 
| 114 | 
            -
              requirement: & | 
| 100 | 
            +
              requirement: &id006 !ruby/object:Gem::Requirement 
         | 
| 115 101 | 
             
                none: false
         | 
| 116 102 | 
             
                requirements: 
         | 
| 117 103 | 
             
                - - ">="
         | 
| @@ -121,11 +107,11 @@ dependencies: | |
| 121 107 | 
             
                    - 0
         | 
| 122 108 | 
             
                    version: "0"
         | 
| 123 109 | 
             
              name: rcov
         | 
| 124 | 
            -
              version_requirements: * | 
| 110 | 
            +
              version_requirements: *id006
         | 
| 125 111 | 
             
              prerelease: false
         | 
| 126 112 | 
             
              type: :development
         | 
| 127 113 | 
             
            - !ruby/object:Gem::Dependency 
         | 
| 128 | 
            -
              requirement: & | 
| 114 | 
            +
              requirement: &id007 !ruby/object:Gem::Requirement 
         | 
| 129 115 | 
             
                none: false
         | 
| 130 116 | 
             
                requirements: 
         | 
| 131 117 | 
             
                - - ">="
         | 
| @@ -137,7 +123,7 @@ dependencies: | |
| 137 123 | 
             
                    - 2
         | 
| 138 124 | 
             
                    version: 2.1.2
         | 
| 139 125 | 
             
              name: uuidtools
         | 
| 140 | 
            -
              version_requirements: * | 
| 126 | 
            +
              version_requirements: *id007
         | 
| 141 127 | 
             
              prerelease: false
         | 
| 142 128 | 
             
              type: :development
         | 
| 143 129 | 
             
            description: This gem provides a simple interface to fluidinfo, built on top of the rest-client gem.
         |