cryptkeeper 0.1.0 → 0.2.1
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/CHANGELOG +0 -0
 - data/README.rdoc +4 -1
 - data/Rakefile +17 -11
 - data/cryptkeeper.gemspec +30 -9
 - data/lib/buckets.rb +65 -0
 - data/lib/crypt_keeper.rb +40 -1
 - data/lib/objects.rb +3 -0
 - metadata +54 -21
 - data/Manifest +0 -4
 
    
        data/CHANGELOG
    ADDED
    
    | 
         
            File without changes
         
     | 
    
        data/README.rdoc
    CHANGED
    
    
    
        data/Rakefile
    CHANGED
    
    | 
         @@ -1,14 +1,20 @@ 
     | 
|
| 
       1 
     | 
    
         
            -
            require ' 
     | 
| 
       2 
     | 
    
         
            -
            require ' 
     | 
| 
       3 
     | 
    
         
            -
            require 'echoe'
         
     | 
| 
      
 1 
     | 
    
         
            +
            require 'jeweler'
         
     | 
| 
      
 2 
     | 
    
         
            +
            require Dir.pwd << '/lib/crypt_keeper.rb'
         
     | 
| 
       4 
3 
     | 
    
         | 
| 
       5 
     | 
    
         
            -
             
     | 
| 
       6 
     | 
    
         
            -
               
     | 
| 
       7 
     | 
    
         
            -
               
     | 
| 
       8 
     | 
    
         
            -
               
     | 
| 
       9 
     | 
    
         
            -
               
     | 
| 
       10 
     | 
    
         
            -
               
     | 
| 
       11 
     | 
    
         
            -
               
     | 
| 
      
 4 
     | 
    
         
            +
            Jeweler::Tasks.new do |gem|
         
     | 
| 
      
 5 
     | 
    
         
            +
              # gem is a Gem::Specification... see http://docs.rubygems.org/read/chapter/20 for more options
         
     | 
| 
      
 6 
     | 
    
         
            +
              gem.name = "cryptkeeper"
         
     | 
| 
      
 7 
     | 
    
         
            +
              gem.summary = %Q{Google Storage Connector}
         
     | 
| 
      
 8 
     | 
    
         
            +
              gem.description = %Q{Use cryptkeeper to talk to Google Storage}
         
     | 
| 
      
 9 
     | 
    
         
            +
              gem.email = "adammede@gmail.com"
         
     | 
| 
      
 10 
     | 
    
         
            +
              gem.homepage = "http://github.com/adamthedeveloper/cryptkeeper"
         
     | 
| 
      
 11 
     | 
    
         
            +
              gem.authors = ["Adam Medeiros"]
         
     | 
| 
      
 12 
     | 
    
         
            +
              gem.version = CryptKeeper::VERSION
         
     | 
| 
      
 13 
     | 
    
         
            +
             
     | 
| 
      
 14 
     | 
    
         
            +
              # Dependencies
         
     | 
| 
      
 15 
     | 
    
         
            +
              gem.add_dependency 'hpricot'
         
     | 
| 
      
 16 
     | 
    
         
            +
              gem.add_dependency 'iconv'
         
     | 
| 
      
 17 
     | 
    
         
            +
              gem.add_dependency 'ruby-hmac'
         
     | 
| 
       12 
18 
     | 
    
         
             
            end
         
     | 
| 
       13 
19 
     | 
    
         | 
| 
       14 
     | 
    
         
            -
             
     | 
| 
      
 20 
     | 
    
         
            +
            Jeweler::RubygemsDotOrgTasks.new
         
     | 
    
        data/cryptkeeper.gemspec
    CHANGED
    
    | 
         @@ -1,30 +1,51 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            # Generated by jeweler
         
     | 
| 
      
 2 
     | 
    
         
            +
            # DO NOT EDIT THIS FILE DIRECTLY
         
     | 
| 
      
 3 
     | 
    
         
            +
            # Instead, edit Jeweler::Tasks in Rakefile, and run 'rake gemspec'
         
     | 
| 
       1 
4 
     | 
    
         
             
            # -*- encoding: utf-8 -*-
         
     | 
| 
       2 
5 
     | 
    
         | 
| 
       3 
6 
     | 
    
         
             
            Gem::Specification.new do |s|
         
     | 
| 
       4 
7 
     | 
    
         
             
              s.name = %q{cryptkeeper}
         
     | 
