content_caching 0.1.1 → 0.2.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/.ruby-version +1 -0
- data/.travis.yml +1 -2
- data/CHANGELOG.md +11 -0
- data/UPGRADE.md +1 -0
- data/content_caching.gemspec +6 -5
- data/lib/content_caching/adapters/aws.rb +16 -18
- data/lib/content_caching/adapters/aws_adapter.rb +0 -1
- data/lib/content_caching/adapters/fs_adapter.rb +0 -1
- data/lib/content_caching/version.rb +1 -1
- data/spec/content_caching_spec.rb +0 -1
- metadata +30 -14
    
        checksums.yaml
    CHANGED
    
    | @@ -1,7 +1,7 @@ | |
| 1 1 | 
             
            ---
         | 
| 2 2 | 
             
            SHA1:
         | 
| 3 | 
            -
              metadata.gz:  | 
| 4 | 
            -
              data.tar.gz:  | 
| 3 | 
            +
              metadata.gz: a36bd6b06053f12e231871a8c057559441c3f3e4
         | 
| 4 | 
            +
              data.tar.gz: c685675c7ec7574ba9de79f29904049d69955715
         | 
| 5 5 | 
             
            SHA512:
         | 
| 6 | 
            -
              metadata.gz:  | 
| 7 | 
            -
              data.tar.gz:  | 
| 6 | 
            +
              metadata.gz: b2dd9092d8e7743c54cfbae415bb32bb314a082561a55d67586abcb47b14149d5d9009eb7d9aef2f1404e20992c423e11cc8122bf486218aa0783f0b5ea64703
         | 
| 7 | 
            +
              data.tar.gz: a5bc7d09c79ef0b887f11226e965a5b104ac27dbb29e3951d9eb1aa065a1eb6bcb8a781cb5ec56190e3118902f36fad98ccc33935d9a79236dba0645b2c14bd9
         | 
    
        data/.ruby-version
    ADDED
    
    | @@ -0,0 +1 @@ | |
| 1 | 
            +
            2.2.3
         | 
    
        data/.travis.yml
    CHANGED
    
    
    
        data/CHANGELOG.md
    CHANGED
    
    
    
        data/UPGRADE.md
    ADDED
    
    | @@ -0,0 +1 @@ | |
| 1 | 
            +
            # Upgrading
         | 
    
        data/content_caching.gemspec
    CHANGED
    
    | @@ -15,12 +15,13 @@ Gem::Specification.new do |spec| | |
| 15 15 | 
             
              spec.test_files    = spec.files.grep(%r{^(test|spec|features)/})
         | 
| 16 16 | 
             
              spec.require_paths = ['lib']
         | 
| 17 17 |  | 
| 18 | 
            -
              spec.add_development_dependency 'bundler', '> 1. | 
| 19 | 
            -
              spec.add_development_dependency 'rake',    '~> 10. | 
| 20 | 
            -
              spec.add_development_dependency 'rspec',   '~>  | 
| 21 | 
            -
              spec.add_development_dependency 'webmock', '~> 1. | 
| 18 | 
            +
              spec.add_development_dependency 'bundler', '> 1.0'
         | 
| 19 | 
            +
              spec.add_development_dependency 'rake',    '~> 10.4'
         | 
| 20 | 
            +
              spec.add_development_dependency 'rspec',   '~> 3.3'
         | 
| 21 | 
            +
              spec.add_development_dependency 'webmock', '~> 1.21'
         | 
| 22 22 | 
             
              spec.add_development_dependency 'vcr',     '~> 2.9'
         | 
| 23 23 | 
             
              spec.add_development_dependency 'right_http_connection', '~> 1.4'
         | 
| 24 24 |  | 
| 25 | 
            -
              spec.add_dependency 'aws', '~> 2. | 
| 25 | 
            +
              spec.add_dependency 'aws-sdk-resources', '~> 2.1'
         | 
| 26 | 
            +
              spec.add_dependency 'retryable_block', '0.0.1'
         | 
| 26 27 | 
             
            end
         | 
| @@ -1,8 +1,9 @@ | |
| 1 | 
            -
            require 'aws'
         | 
