shutterbug 0.5.0 → 0.5.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.
- checksums.yaml +8 -8
- data/config.ru +1 -0
- data/lib/shutterbug.rb +1 -1
- data/lib/shutterbug/configuration.rb +2 -0
- data/lib/shutterbug/handlers/direct_upload_handler.rb +23 -10
- data/shutterbug.gemspec +2 -2
- metadata +4 -2
    
        checksums.yaml
    CHANGED
    
    | @@ -1,15 +1,15 @@ | |
| 1 1 | 
             
            ---
         | 
| 2 2 | 
             
            !binary "U0hBMQ==":
         | 
| 3 3 | 
             
              metadata.gz: !binary |-
         | 
| 4 | 
            -
                 | 
| 4 | 
            +
                Yjg4MjkzMTJhYzExYTVjMWRlMjA3NjJlMzZkOGQwNTRlNGQ1OWVkYg==
         | 
| 5 5 | 
             
              data.tar.gz: !binary |-
         | 
| 6 | 
            -
                 | 
| 6 | 
            +
                NDYwOGE0ZTM2ZDllOTU4MDVlMTg5N2Y5MzhiMWRiODU3ZDZlZDQ1Ng==
         | 
| 7 7 | 
             
            SHA512:
         | 
| 8 8 | 
             
              metadata.gz: !binary |-
         | 
| 9 | 
            -
                 | 
| 10 | 
            -
                 | 
| 11 | 
            -
                 | 
| 9 | 
            +
                OTcwODhkNGNlZmVhNmY4N2ZkY2RhZWYzYzg1M2EzNWQxOTQyYjIzZjI2ZmEy
         | 
| 10 | 
            +
                N2YzMzkwNDk5ZmJlY2MxZmNiNmQ5MDJmZTI0MjgwZDRjYTk4NjU1MWFlNzM2
         | 
| 11 | 
            +
                ZjIyYjdiMDUwZjU2NDMxNDBjOWM0Y2NjOGQ1ZjJlOTNjYjQxMDU=
         | 
| 12 12 | 
             
              data.tar.gz: !binary |-
         | 
| 13 | 
            -
                 | 
| 14 | 
            -
                 | 
| 15 | 
            -
                 | 
| 13 | 
            +
                NzA5YWViZWZjOTJhZTQ0YjE5NjM3NjczMjdlM2VlOWM1OTZkYWM3Y2U3Y2Ni
         | 
| 14 | 
            +
                MTg4ZjE4ZDY2Y2UwMjg2YjU4Y2VmZjExNDE3NDRlMTAzZWEyYmI0N2JhZGNi
         | 
| 15 | 
            +
                YmExY2MyNzQ5NTFlMTk3MjAzMzI2MGI0NzAzNzA3MjYwZTVjNzg=
         | 
    
        data/config.ru
    CHANGED
    
    
    
        data/lib/shutterbug.rb
    CHANGED
    
    
| @@ -10,6 +10,7 @@ module Shutterbug | |
| 10 10 | 
             
                attr_accessor :s3_key
         | 
| 11 11 | 
             
                attr_accessor :s3_secret
         | 
| 12 12 | 
             
                attr_accessor :cache_manager
         | 
| 13 | 
            +
                attr_accessor :skip_direct_upload
         | 
| 13 14 |  | 
| 14 15 | 
             
                def self.instance(opts={})
         | 
| 15 16 | 
             
                  return @instance || @instance = self.new(opts)
         | 
| @@ -24,6 +25,7 @@ module Shutterbug | |
| 24 25 | 
             
                  self.s3_key           = opts[:s3_key]
         | 
| 25 26 | 
             
                  self.s3_secret        = opts[:s3_secret]
         | 
| 26 27 | 
             
                  self.cache_manager    = opts[:cache_manager]    || Shutterbug::CacheManager::NoCache.new
         | 
| 28 | 
            +
                  self.skip_direct_upload = opts[:skip_direct_upload]
         | 
| 27 29 | 
             
                end
         | 
| 28 30 |  | 
| 29 31 | 
             
                def fs_path_for(filename)
         | 
| @@ -6,6 +6,12 @@ module Shutterbug | |
| 6 6 | 
             
              module Handlers
         | 
| 7 7 | 
             
                class DirectUploadHandler
         | 
| 8 8 |  | 
| 9 | 
            +
                  def skip_direct_upload
         | 
| 10 | 
            +
                    return true if Configuration.instance.skip_direct_upload
         | 
| 11 | 
            +
                    return true unless Configuration.instance.use_s3?
         | 
| 12 | 
            +
                    return false
         | 
| 13 | 
            +
                  end
         | 
| 14 | 
            +
             | 
| 9 15 | 
             
                  def self.regex
         | 
| 10 16 | 
             
                    /#{Configuration.instance.path_prefix}\/img_upload_url/
         | 