| 
       5 
     | 
    
         
            -
              s.version = "0.1 
     | 
| 
      
 8 
     | 
    
         
            +
              s.version = "0.2.1"
         
     | 
| 
       6 
9 
     | 
    
         | 
| 
       7 
     | 
    
         
            -
              s.required_rubygems_version = Gem::Requirement.new(">=  
     | 
| 
      
 10 
     | 
    
         
            +
              s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
         
     | 
| 
       8 
11 
     | 
    
         
             
              s.authors = ["Adam Medeiros"]
         
     | 
| 
       9 
     | 
    
         
            -
              s.date = %q{2011-02- 
     | 
| 
       10 
     | 
    
         
            -
              s.description = %q{ 
     | 
| 
      
 12 
     | 
    
         
            +
              s.date = %q{2011-02-14}
         
     | 
| 
      
 13 
     | 
    
         
            +
              s.description = %q{Use cryptkeeper to talk to Google Storage}
         
     | 
| 
       11 
14 
     | 
    
         
             
              s.email = %q{adammede@gmail.com}
         
     | 
| 
       12 
     | 
    
         
            -
              s.extra_rdoc_files = [ 
     | 
| 
       13 
     | 
    
         
            -
             
     | 
| 
      
 15 
     | 
    
         
            +
              s.extra_rdoc_files = [
         
     | 
| 
      
 16 
     | 
    
         
            +
                "README.rdoc"
         
     | 
| 
      
 17 
     | 
    
         
            +
              ]
         
     | 
| 
      
 18 
     | 
    
         
            +
              s.files = [
         
     | 
| 
      
 19 
     | 
    
         
            +
                "CHANGELOG",
         
     | 
| 
      
 20 
     | 
    
         
            +
                "README.rdoc",
         
     | 
| 
      
 21 
     | 
    
         
            +
                "Rakefile",
         
     | 
| 
      
 22 
     | 
    
         
            +
                "cryptkeeper.gemspec",
         
     | 
| 
      
 23 
     | 
    
         
            +
                "lib/buckets.rb",
         
     | 
| 
      
 24 
     | 
    
         
            +
                "lib/crypt_keeper.rb",
         
     | 
| 
      
 25 
     | 
    
         
            +
                "lib/objects.rb"
         
     | 
| 
      
 26 
     | 
    
         
            +
              ]
         
     | 
| 
       14 
27 
     | 
    
         
             
              s.homepage = %q{http://github.com/adamthedeveloper/cryptkeeper}
         
     | 
| 
       15 
     | 
    
         
            -
              s.rdoc_options = ["--line-numbers", "--inline-source", "--title", "Cryptkeeper", "--main", "README.rdoc"]
         
     | 
| 
       16 
28 
     | 
    
         
             
              s.require_paths = ["lib"]
         
     | 
| 
       17 
     | 
    
         
            -
              s.rubyforge_project = %q{cryptkeeper}
         
     | 
| 
       18 
29 
     | 
    
         
             
              s.rubygems_version = %q{1.3.7}
         
     | 
| 
       19 
     | 
    
         
            -
              s.summary = %q{ 
     | 
| 
      
 30 
     | 
    
         
            +
              s.summary = %q{Google Storage Connector}
         
     | 
| 
       20 
31 
     | 
    
         | 
| 
       21 
32 
     | 
    
         
             
              if s.respond_to? :specification_version then
         
     | 
| 
       22 
33 
     | 
    
         
             
                current_version = Gem::Specification::CURRENT_SPECIFICATION_VERSION
         
     | 
| 
       23 
34 
     | 
    
         
             
                s.specification_version = 3
         
     | 
| 
       24 
35 
     | 
    
         | 
| 
       25 
36 
     | 
    
         
             
                if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
         
     | 
| 
      
 37 
     | 
    
         
            +
                  s.add_runtime_dependency(%q<hpricot>, [">= 0"])
         
     | 
| 
      
 38 
     | 
    
         
            +
                  s.add_runtime_dependency(%q<iconv>, [">= 0"])
         
     | 
| 
      
 39 
     | 
    
         
            +
                  s.add_runtime_dependency(%q<ruby-hmac>, [">= 0"])
         
     | 
| 
       26 
40 
     | 
    
         
             
                else
         
     | 
| 
      
 41 
     | 
    
         
            +
                  s.add_dependency(%q<hpricot>, [">= 0"])
         
     | 
| 
      
 42 
     | 
    
         
            +
                  s.add_dependency(%q<iconv>, [">= 0"])
         
     | 
| 
      
 43 
     | 
    
         
            +
                  s.add_dependency(%q<ruby-hmac>, [">= 0"])
         
     | 
| 
       27 
44 
     | 
    
         
             
                end
         
     | 
| 
       28 
45 
     | 
    
         
             
              else
         
     | 
| 
      
 46 
     | 
    
         
            +
                s.add_dependency(%q<hpricot>, [">= 0"])
         
     | 
| 
      
 47 
     | 
    
         
            +
                s.add_dependency(%q<iconv>, [">= 0"])
         
     | 
| 
      
 48 
     | 
    
         
            +
                s.add_dependency(%q<ruby-hmac>, [">= 0"])
         
     | 
| 
       29 
49 
     | 
    
         
             
              end
         
     | 
| 
       30 
50 
     | 
    
         
             
            end
         
     | 
| 
      
 51 
     | 
    
         
            +
             
     | 
    
        data/lib/buckets.rb
    ADDED
    
    | 
         @@ -0,0 +1,65 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            module Buckets
         
     | 
| 
      
 2 
     | 
    
         
            +
              # GET Service
         
     | 
| 
      
 3 
     | 
    
         
            +
              # lists all of the buckets that you own
         
     | 
| 
      
 4 
     | 
    
         
            +
              # return an array of Bucket objects
         
     | 
| 
      
 5 
     | 
    
         
            +
              def buckets
         
     | 
| 
      
 6 
     | 
    
         
            +
                res = nil
         
     | 
| 
      
 7 
     | 
    
         
            +
                time = request_time
         
     | 
| 
      
 8 
     | 
    
         
            +
                Net::HTTP.start(@host[:address]) do |http|
         
     | 
| 
      
 9 
     | 
    
         
            +
             
     | 
| 
      
 10 
     | 
    
         
            +
                  req = Net::HTTP::Get.new("/")
         
     | 
| 
      
 11 
     | 
    
         
            +
                  req.add_field('Host', @host[:address])
         
     | 
| 
      
 12 
     | 
    
         
            +
                  req.add_field('Date', time)
         
     | 
| 
      
 13 
     | 
    
         
            +
                  req.add_field('Content-Length',0)
         
     | 
| 
      
 14 
     | 
    
         
            +
             
     | 
| 
      
 15 
     | 
    
         
            +
                  sig = signature("GET\n\n\n#{time}\n/")
         
     | 
| 
      
 16 
     | 
    
         
            +
             
     | 
| 
      
 17 
     | 
    
         
            +
                  req.add_field('Authorization', "#{@signature_id} #{@access_key}:#{sig}")
         
     | 
| 
      
 18 
     | 
    
         
            +
                  res = http.request(req)
         
     | 
| 
      
 19 
     | 
    
         
            +
                end
         
     | 
| 
      
 20 
     | 
    
         
            +
             
     | 
| 
      
 21 
     | 
    
         
            +
                hpr = Hpricot(res.body)
         
     | 
| 
      
 22 
     | 
    
         
            +
                bucket_hashes = hpr.search("bucket").map do |el|
         
     | 
| 
      
 23 
     | 
    
         
            +
                  {
         
     | 
| 
      
 24 
     | 
    
         
            +
                    :name => el.search("name").inner_html,
         
     | 
| 
      
 25 
     | 
    
         
            +
                    :created_at => el.search("creationdate").inner_html
         
     | 
| 
      
 26 
     | 
    
         
            +
                  }
         
     | 
| 
      
 27 
     | 
    
         
            +
                end
         
     | 
| 
      
 28 
     | 
    
         
            +
             
     | 
| 
      
 29 
     | 
    
         
            +
                bucket_hashes.collect { |h| Bucket.new(h) }
         
     | 
| 
      
 30 
     | 
    
         
            +
              end
         
     | 
| 
      
 31 
     | 
    
         
            +
             
     | 
| 
      
 32 
     | 
    
         
            +
              # GET Bucket
         
     | 
| 
      
 33 
     | 
    
         
            +
              # lists the contents of a bucket or retrieves the ACLs that are
         
     | 
| 
      
 34 
     | 
    
         
            +
              # applied to a bucket.
         
     | 
| 
      
 35 
     | 
    
         
            +
              # return a Bucket object
         
     | 
| 
      
 36 
     | 
    
         
            +
              def bucket(*args)
         
     | 
| 
      
 37 
     | 
    
         
            +
             
     | 
| 
      
 38 
     | 
    
         
            +
              end
         
     | 
| 
      
 39 
     | 
    
         
            +
             
     | 
| 
      
 40 
     | 
    
         
            +
              def create_bucket(*args)
         
     | 
| 
      
 41 
     | 
    
         
            +
                
         
     | 
| 
      
 42 
     | 
    
         
            +
              end
         
     | 
| 
      
 43 
     | 
    
         
            +
             
     | 
| 
      
 44 
     | 
    
         
            +
              class Bucket
         
     | 
| 
      
 45 
     | 
    
         
            +
                attr_accessor :name, :created_at
         
     | 
| 
      
 46 
     | 
    
         
            +
                def initialize(*args)
         
     | 
| 
      
 47 
     | 
    
         
            +
                  options = {}
         
     | 
| 
      
 48 
     | 
    
         
            +
                  options.merge!(args.pop) if args.last.is_a? Hash
         
     | 
| 
      
 49 
     | 
    
         
            +
                  @name = options[:name]
         
     | 
| 
      
 50 
     | 
    
         
            +
                  @created_at = options[:created_at]
         
     | 
| 
      
 51 
     | 
    
         
            +
                end
         
     | 
| 
      
 52 
     | 
    
         
            +
             
     | 
| 
      
 53 
     | 
    
         
            +
                def create(*args)
         
     | 
| 
      
 54 
     | 
    
         
            +
             
     | 
| 
      
 55 
     | 
    
         
            +
                end
         
     | 
| 
      
 56 
     | 
    
         
            +
             
     | 
| 
      
 57 
     | 
    
         
            +
                def update(*args)
         
     | 
| 
      
 58 
     | 
    
         
            +
             
     | 
| 
      
 59 
     | 
    
         
            +
                end
         
     | 
| 
      
 60 
     | 
    
         
            +
             
     | 
| 
      
 61 
     | 
    
         
            +
                def destroy
         
     | 
| 
      
 62 
     | 
    
         
            +
             
     | 
| 
      
 63 
     | 
    
         
            +
                end
         
     | 
| 
      
 64 
     | 
    
         
            +
              end
         
     | 
| 
      
 65 
     | 
    
         
            +
            end
         
     | 
    
        data/lib/crypt_keeper.rb
    CHANGED
    
    | 
         @@ -1,8 +1,47 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            require Dir.pwd << '/lib/buckets.rb'
         
     | 
| 
      
 2 
     | 
    
         
            +
            require Dir.pwd << '/lib/objects.rb'
         
     | 
| 
      
 3 
     | 
    
         
            +
            require 'net/http'
         
     | 
| 
      
 4 
     | 
    
         
            +
            require 'iconv'
         
     | 
| 
      
 5 
     | 
    
         
            +
            require 'hmac-sha1'
         
     | 
| 
      
 6 
     | 
    
         
            +
            require 'base64'
         
     | 
| 
      
 7 
     | 
    
         
            +
            require 'uri'
         
     | 
| 
      
 8 
     | 
    
         
            +
            require 'hpricot'
         
     | 
| 
      
 9 
     | 
    
         
            +
             
     | 
| 
       1 
10 
     | 
    
         
             
            module CryptKeeper
         
     | 
| 
      
 11 
     | 
    
         
            +
              VERSION = "0.2.1"
         
     | 
| 
       2 
12 
     | 
    
         
             
              class Connection
         
     | 
| 
       3 
13 
     | 
    
         
             
                def initialize(*args)
         
     | 
| 
       4 
     | 
    
         
            -
                  options = { 
     | 
| 
      
 14 
     | 
    
         
            +
                  options = {
         
     | 
| 
      
 15 
     | 
    
         
            +
                      :signature_identifier => "GOOG1",
         
     | 
| 
      
 16 
     | 
    
         
            +
                      :host => "commondatastorage.googleapis.com",
         
     | 
| 
      
 17 
     | 
    
         
            +
                      :port => "80"
         
     | 
| 
      
 18 
     | 
    
         
            +
                  }
         
     | 
| 
      
 19 
     | 
    
         
            +
             
     | 
| 
       5 
20 
     | 
    
         
             
                  options.merge!(args.pop) if args.last.kind_of? Hash
         
     | 
| 
      
 21 
     | 
    
         
            +
             
     | 
| 
      
 22 
     | 
    
         
            +
                  @access_key   = options[:access_key]
         
     | 
| 
      
 23 
     | 
    
         
            +
                  @secret_key   = options[:secret_key]
         
     | 
| 
      
 24 
     | 
    
         
            +
                  @signature_id = options[:signature_identifier]
         
     | 
| 
      
 25 
     | 
    
         
            +
                  @host = {
         
     | 
| 
      
 26 
     | 
    
         
            +
                      :address => options[:host],
         
     | 
| 
      
 27 
     | 
    
         
            +
                      :port => options[:port]
         
     | 
| 
      
 28 
     | 
    
         
            +
                  }
         
     | 
| 
      
 29 
     | 
    
         
            +
                  @ic_utf8      = Iconv.new('ascii//TRANSLIT//IGNORE', 'UTF-8')
         
     | 
| 
       6 
30 
     | 
    
         
             
                end
         
     | 
| 
      
 31 
     | 
    
         
            +
             
     | 
| 
      
 32 
     | 
    
         
            +
                def signature(message)
         
     | 
| 
      
 33 
     | 
    
         
            +
                  utf8_message = @ic_utf8.iconv(message)
         
     | 
| 
      
 34 
     | 
    
         
            +
                  utf8_key     = @ic_utf8.iconv(@secret_key)
         
     | 
| 
      
 35 
     | 
    
         
            +
                  sha1         = HMAC::SHA1.digest(utf8_key, utf8_message)
         
     | 
| 
      
 36 
     | 
    
         
            +
                  Base64.encode64(sha1).strip
         
     | 
| 
      
 37 
     | 
    
         
            +
                end
         
     | 
| 
      
 38 
     | 
    
         
            +
             
     | 
| 
      
 39 
     | 
    
         
            +
                def request_time
         
     | 
| 
      
 40 
     | 
    
         
            +
                  Time.now.strftime("%a, %d %b %Y %H:%M:%S %z")
         
     | 
| 
      
 41 
     | 
    
         
            +
                end
         
     | 
| 
      
 42 
     | 
    
         
            +
             
     | 
| 
      
 43 
     | 
    
         
            +
                include Buckets
         
     | 
| 
      
 44 
     | 
    
         
            +
                include Objects
         
     | 
| 
       7 
45 
     | 
    
         
             
              end
         
     | 
| 
      
 46 
     | 
    
         
            +
             
     | 
| 
       8 
47 
     | 
    
         
             
            end
         
     | 
    
        data/lib/objects.rb
    ADDED
    
    
    
        metadata
    CHANGED
    
    | 
         @@ -4,9 +4,9 @@ version: !ruby/object:Gem::Version 
     | 
|
| 
       4 
4 
     | 
    
         
             
              prerelease: false
         
     | 
| 
       5 
5 
     | 
    
         
             
              segments: 
         
     | 
| 
       6 
6 
     | 
    
         
             
              - 0
         
     | 
| 
      
 7 
     | 
    
         
            +
              - 2
         
     | 
| 
       7 
8 
     | 
    
         
             
              - 1
         
     | 
| 
       8 
     | 
    
         
            -
               
     | 
| 
       9 
     | 
    
         
            -
              version: 0.1.0
         
     | 
| 
      
 9 
     | 
    
         
            +
              version: 0.2.1
         
     | 
| 
       10 
10 
     | 
    
         
             
            platform: ruby
         
     | 
| 
       11 
11 
     | 
    
         
             
            authors: 
         
     | 
| 
       12 
12 
     | 
    
         
             
            - Adam Medeiros
         
     | 
| 
         @@ -14,11 +14,49 @@ autorequire: 
     | 
|
| 
       14 
14 
     | 
    
         
             
            bindir: bin
         
     | 
| 
       15 
15 
     | 
    
         
             
            cert_chain: []
         
     | 
| 
       16 
16 
     | 
    
         | 
| 
       17 
     | 
    
         
            -
            date: 2011-02- 
     | 
| 
      
 17 
     | 
    
         
            +
            date: 2011-02-14 00:00:00 -08:00
         
     | 
| 
       18 
18 
     | 
    
         
             
            default_executable: 
         
     | 
| 
       19 
     | 
    
         
            -
            dependencies:  
     | 
| 
       20 
     | 
    
         
            -
             
     | 
| 
       21 
     | 
    
         
            -
             
     | 
| 
      
 19 
     | 
    
         
            +
            dependencies: 
         
     | 
| 
      
 20 
     | 
    
         
            +
            - !ruby/object:Gem::Dependency 
         
     | 
| 
      
 21 
     | 
    
         
            +
              name: hpricot
         
     | 
| 
      
 22 
     | 
    
         
            +
              prerelease: false
         
     | 
| 
      
 23 
     | 
    
         
            +
              requirement: &id001 !ruby/object:Gem::Requirement 
         
     | 
| 
      
 24 
     | 
    
         
            +
                none: false
         
     | 
| 
      
 25 
     | 
    
         
            +
                requirements: 
         
     | 
| 
      
 26 
     | 
    
         
            +
                - - ">="
         
     | 
| 
      
 27 
     | 
    
         
            +
                  - !ruby/object:Gem::Version 
         
     | 
| 
      
 28 
     | 
    
         
            +
                    segments: 
         
     | 
| 
      
 29 
     | 
    
         
            +
                    - 0
         
     | 
| 
      
 30 
     | 
    
         
            +
                    version: "0"
         
     | 
| 
      
 31 
     | 
    
         
            +
              type: :runtime
         
     | 
| 
      
 32 
     | 
    
         
            +
              version_requirements: *id001
         
     | 
| 
      
 33 
     | 
    
         
            +
            - !ruby/object:Gem::Dependency 
         
     | 
| 
      
 34 
     | 
    
         
            +
              name: iconv
         
     | 
| 
      
 35 
     | 
    
         
            +
              prerelease: false
         
     | 
| 
      
 36 
     | 
    
         
            +
              requirement: &id002 !ruby/object:Gem::Requirement 
         
     | 
| 
      
 37 
     | 
    
         
            +
                none: false
         
     | 
| 
      
 38 
     | 
    
         
            +
                requirements: 
         
     | 
| 
      
 39 
     | 
    
         
            +
                - - ">="
         
     | 
| 
      
 40 
     | 
    
         
            +
                  - !ruby/object:Gem::Version 
         
     | 
| 
      
 41 
     | 
    
         
            +
                    segments: 
         
     | 
| 
      
 42 
     | 
    
         
            +
                    - 0
         
     | 
| 
      
 43 
     | 
    
         
            +
                    version: "0"
         
     | 
| 
      
 44 
     | 
    
         
            +
              type: :runtime
         
     | 
| 
      
 45 
     | 
    
         
            +
              version_requirements: *id002
         
     | 
| 
      
 46 
     | 
    
         
            +
            - !ruby/object:Gem::Dependency 
         
     | 
| 
      
 47 
     | 
    
         
            +
              name: ruby-hmac
         
     | 
| 
      
 48 
     | 
    
         
            +
              prerelease: false
         
     | 
| 
      
 49 
     | 
    
         
            +
              requirement: &id003 !ruby/object:Gem::Requirement 
         
     | 
| 
      
 50 
     | 
    
         
            +
                none: false
         
     | 
| 
      
 51 
     | 
    
         
            +
                requirements: 
         
     | 
| 
      
 52 
     | 
    
         
            +
                - - ">="
         
     | 
| 
      
 53 
     | 
    
         
            +
                  - !ruby/object:Gem::Version 
         
     | 
| 
      
 54 
     | 
    
         
            +
                    segments: 
         
     | 
| 
      
 55 
     | 
    
         
            +
                    - 0
         
     | 
| 
      
 56 
     | 
    
         
            +
                    version: "0"
         
     | 
| 
      
 57 
     | 
    
         
            +
              type: :runtime
         
     | 
| 
      
 58 
     | 
    
         
            +
              version_requirements: *id003
         
     | 
| 
      
 59 
     | 
    
         
            +
            description: Use cryptkeeper to talk to Google Storage
         
     | 
| 
       22 
60 
     | 
    
         
             
            email: adammede@gmail.com
         
     | 
| 
       23 
61 
     | 
    
         
             
            executables: []
         
     | 
| 
       24 
62 
     | 
    
         | 
| 
         @@ -26,25 +64,21 @@ extensions: [] 
     | 
|
| 
       26 
64 
     | 
    
         | 
| 
       27 
65 
     | 
    
         
             
            extra_rdoc_files: 
         
     | 
| 
       28 
66 
     | 
    
         
             
            - README.rdoc
         
     | 
| 
       29 
     | 
    
         
            -
            - lib/crypt_keeper.rb
         
     | 
| 
       30 
67 
     | 
    
         
             
            files: 
         
     | 
| 
      
 68 
     | 
    
         
            +
            - CHANGELOG
         
     | 
| 
       31 
69 
     | 
    
         
             
            - README.rdoc
         
     | 
| 
       32 
70 
     | 
    
         
             
            - Rakefile
         
     | 
| 
       33 
     | 
    
         
            -
            - lib/crypt_keeper.rb
         
     | 
| 
       34 
     | 
    
         
            -
            - Manifest
         
     | 
| 
       35 
71 
     | 
    
         
             
            - cryptkeeper.gemspec
         
     | 
| 
      
 72 
     | 
    
         
            +
            - lib/buckets.rb
         
     | 
| 
      
 73 
     | 
    
         
            +
            - lib/crypt_keeper.rb
         
     | 
| 
      
 74 
     | 
    
         
            +
            - lib/objects.rb
         
     | 
| 
       36 
75 
     | 
    
         
             
            has_rdoc: true
         
     | 
| 
       37 
76 
     | 
    
         
             
            homepage: http://github.com/adamthedeveloper/cryptkeeper
         
     | 
| 
       38 
77 
     | 
    
         
             
            licenses: []
         
     | 
| 
       39 
78 
     | 
    
         | 
| 
       40 
79 
     | 
    
         
             
            post_install_message: 
         
     | 
| 
       41 
     | 
    
         
            -
            rdoc_options: 
         
     | 
| 
       42 
     | 
    
         
            -
             
     | 
| 
       43 
     | 
    
         
            -
            - --inline-source
         
     | 
| 
       44 
     | 
    
         
            -
            - --title
         
     | 
| 
       45 
     | 
    
         
            -
            - Cryptkeeper
         
     | 
| 
       46 
     | 
    
         
            -
            - --main
         
     | 
| 
       47 
     | 
    
         
            -
            - README.rdoc
         
     | 
| 
      
 80 
     | 
    
         
            +
            rdoc_options: []
         
     | 
| 
      
 81 
     | 
    
         
            +
             
     | 
| 
       48 
82 
     | 
    
         
             
            require_paths: 
         
     | 
| 
       49 
83 
     | 
    
         
             
            - lib
         
     | 
| 
       50 
84 
     | 
    
         
             
            required_ruby_version: !ruby/object:Gem::Requirement 
         
     | 
| 
         @@ -61,15 +95,14 @@ required_rubygems_version: !ruby/object:Gem::Requirement 
     | 
|
| 
       61 
95 
     | 
    
         
             
              - - ">="
         
     | 
| 
       62 
96 
     | 
    
         
             
                - !ruby/object:Gem::Version 
         
     | 
| 
       63 
97 
     | 
    
         
             
                  segments: 
         
     | 
| 
       64 
     | 
    
         
            -
                  -  
     | 
| 
       65 
     | 
    
         
            -
                   
     | 
| 
       66 
     | 
    
         
            -
                  version: "1.2"
         
     | 
| 
      
 98 
     | 
    
         
            +
                  - 0
         
     | 
| 
      
 99 
     | 
    
         
            +
                  version: "0"
         
     | 
| 
       67 
100 
     | 
    
         
             
            requirements: []
         
     | 
| 
       68 
101 
     | 
    
         | 
| 
       69 
     | 
    
         
            -
            rubyforge_project:  
     | 
| 
      
 102 
     | 
    
         
            +
            rubyforge_project: 
         
     | 
| 
       70 
103 
     | 
    
         
             
            rubygems_version: 1.3.7
         
     | 
| 
       71 
104 
     | 
    
         
             
            signing_key: 
         
     | 
| 
       72 
105 
     | 
    
         
             
            specification_version: 3
         
     | 
| 
       73 
     | 
    
         
            -
            summary:  
     | 
| 
      
 106 
     | 
    
         
            +
            summary: Google Storage Connector
         
     | 
| 
       74 
107 
     | 
    
         
             
            test_files: []
         
     | 
| 
       75 
108 
     | 
    
         | 
    
        data/Manifest
    DELETED