| 1 | 
            +
            require 'aws-sdk-resources' # This lib is accessible through ::Aws...
         | 
| 2 2 |  | 
| 3 3 | 
             
            module ContentCaching
         | 
| 4 4 | 
             
              module Adapter
         | 
| 5 5 | 
             
                class Aws
         | 
| 6 | 
            +
                  include RetryableBlock
         | 
| 6 7 |  | 
| 7 8 | 
             
                  T_1_DAY = 86400.freeze
         | 
| 8 9 |  | 
| @@ -13,39 +14,36 @@ module ContentCaching | |
| 13 14 | 
             
                  end
         | 
| 14 15 |  | 
| 15 16 | 
             
                  def store document_path, content
         | 
| 16 | 
            -
                     | 
| 17 | 
            +
                    retryable(3) do
         | 
| 17 18 | 
             
                      content.rewind if content.respond_to?(:rewind)
         | 
| 18 | 
            -
                       | 
| 19 | 
            -
                        (content.respond_to?(:read) ? content.read : content)
         | 
| 19 | 
            +
                      bucket.put_object key: document_path,
         | 
| 20 | 
            +
                        body: (content.respond_to?(:read) ? content.read : content)
         | 
| 20 21 | 
             
                    end
         | 
| 21 22 | 
             
                  end
         | 
| 22 23 |  | 
| 23 24 | 
             
                  def url document_path
         | 
| 24 | 
            -
                     | 
| 25 | 
            +
                    bucket.object(document_path).presigned_url :get, expires_in: T_1_DAY
         | 
| 25 26 | 
             
                  end
         | 
| 26 27 |  | 
| 27 28 | 
             
                  def delete document_path
         | 
| 28 | 
            -
                     | 
| 29 | 
            -
                       | 
| 29 | 
            +
                    retryable(3) do
         | 
| 30 | 
            +
                      bucket.object(document_path).delete
         | 
| 30 31 | 
             
                    end
         | 
| 31 32 | 
             
                  end
         | 
| 32 33 |  | 
| 33 34 | 
             
                  private
         | 
| 34 35 |  | 
| 35 | 
            -
                  def  | 
| 36 | 
            -
                     | 
| 37 | 
            -
             | 
| 36 | 
            +
                  def bucket
         | 
| 37 | 
            +
                    ::Aws::S3::Resource.new(
         | 
| 38 | 
            +
                      credentials: aws_credentials,
         | 
| 39 | 
            +
                      region: self.options[:region]
         | 
| 40 | 
            +
                    ).bucket self.options[:directory]
         | 
| 38 41 | 
             
                  end
         | 
| 39 42 |  | 
| 40 | 
            -
                  def  | 
| 41 | 
            -
             | 
| 42 | 
            -
             | 
| 43 | 
            -
                      yield
         | 
| 44 | 
            -
                    rescue
         | 
| 45 | 
            -
                      (tries += 1) <3 ? retry : raise
         | 
| 46 | 
            -
                    end
         | 
| 43 | 
            +
                  def aws_credentials
         | 
| 44 | 
            +
                   :: Aws::Credentials.new self.options[:aws_access_key_id],
         | 
| 45 | 
            +
                                         self.options[:aws_secret_access_key]
         | 
| 47 46 | 
             
                  end
         | 
| 48 | 
            -
             | 
| 49 47 | 
             
                end
         | 
| 50 48 | 
             
              end
         | 
| 51 49 | 
             
            end
         | 
    
        metadata
    CHANGED
    
    | @@ -1,14 +1,14 @@ | |
| 1 1 | 
             
            --- !ruby/object:Gem::Specification
         | 
| 2 2 | 
             
            name: content_caching
         | 
| 3 3 | 
             
            version: !ruby/object:Gem::Version
         | 
| 4 | 
            -
              version: 0. | 
| 4 | 
            +
              version: 0.2.0
         | 
| 5 5 | 
             
            platform: ruby
         | 
| 6 6 | 
             
            authors:
         | 
| 7 7 | 
             
            - Joel AZEMAR
         | 
| 8 8 | 
             
            autorequire: 
         | 
