miro 0.3.0 → 0.4.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/CHANGELOG.md +10 -1
- data/README.md +1 -1
- data/lib/miro.rb +1 -1
- data/lib/miro/dominant_colors.rb +5 -3
- data/lib/miro/version.rb +1 -1
- data/miro.gemspec +2 -1
- metadata +19 -5
    
        checksums.yaml
    CHANGED
    
    | @@ -1,7 +1,7 @@ | |
| 1 1 | 
             
            ---
         | 
| 2 2 | 
             
            SHA1:
         | 
| 3 | 
            -
              metadata.gz:  | 
| 4 | 
            -
              data.tar.gz:  | 
| 3 | 
            +
              metadata.gz: c5adccda17b31cfe4ffc944c691e22de53ab0f54
         | 
| 4 | 
            +
              data.tar.gz: ecb1cadaa5fb53b9bd9a5ffa32a72c277cbd447d
         | 
| 5 5 | 
             
            SHA512:
         | 
| 6 | 
            -
              metadata.gz:  | 
| 7 | 
            -
              data.tar.gz:  | 
| 6 | 
            +
              metadata.gz: dd7c0d005af2038c499d7c01da06d6f7ff5ecd2391732f2211141f0a8c29d5d4fea7932799fe2f432f806231b6f5d141b3c2cd07dca63c172b7a60e207e8b615
         | 
| 7 | 
            +
              data.tar.gz: 7a2795bc17f4d35a5a2fac3f78a881b7fb8ad329bf62bc17c3faa9b4c8bf28e2288adaaed391a998a42878dee0e33ae89b823b73507c81694b9d92d26cb03e41
         | 
    
        data/CHANGELOG.md
    CHANGED
    
    | @@ -1,9 +1,18 @@ | |
| 1 1 | 
             
            # Miro Changelog
         | 
| 2 2 |  | 
| 3 | 
            +
            ## 0.4.0
         | 
| 4 | 
            +
             | 
| 5 | 
            +
            * Enhancements
         | 
