bundle_cache 0.0.6 → 0.1.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.
- checksums.yaml +4 -4
 - data/.travis.yml +2 -8
 - data/bin/bundle_cache_install +10 -8
 - data/lib/bundle_cache.rb +1 -0
 - data/lib/bundle_cache/cache.rb +4 -2
 - data/lib/bundle_cache/install.rb +48 -0
 - data/lib/bundle_cache/version.rb +1 -1
 - metadata +3 -2
 
    
        checksums.yaml
    CHANGED
    
    | 
         @@ -1,7 +1,7 @@ 
     | 
|
| 
       1 
1 
     | 
    
         
             
            ---
         
     | 
| 
       2 
2 
     | 
    
         
             
            SHA1:
         
     | 
| 
       3 
     | 
    
         
            -
              metadata.gz:  
     | 
| 
       4 
     | 
    
         
            -
              data.tar.gz:  
     | 
| 
      
 3 
     | 
    
         
            +
              metadata.gz: 3e92f8dcab862595376767ad153f5af10f58fe03
         
     | 
| 
      
 4 
     | 
    
         
            +
              data.tar.gz: faa361107dc75562fb1e489c9de37146b46fe131
         
     | 
| 
       5 
5 
     | 
    
         
             
            SHA512:
         
     | 
| 
       6 
     | 
    
         
            -
              metadata.gz:  
     | 
| 
       7 
     | 
    
         
            -
              data.tar.gz:  
     | 
| 
      
 6 
     | 
    
         
            +
              metadata.gz: e468c600deea736947a28bd5819aa8664e9f6881648c4a780893542e075052bf3235376282f40d5cef093a40ddc3b4c9674687115a518fc64664b446546f833b
         
     | 
| 
      
 7 
     | 
    
         
            +
              data.tar.gz: 2aeea210ee39087490e759374e1a09793f41bd3d24d00fd761cc6eb9bc1f0df14088c13bf4672e11ae8979f2f0f4732640ce22a52ce970c40414b4337a658d6a
         
     | 
    
        data/.travis.yml
    CHANGED
    
    | 
         @@ -1,25 +1,19 @@ 
     | 
|
| 
       1 
     | 
    
         
            -
            ---
         
     | 
| 
       2 
1 
     | 
    
         
             
            language: ruby
         
     | 
| 
       3 
2 
     | 
    
         
             
            rvm:
         
     | 
| 
       4 
3 
     | 
    
         
             
            - 1.9.3
         
     | 
| 
       5 
4 
     | 
    
         
             
            - 2.0.0
         
     | 
| 
       6 
     | 
    
         
            -
            script: true
         
     | 
| 
       7 
5 
     | 
    
         
             
            bundler_args: --without development --path=~/.bundle
         
     | 
| 
       8 
6 
     | 
    
         
             
            before_install:
         
     | 
| 
       9 
7 
     | 
    
         
             
            - "echo 'gem: --no-ri --no-rdoc' > ~/.gemrc"
         
     | 
| 
       10 
     | 
    
         
            -
             
     | 
| 
      
 8 
     | 
    
         
            +
            script:
         
     | 
| 
       11 
9 
     | 
    
         
             
            - cd $TRAVIS_BUILD_DIR
         
     | 
| 
       12 
10 
     | 
    
         
             
            - rake build
         
     | 
| 
       13 