| 9 9 | 
             
            bindir: bin
         | 
| 10 10 | 
             
            cert_chain: []
         | 
| 11 | 
            -
            date:  | 
| 11 | 
            +
            date: 2015-09-30 00:00:00.000000000 Z
         | 
| 12 12 | 
             
            dependencies:
         | 
| 13 13 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 14 14 | 
             
              name: bundler
         | 
| @@ -16,56 +16,56 @@ dependencies: | |
| 16 16 | 
             
                requirements:
         | 
| 17 17 | 
             
                - - ">"
         | 
| 18 18 | 
             
                  - !ruby/object:Gem::Version
         | 
| 19 | 
            -
                    version: '1. | 
| 19 | 
            +
                    version: '1.0'
         | 
| 20 20 | 
             
              type: :development
         | 
| 21 21 | 
             
              prerelease: false
         | 
| 22 22 | 
             
              version_requirements: !ruby/object:Gem::Requirement
         | 
| 23 23 | 
             
                requirements:
         | 
| 24 24 | 
             
                - - ">"
         | 
| 25 25 | 
             
                  - !ruby/object:Gem::Version
         | 
| 26 | 
            -
                    version: '1. | 
| 26 | 
            +
                    version: '1.0'
         | 
| 27 27 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 28 28 | 
             
              name: rake
         | 
| 29 29 | 
             
              requirement: !ruby/object:Gem::Requirement
         | 
| 30 30 | 
             
                requirements:
         | 
| 31 31 | 
             
                - - "~>"
         | 
| 32 32 | 
             
                  - !ruby/object:Gem::Version
         | 
| 33 | 
            -
                    version: '10. | 
| 33 | 
            +
                    version: '10.4'
         | 
| 34 34 | 
             
              type: :development
         | 
| 35 35 | 
             
              prerelease: false
         | 
| 36 36 | 
             
              version_requirements: !ruby/object:Gem::Requirement
         | 
| 37 37 | 
             
                requirements:
         | 
| 38 38 | 
             
                - - "~>"
         | 
| 39 39 | 
             
                  - !ruby/object:Gem::Version
         | 
| 40 | 
            -
                    version: '10. | 
| 40 | 
            +
                    version: '10.4'
         | 
| 41 41 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 42 42 | 
             
              name: rspec
         | 
| 43 43 | 
             
              requirement: !ruby/object:Gem::Requirement
         | 
| 44 44 | 
             
                requirements:
         | 
| 45 45 | 
             
                - - "~>"
         | 
| 46 46 | 
             
                  - !ruby/object:Gem::Version
         | 
| 47 | 
            -
                    version: ' | 
| 47 | 
            +
                    version: '3.3'
         | 
| 48 48 | 
             
              type: :development
         | 
| 49 49 | 
             
              prerelease: false
         | 
| 50 50 | 
             
              version_requirements: !ruby/object:Gem::Requirement
         | 
| 51 51 | 
             
                requirements:
         | 
| 52 52 | 
             
                - - "~>"
         | 
| 53 53 | 
             
                  - !ruby/object:Gem::Version
         | 
| 54 | 
            -
                    version: ' | 
| 54 | 
            +
                    version: '3.3'
         | 
| 55 55 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 56 56 | 
             
              name: webmock
         | 
| 57 57 | 
             
              requirement: !ruby/object:Gem::Requirement
         | 
| 58 58 | 
             
                requirements:
         | 
| 59 59 | 
             
                - - "~>"
         | 
| 60 60 | 
             
                  - !ruby/object:Gem::Version
         | 
| 61 | 
            -
                    version: '1. | 
| 61 | 
            +
                    version: '1.21'
         | 
| 62 62 | 
             
              type: :development
         | 
| 63 63 | 
             
              prerelease: false
         | 
| 64 64 | 
             
              version_requirements: !ruby/object:Gem::Requirement
         | 
| 65 65 | 
             
                requirements:
         | 
| 66 66 | 
             
                - - "~>"
         | 
| 67 67 | 
             
                  - !ruby/object:Gem::Version
         | 
| 68 | 
            -
                    version: '1. | 