| 6 | 
            +
              * Jruby Support [#24][]
         | 
| 7 | 
            +
              * Add support for file paths with spaces in the name [#28][]
         | 
| 8 | 
            +
              * Updated README
         | 
| 9 | 
            +
             | 
| 3 10 | 
             
            ## 0.3.0
         | 
| 4 11 |  | 
| 5 12 | 
             
            * Enhancements
         | 
| 6 13 | 
             
              * new `:histogram` option for improved performance [#19][]
         | 
| 7 14 | 
             
              * Updated README
         | 
| 8 15 |  | 
| 9 | 
            -
            [#19]: https://github.com/jonbuda/miro/pull/19
         | 
| 16 | 
            +
            [#19]: https://github.com/jonbuda/miro/pull/19
         | 
| 17 | 
            +
            [#24]: https://github.com/jonbuda/miro/pull/24
         | 
| 18 | 
            +
            [#28]: https://github.com/jonbuda/miro/pull/28
         | 
    
        data/README.md
    CHANGED
    
    | @@ -60,7 +60,7 @@ colors.to_rgb # => [[81, 51, 42], [44, 29, 24], [108, 73, 55], [101, 81, 74], [1 | |
| 60 60 | 
             
            # RGB with Alpha channels
         | 
| 61 61 | 
             
            colors.to_rgba # => [[82, 37, 40, 255], [48, 17, 19, 255], [109, 70, 71, 255], [221, 158, 48, 255], [168, 103, 48, 255], [226, 178, 79, 255], [191, 146, 65, 255], [199, 165, 150, 255]]
         | 
| 62 62 | 
             
            ```
         | 
| 63 | 
            -
            ** | 
| 63 | 
            +
            **Additional methods only available when histogram method is enabled**
         | 
| 64 64 |  | 
| 65 65 | 
             
            ```ruby
         | 
| 66 66 | 
             
            # HSL
         | 
    
        data/lib/miro.rb
    CHANGED
    
    | @@ -1,9 +1,9 @@ | |
| 1 1 | 
             
            require "miro/version"
         | 
| 2 | 
            -
            require "oily_png"
         | 
| 3 2 | 
             
            require "cocaine"
         | 
| 4 3 | 
             
            require "color"
         | 
| 5 4 | 
             
            require "tempfile"
         | 
| 6 5 | 
             
            require "open-uri"
         | 
| 6 | 
            +
            require png_lib = (RUBY_ENGINE != "jruby" ? "oily_png" : "chunky_png") # Load the C extension oily_png unless jruby is the platform in use.
         | 
| 7 7 |  | 
| 8 8 | 
             
            require "miro/dominant_colors"
         | 
| 9 9 |  | 
    
        data/lib/miro/dominant_colors.rb
    CHANGED
    
    | @@ -1,3 +1,5 @@ | |
| 1 | 
            +
            require 'shellwords'
         | 
| 2 | 
            +
             | 
| 1 3 | 
             
            module Miro
         | 
| 2 4 | 
             
              class DominantColors
         | 
| 3 5 | 
             
                attr_accessor :src_image_path
         | 
| @@ -46,14 +48,14 @@ module Miro | |
| 46 48 | 
             
                end
         | 
| 47 49 |  | 
| 48 50 | 
             
                def histogram
         | 
| 49 | 
            -
                  @histogram  | 
| 51 | 
            +
                  @histogram ||= downsample_and_histogram.sort_by { |item| item[0]  }.reverse
         | 
| 50 52 | 
             
                end
         | 
| 51 53 | 
             
              private
         | 
| 52 54 |  | 
| 53 55 | 
             
                def downsample_and_histogram
         | 
| 54 56 | 
             
                  @source_image = open_source_image
         | 
| 55 57 | 
             
                  hstring = Cocaine::CommandLine.new(Miro.options[:image_magick_path], image_magick_params).
         | 
| 56 | 
            -
                    run(:in => File.expand_path(@source_image.path),
         | 
| 58 | 
            +
                    run(:in => Shellwords.escape(File.expand_path(@source_image.path)),
         | 
| 57 59 | 
             
                        :resolution => Miro.options[:resolution],
         | 
| 58 60 | 
             
                        :colors => Miro.options[:color_count].to_s,
         | 
| 59 61 | 
             
                        :quantize => Miro.options[:quantize])
         | 
| @@ -63,7 +65,7 @@ module Miro | |
| 63 65 |  | 
| 64 66 | 
             
                def parse_result(hstring)
         | 
| 65 67 | 
             
                  hstring.scan(/(\d*):.*(#[0-9A-Fa-f]*)/).collect do |match|
         | 
| 66 | 
            -
                    [match[0].to_i,  | 
| 68 | 
            +
                    [match[0].to_i, eval("Color::#{Miro.options[:quantize].upcase}").from_html(match[1])]
         | 
| 67 69 | 
             
                  end
         | 
| 68 70 | 
             
                end
         | 
| 69 71 |  | 
    
        data/lib/miro/version.rb
    CHANGED
    
    
    
        data/miro.gemspec
    CHANGED
    
    | @@ -11,8 +11,9 @@ Gem::Specification.new do |gem| | |
| 11 11 | 
             
              gem.requirements  = 'ImageMagick'
         | 
| 12 12 |  | 
| 13 13 | 
             
              gem.add_dependency "cocaine"
         | 
| 14 | 
            -
              gem.add_dependency "oily_png"
         | 
| 15 14 | 
             
              gem.add_dependency "color"
         | 
| 15 | 
            +
              gem.add_dependency "chunky_png"
         | 
| 16 | 
            +
              gem.add_dependency "oily_png" if RUBY_ENGINE != "jruby"
         | 
| 16 17 |  | 
| 17 18 | 
             
              gem.add_development_dependency "rspec"
         | 
| 18 19 | 
             
              gem.add_development_dependency "fakeweb"
         | 
    
        metadata
    CHANGED
    
    | @@ -1,14 +1,14 @@ | |
| 1 1 | 
             
            --- !ruby/object:Gem::Specification
         | 
| 2 2 | 
             
            name: miro
         | 
| 3 3 | 
             
            version: !ruby/object:Gem::Version
         | 
| 4 | 
            -
              version: 0. | 
| 4 | 
            +
              version: 0.4.0
         | 
| 5 5 | 
             
            platform: ruby
         | 
| 6 6 | 
             
            authors:
         | 
| 7 7 | 
             
            - Jon Buda
         | 
| 8 8 | 
             
            autorequire: 
         | 
| 9 9 | 
             
            bindir: bin
         | 
| 10 10 | 
             
            cert_chain: []
         | 
| 11 | 
            -
            date:  | 
| 11 | 
            +
            date: 2016-03-24 00:00:00.000000000 Z
         | 
| 12 12 | 
             
            dependencies:
         | 
| 13 13 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 14 14 | 
             
              name: cocaine
         | 
| @@ -25,7 +25,7 @@ dependencies: | |
| 25 25 | 
             
                  - !ruby/object:Gem::Version
         | 
| 26 26 | 
             
                    version: '0'
         | 
| 27 27 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 28 | 
            -
              name:  | 
| 28 | 
            +
              name: color
         | 
| 29 29 | 
             
              requirement: !ruby/object:Gem::Requirement
         | 
| 30 30 | 
             
                requirements:
         | 
| 31 31 | 
             
                - - ">="
         | 
| @@ -39,7 +39,21 @@ dependencies: | |
| 39 39 | 
             
                  - !ruby/object:Gem::Version
         | 
| 40 40 | 
             
                    version: '0'
         | 
| 41 41 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 42 | 
            -
              name:  | 
| 42 | 
            +
              name: chunky_png
         | 
| 43 | 
            +
              requirement: !ruby/object:Gem::Requirement
         | 
| 44 | 
            +
                requirements:
         | 
| 45 | 
            +
                - - ">="
         | 
| 46 | 
            +
                  - !ruby/object:Gem::Version
         | 
| 47 | 
            +
                    version: '0'
         | 
| 48 | 
            +
              type: :runtime
         | 
| 49 | 
            +
              prerelease: false
         | 
| 50 | 
            +
              version_requirements: !ruby/object:Gem::Requirement
         | 
| 51 | 
            +
                requirements:
         | 
| 52 | 
            +
                - - ">="
         | 
| 53 | 
            +
                  - !ruby/object:Gem::Version
         | 
| 54 | 
            +
                    version: '0'
         | 
| 55 | 
            +
            - !ruby/object:Gem::Dependency
         | 
| 56 | 
            +
              name: oily_png
         | 
| 43 57 | 
             
              requirement: !ruby/object:Gem::Requirement
         | 
| 44 58 | 
             
                requirements:
         | 
| 45 59 | 
             
                - - ">="
         | 
| @@ -123,7 +137,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement | |
| 123 137 | 
             
            requirements:
         | 
| 124 138 | 
             
            - ImageMagick
         | 
| 125 139 | 
             
            rubyforge_project: 
         | 
| 126 | 
            -
            rubygems_version: 2. | 
| 140 | 
            +
            rubygems_version: 2.4.5.1
         | 
| 127 141 | 
             
            signing_key: 
         | 
| 128 142 | 
             
            specification_version: 4
         | 
| 129 143 | 
             
            summary: Extract the dominant colors from an image.
         |