11 
     | 
    
         
             
            - gem install pkg/*.gem
         
     | 
| 
       14 
12 
     | 
    
         
             
            - bundle_cache_install
         
     | 
| 
       15 
     | 
    
         
            -
            script: true
         
     | 
| 
       16 
13 
     | 
    
         
             
            after_script:
         
     | 
| 
       17 
14 
     | 
    
         
             
            - bundle_cache
         
     | 
| 
       18 
15 
     | 
    
         
             
            env:
         
     | 
| 
       19 
16 
     | 
    
         
             
              global:
         
     | 
| 
       20 
17 
     | 
    
         
             
              - BUNDLE_ARCHIVE="bundle_cache_test"
         
     | 
| 
       21 
18 
     | 
    
         
             
              - AWS_S3_BUCKET="travis.data-axle.infogroup.com"
         
     | 
| 
       22 
     | 
    
         
            -
              - secure:  
     | 
| 
       23 
     | 
    
         
            -
                 etZRmvUnoJdOOU8jYuDnpWQhFLPCwGnP8cELYJU+ogrfPA3BmxeRj0qL5odK
         
     | 
| 
       24 
     | 
    
         
            -
                 NqcdSo3ff19du9sLAVIjumhbvaociGVPUrScF3KKaKTPmBnFfhtOGgN18AIB
         
     | 
| 
       25 
     | 
    
         
            -
                 398/7K4HEItFgjCOQRstLGA2G3H7vq8nAsIWMavJ6lrAZEQUJIY=
         
     | 
| 
      
 19 
     | 
    
         
            +
              - secure: OpVVRrTLeXspiOE0TMXxah7QHPZasA4n+xf9XUwTh0Tq1z6F6Ojq8kz8XvRQOS9VsWKj5Xx8gmrJbzUx2MmKbJZvKi0f19oqJiEstVVfR+ATWzTaDkfl31WUowmvX7QVh8+ejfi9bQDMj9HkAkn6p0uGWZGDZQd5Q/OyVMka/9o=
         
     | 
    
        data/bin/bundle_cache_install
    CHANGED
    
    | 
         @@ -1,12 +1,14 @@ 
     | 
|
| 
       1 
1 
     | 
    
         
             
            #!/usr/bin/env ruby
         
     | 
| 
       2 
2 
     | 
    
         | 
| 
       3 
     | 
    
         
            -
             
     | 
| 
       4 
     | 
    
         
            -
            file_name = "#{ENV['BUNDLE_ARCHIVE']}-#{architecture}.tgz"
         
     | 
| 
      
 3 
     | 
    
         
            +
            require_relative '../lib/bundle_cache'
         
     | 
| 
       5 
4 
     | 
    
         | 
| 
       6 
     | 
    
         
            -
             
     | 
| 
       7 
     | 
    
         
            -
            region   = ENV['AWS_S3_REGION'] || 'us-east-1'
         
     | 
| 
       8 
     | 
    
         
            -
            endpoint = region == 'us-east-1' ? 's3.amazonaws.com' : "s3-#{region}.amazonaws.com"
         
     | 
| 
      
 5 
     | 
    
         
            +
            required_env = %w(AWS_S3_KEY AWS_S3_SECRET AWS_S3_BUCKET BUNDLE_ARCHIVE)
         
     | 
| 
       9 
6 
     | 
    
         | 
| 
       10 
     | 
    
         
            -
             
     | 
| 
       11 
     | 
    
         
            -
             
     | 
| 
       12 
     | 
    
         
            -
             
     | 
| 
      
 7 
     | 
    
         
            +
            required_env.each do |var|
         
     | 
| 
      
 8 
     | 
    
         
            +
              unless ENV[var]
         
     | 
| 
      
 9 
     | 
    
         
            +
                puts "Missing ENV[#{var}]"
         
     | 
| 
      
 10 
     | 
    
         
            +
                exit 1
         
     | 
| 
      
 11 
     | 
    
         
            +
              end
         
     | 
| 
      
 12 
     | 
    
         
            +
            end
         
     | 
| 
      
 13 
     | 
    
         
            +
             
     | 
| 
      
 14 
     | 
    
         
            +
            BundleCache.install
         
     | 
    
        data/lib/bundle_cache.rb
    CHANGED
    
    
    
        data/lib/bundle_cache/cache.rb
    CHANGED
    
    | 
         @@ -10,6 +10,8 @@ module BundleCache 
     | 
|
| 
       10 
10 
     | 
    
         
             
                  :region => ENV["AWS_S3_REGION"] || "us-east-1"
         
     | 
| 
       11 
11 
     | 
    
         
             
                })
         
     | 
| 
       12 
12 
     | 
    
         | 
| 
      
 13 
     | 
    
         
            +
                acl_to_use = ENV["KEEP_BUNDLE_PRIVATE"] ? :private : :public_read
         
     | 
| 
      
 14 
     | 
    
         
            +
             
     | 
| 
       13 
15 
     | 
    
         
             
                bucket_name     = ENV["AWS_S3_BUCKET"]
         
     | 
| 
       14 
16 
     | 
    
         
             
                architecture    = `uname -m`.strip
         
     | 
| 
       15 
17 
     | 
    
         | 
| 
         @@ -52,7 +54,7 @@ module BundleCache 
     | 
|
| 
       52 
54 
     | 
    
         
             
                  gem_archive = bucket.objects[file_name]
         
     | 
| 
       53 
55 
     | 
    
         | 
| 
       54 
56 
     | 
    
         
             
                  puts "  => Uploading #{parts.length} parts"
         
     | 
| 
       55 
     | 
    
         
            -
                  gem_archive.multipart_upload(:acl =>  
     | 
| 
      
 57 
     | 
    
         
            +
                  gem_archive.multipart_upload(:acl => acl_to_use) do |upload|
         
     | 
| 
       56 
58 
     | 
    
         
             
                    parts.each_with_index do |part, index|
         
     | 
| 
       57 
59 
     | 
    
         
             
                      puts "    => Uploading #{part}"
         
     | 
| 
       58 
60 
     | 
    
         
             
                      File.open part do |part_file|
         
     | 
| 
         @@ -65,7 +67,7 @@ module BundleCache 
     | 
|
| 
       65 
67 
     | 
    
         | 
| 
       66 
68 
     | 
    
         
             
                  puts "=> Uploading the digest file"
         
     | 
| 
       67 
69 
     | 
    
         
             
                  hash_object = bucket.objects[digest_filename]
         
     | 
| 
       68 
     | 
    
         
            -
                  hash_object.write(bundle_digest, :acl =>  
     | 
| 
      
 70 
     | 
    
         
            +
                  hash_object.write(bundle_digest, :acl => acl_to_use, :content_type => "text/plain")
         
     | 
| 
       69 
71 
     | 
    
         
             
                end
         
     | 
| 
       70 
72 
     | 
    
         | 
| 
       71 
73 
     | 
    
         
             
                puts "All done now."
         
     | 
| 
         @@ -0,0 +1,48 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            require "digest"
         
     | 
| 
      
 2 
     | 
    
         
            +
            require "aws-sdk"
         
     | 
| 
      
 3 
     | 
    
         
            +
             
     | 
| 
      
 4 
     | 
    
         
            +
            module BundleCache
         
     | 
| 
      
 5 
     | 
    
         
            +
              def self.install
         
     | 
| 
      
 6 
     | 
    
         
            +
                architecture = `uname -m`.strip
         
     | 
| 
      
 7 
     | 
    
         
            +
                file_name = "#{ENV['BUNDLE_ARCHIVE']}-#{architecture}.tgz"
         
     | 
| 
      
 8 
     | 
    
         
            +
                digest_filename = "#{file_name}.sha2"
         
     | 
| 
      
 9 
     | 
    
         
            +
                bucket_name = ENV["AWS_S3_BUCKET"]
         
     | 
| 
      
 10 
     | 
    
         
            +
             
     | 
| 
      
 11 
     | 
    
         
            +
                AWS.config({
         
     | 
| 
      
 12 
     | 
    
         
            +
                  :access_key_id => ENV["AWS_S3_KEY"],
         
     | 
| 
      
 13 
     | 
    
         
            +
                  :secret_access_key => ENV["AWS_S3_SECRET"],
         
     | 
| 
      
 14 
     | 
    
         
            +
                  :region => ENV["AWS_S3_REGION"] || "us-east-1"
         
     | 
| 
      
 15 
     | 
    
         
            +
                })
         
     | 
| 
      
 16 
     | 
    
         
            +
                s3 = AWS::S3.new
         
     | 
| 
      
 17 
     | 
    
         
            +
                bucket = s3.buckets[bucket_name]
         
     | 
| 
      
 18 
     | 
    
         
            +
             
     | 
| 
      
 19 
     | 
    
         
            +
                gem_archive = bucket.objects[file_name]
         
     | 
| 
      
 20 
     | 
    
         
            +
                hash_object = bucket.objects[digest_filename]
         
     | 
| 
      
 21 
     | 
    
         
            +
             
     | 
| 
      
 22 
     | 
    
         
            +
                Dir.chdir(ENV['HOME'])
         
     | 
| 
      
 23 
     | 
    
         
            +
             
     | 
| 
      
 24 
     | 
    
         
            +
                puts "=> Downloading the bundle"
         
     | 
| 
      
 25 
     | 
    
         
            +
                File.open("remote_#{file_name}", 'wb') do |file|
         
     | 
| 
      
 26 
     | 
    
         
            +
                  gem_archive.read do |chunk|
         
     | 
| 
      
 27 
     | 
    
         
            +
                    file.write(chunk)
         
     | 
| 
      
 28 
     | 
    
         
            +
                  end
         
     | 
| 
      
 29 
     | 
    
         
            +
                end
         
     | 
| 
      
 30 
     | 
    
         
            +
                puts "  => Completed bundle download"
         
     | 
| 
      
 31 
     | 
    
         
            +
             
     | 
| 
      
 32 
     | 
    
         
            +
                puts "=> Extract the bundle"
         
     | 
| 
      
 33 
     | 
    
         
            +
                `tar -xf "remote_#{file_name}"`
         
     | 
| 
      
 34 
     | 
    
         
            +
             
     | 
| 
      
 35 
     | 
    
         
            +
                puts "=> Downloading the digest file"
         
     | 
| 
      
 36 
     | 
    
         
            +
                File.open("remote_#{file_name}.sha2", 'wb') do |file|
         
     | 
| 
      
 37 
     | 
    
         
            +
                  hash_object.read do |chunk|
         
     | 
| 
      
 38 
     | 
    
         
            +
                    file.write(chunk)
         
     | 
| 
      
 39 
     | 
    
         
            +
                  end
         
     | 
| 
      
 40 
     | 
    
         
            +
                end
         
     | 
| 
      
 41 
     | 
    
         
            +
                puts "  => Completed digest download"
         
     | 
| 
      
 42 
     | 
    
         
            +
             
     | 
| 
      
 43 
     | 
    
         
            +
                puts "=> All done!"
         
     | 
| 
      
 44 
     | 
    
         
            +
              rescue AWS::S3::Errors::NoSuchKey
         
     | 
| 
      
 45 
     | 
    
         
            +
                puts "There's no such archive!"
         
     | 
| 
      
 46 
     | 
    
         
            +
              end
         
     | 
| 
      
 47 
     | 
    
         
            +
             
     | 
| 
      
 48 
     | 
    
         
            +
            end
         
     | 
    
        data/lib/bundle_cache/version.rb
    CHANGED
    
    
    
        metadata
    CHANGED
    
    | 
         @@ -1,7 +1,7 @@ 
     | 
|
| 
       1 
1 
     | 
    
         
             
            --- !ruby/object:Gem::Specification
         
     | 
| 
       2 
2 
     | 
    
         
             
            name: bundle_cache
         
     | 
| 
       3 
3 
     | 
    
         
             
            version: !ruby/object:Gem::Version
         
     | 
| 
       4 
     | 
    
         
            -
              version: 0.0 
     | 
| 
      
 4 
     | 
    
         
            +
              version: 0.1.0
         
     | 
| 
       5 
5 
     | 
    
         
             
            platform: ruby
         
     | 
| 
       6 
6 
     | 
    
         
             
            authors:
         
     | 
| 
       7 
7 
     | 
    
         
             
            - Eric Barendt
         
     | 
| 
         @@ -9,7 +9,7 @@ authors: 
     | 
|
| 
       9 
9 
     | 
    
         
             
            autorequire: 
         
     | 
| 
       10 
10 
     | 
    
         
             
            bindir: bin
         
     | 
| 
       11 
11 
     | 
    
         
             
            cert_chain: []
         
     | 
| 
       12 
     | 
    
         
            -
            date: 2013-09- 
     | 
| 
      
 12 
     | 
    
         
            +
            date: 2013-09-24 00:00:00.000000000 Z
         
     | 
| 
       13 
13 
     | 
    
         
             
            dependencies:
         
     | 
| 
       14 
14 
     | 
    
         
             
            - !ruby/object:Gem::Dependency
         
     | 
| 
       15 
15 
     | 
    
         
             
              name: aws-sdk
         
     | 
| 
         @@ -87,6 +87,7 @@ files: 
     | 
|
| 
       87 
87 
     | 
    
         
             
            - bundle_cache.gemspec
         
     | 
| 
       88 
88 
     | 
    
         
             
            - lib/bundle_cache.rb
         
     | 
| 
       89 
89 
     | 
    
         
             
            - lib/bundle_cache/cache.rb
         
     | 
| 
      
 90 
     | 
    
         
            +
            - lib/bundle_cache/install.rb
         
     | 
| 
       90 
91 
     | 
    
         
             
            - lib/bundle_cache/version.rb
         
     | 
| 
       91 
92 
     | 
    
         
             
            homepage: https://github.com/data-axle/bundle_cache
         
     | 
| 
       92 
93 
     | 
    
         
             
            licenses:
         
     |