| 68 | 
            +
                    version: '1.21'
         | 
| 69 69 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 70 70 | 
             
              name: vcr
         | 
| 71 71 | 
             
              requirement: !ruby/object:Gem::Requirement
         | 
| @@ -95,19 +95,33 @@ dependencies: | |
| 95 95 | 
             
                  - !ruby/object:Gem::Version
         | 
| 96 96 | 
             
                    version: '1.4'
         | 
| 97 97 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 98 | 
            -
              name: aws
         | 
| 98 | 
            +
              name: aws-sdk-resources
         | 
| 99 99 | 
             
              requirement: !ruby/object:Gem::Requirement
         | 
| 100 100 | 
             
                requirements:
         | 
| 101 101 | 
             
                - - "~>"
         | 
| 102 102 | 
             
                  - !ruby/object:Gem::Version
         | 
| 103 | 
            -
                    version: '2. | 
| 103 | 
            +
                    version: '2.1'
         | 
| 104 104 | 
             
              type: :runtime
         | 
| 105 105 | 
             
              prerelease: false
         | 
| 106 106 | 
             
              version_requirements: !ruby/object:Gem::Requirement
         | 
| 107 107 | 
             
                requirements:
         | 
| 108 108 | 
             
                - - "~>"
         | 
| 109 109 | 
             
                  - !ruby/object:Gem::Version
         | 
| 110 | 
            -
                    version: '2. | 
| 110 | 
            +
                    version: '2.1'
         | 
| 111 | 
            +
            - !ruby/object:Gem::Dependency
         | 
| 112 | 
            +
              name: retryable_block
         | 
| 113 | 
            +
              requirement: !ruby/object:Gem::Requirement
         | 
| 114 | 
            +
                requirements:
         | 
| 115 | 
            +
                - - '='
         | 
| 116 | 
            +
                  - !ruby/object:Gem::Version
         | 
| 117 | 
            +
                    version: 0.0.1
         | 
| 118 | 
            +
              type: :runtime
         | 
| 119 | 
            +
              prerelease: false
         | 
| 120 | 
            +
              version_requirements: !ruby/object:Gem::Requirement
         | 
| 121 | 
            +
                requirements:
         | 
| 122 | 
            +
                - - '='
         | 
| 123 | 
            +
                  - !ruby/object:Gem::Version
         | 
| 124 | 
            +
                    version: 0.0.1
         | 
| 111 125 | 
             
            description: Library for help and speed up views render manipulation based on aws
         | 
| 112 126 | 
             
              and local storage
         | 
| 113 127 | 
             
            email:
         | 
| @@ -119,12 +133,14 @@ files: | |
| 119 133 | 
             
            - ".coveralls.yml"
         | 
| 120 134 | 
             
            - ".gitignore"
         | 
| 121 135 | 
             
            - ".rspec"
         | 
| 136 | 
            +
            - ".ruby-version"
         | 
| 122 137 | 
             
            - ".travis.yml"
         | 
| 123 138 | 
             
            - CHANGELOG.md
         | 
| 124 139 | 
             
            - Gemfile
         | 
| 125 140 | 
             
            - LICENSE.txt
         | 
| 126 141 | 
             
            - README.md
         | 
| 127 142 | 
             
            - Rakefile
         | 
| 143 | 
            +
            - UPGRADE.md
         | 
| 128 144 | 
             
            - content_caching.gemspec
         | 
| 129 145 | 
             
            - lib/content_caching.rb
         | 
| 130 146 | 
             
            - lib/content_caching/adapters/abstract.rb
         | 
| @@ -163,7 +179,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement | |
| 163 179 | 
             
                  version: '0'
         | 
| 164 180 | 
             
            requirements: []
         | 
| 165 181 | 
             
            rubyforge_project: 
         | 
| 166 | 
            -
            rubygems_version: 2.4. | 
| 182 | 
            +
            rubygems_version: 2.4.5.1
         | 
| 167 183 | 
             
            signing_key: 
         | 
| 168 184 | 
             
            specification_version: 4
         | 
| 169 185 | 
             
            summary: Library for help and speed up views render manipulation
         |