| 11 17 | 
             
                  end
         | 
| @@ -13,17 +19,24 @@ module Shutterbug | |
| 13 19 | 
             
                  # Returns put_url and get_url for a new file that should be uploaded by the client.
         | 
| 14 20 | 
             
                  # Of course get_url will work after file is uploaded.
         | 
| 15 21 | 
             
                  def handle(helper, req, env)
         | 
| 16 | 
            -
                     | 
| 17 | 
            -
             | 
| 18 | 
            -
                     | 
| 19 | 
            -
             | 
| 20 | 
            -
             | 
| 21 | 
            -
                       | 
| 22 | 
            +
                    if skip_direct_upload
         | 
| 23 | 
            +
                      not_available_response(helper)
         | 
| 24 | 
            +
                    else
         | 
| 25 | 
            +
                      format = req.GET()['format'] || 'png'
         | 
| 26 | 
            +
                      object_name = "img-#{SecureRandom.uuid}.#{format}"
         | 
| 27 | 
            +
                      storage = Configuration.instance.storage
         | 
| 28 | 
            +
                      unless storage.respond_to? :put_url
         | 
| 29 | 
            +
                        not_available_response(helper)
         | 
| 30 | 
            +
                      end
         | 
| 31 | 
            +
                      helper.response({
         | 
| 32 | 
            +
                        put_url: storage.put_url(object_name),
         | 
| 33 | 
            +
                        get_url: storage.get_url(object_name),
         | 
| 34 | 
            +
                      }.to_json, 'application/json')
         | 
| 22 35 | 
             
                    end
         | 
| 23 | 
            -
             | 
| 24 | 
            -
             | 
| 25 | 
            -
             | 
| 26 | 
            -
                     | 
| 36 | 
            +
                  end
         | 
| 37 | 
            +
             | 
| 38 | 
            +
                  def not_available_response(helper)
         | 
| 39 | 
            +
                    return helper.response('direct upload not available', 'text/plain', 400)
         | 
| 27 40 | 
             
                  end
         | 
| 28 41 | 
             
                end
         | 
| 29 42 | 
             
              end
         | 
    
        data/shutterbug.gemspec
    CHANGED
    
    | @@ -6,8 +6,8 @@ require 'shutterbug' | |
| 6 6 | 
             
            Gem::Specification.new do |spec|
         | 
| 7 7 | 
             
              spec.name          = "shutterbug"
         | 
| 8 8 | 
             
              spec.version       = Shutterbug::VERSION
         | 
| 9 | 
            -
              spec.authors       = ["Noah Paessel"]
         | 
| 10 | 
            -
              spec.email         = ["knowuh@gmail.com"]
         | 
| 9 | 
            +
              spec.authors       = ["Noah Paessel", "Piotr Janik"]
         | 
| 10 | 
            +
              spec.email         = ["knowuh@gmail.com","janikpiotrek@gmail.com"]
         | 
| 11 11 |  | 
| 12 12 | 
             
              spec.description   = %q{
         | 
| 13 13 | 
             
                A rack utility that will create and save images (pngs)
         | 
    
        metadata
    CHANGED
    
    | @@ -1,14 +1,15 @@ | |
| 1 1 | 
             
            --- !ruby/object:Gem::Specification
         | 
| 2 2 | 
             
            name: shutterbug
         | 
| 3 3 | 
             
            version: !ruby/object:Gem::Version
         | 
| 4 | 
            -
              version: 0.5. | 
| 4 | 
            +
              version: 0.5.1
         | 
| 5 5 | 
             
            platform: ruby
         | 
| 6 6 | 
             
            authors:
         | 
| 7 7 | 
             
            - Noah Paessel
         | 
| 8 | 
            +
            - Piotr Janik
         | 
| 8 9 | 
             
            autorequire: 
         | 
| 9 10 | 
             
            bindir: bin
         | 
| 10 11 | 
             
            cert_chain: []
         | 
| 11 | 
            -
            date: 2014-12- | 
| 12 | 
            +
            date: 2014-12-12 00:00:00.000000000 Z
         | 
| 12 13 | 
             
            dependencies:
         | 
| 13 14 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 14 15 | 
             
              name: bundler
         | 
| @@ -142,6 +143,7 @@ description: ! "\n    A rack utility that will create and save images (pngs)\n | |
| 142 143 | 
             
              SVG and Canvas elements.\n  "
         | 
| 143 144 | 
             
            email:
         | 
| 144 145 | 
             
            - knowuh@gmail.com
         | 
| 146 | 
            +
            - janikpiotrek@gmail.com
         | 
| 145 147 | 
             
            executables: []
         | 
| 146 148 | 
             
            extensions: []
         | 
| 147 149 | 
             
            extra_rdoc_files: []
         |