> chart = Chart.create { image_data_ui: "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFCAYAAACNbyblAAAAHElEQVQI12P4//8w38GIAXDIBKE0DHxgljNBAAO9TXL0Y4OHwAAAABJRU5ErkJggg==" }=> #<ImageUploader::UploadedFile:0x007fd49e9fbd28 @data={"id"=>"548f586e43655d60057be7cb86c2b1907d0ca6a90a75ebb45aa0e0c3d078", "storage"=>"cache", "metadata"=>{"filename"=>nil, "size"=>84, "mime_type"=>nil, "width"=>5, "height"=>5}}, @id="548f586e43655d60057be7cb86c2b1907d0ca6a90a75ebb45aa0e0c3d078", @storage_key="cache", @metadata={"filename"=>nil, "size"=>84, "mime_type"=>nil, "width"=>5, "height"=>5}, @uploader=#<ImageUploader:0x007fd49e9fbc88 @storage=#<Shrine::Storage::FileSystem:0x007fd49c486a98 @subdirectory=#<Pathname:system/uploads/cache>, @directory=#<Pathname:public/system/uploads/cache>, @host=nil, @permissions=nil, @clean=true>, @storage_key=:cache>>MiniMagick::Error: `mogrify -resize 480x270> /var/folders/sk/jybpjlz139q0wm42rg5s4lrc0000gn/T/8e85200e2c52a77c0043578d1f5dd55621ed6b5e91a54422e1bf788fea5f20151029-27423-1wmtukq` failed with error:
mogrify: IDAT: invalid distance too far back `/var/folders/sk/jybpjlz139q0wm42rg5s4lrc0000gn/T/8e85200e2c52a77c0043578d1f5dd55621ed6b5e91a54422e1bf788fea5f20151029-27423-1wmtukq' @ error/png.c/MagickPNGErrorHandler/1630.
mogrify: corrupt image `/var/folders/sk/jybpjlz139q0wm42rg5s4lrc0000gn/T/8e85200e2c52a77c0043578d1f5dd55621ed6b5e91a54422e1bf788fea5f20151029-27423-1wmtukq' @ error/png.c/ReadPNGImage/3959.class Chart < ActiveRecord::Base
include ImageUploader[:image]
endclass ImageUploader < Shrine
include ImageProcessing::MiniMagick
plugin :activerecord
plugin :data_uri
plugin :determine_mime_type
plugin :logging, logger: Rails.logger
plugin :remove_attachment
plugin :store_dimensions
plugin :validation_helpers
plugin :versions, names: [:original, :thumb]
Attacher.validate do
validate_max_size 2.megabytes, message: 'is too large (max is 2 MB)'
validate_mime_type_inclusion [/^image/]
end
def process(io, context)
case context[:phase]
when :store
thumb = resize_to_limit!(io.download, 480, 270)
{ original: io, thumb: thumb }
end
end
end 1) Error:
Api::V1::CreatingChartsTest#test_creates_valid_charts:
Encoding::UndefinedConversionError: "\x89" from ASCII-8BIT to UTF-8
/Users/erikdahlstrand/.rbenv/versions/2.2.3/lib/ruby/2.2.0/open3.rb:308:in `write'
/Users/erikdahlstrand/.rbenv/versions/2.2.3/lib/ruby/2.2.0/open3.rb:308:in `block in capture2'
/Users/erikdahlstrand/.rbenv/versions/2.2.3/lib/ruby/2.2.0/open3.rb:199:in `popen_run'
/Users/erikdahlstrand/.rbenv/versions/2.2.3/lib/ruby/2.2.0/open3.rb:145:in `popen2'
/Users/erikdahlstrand/.rbenv/versions/2.2.3/lib/ruby/2.2.0/open3.rb:300:in `capture2'
/Users/erikdahlstrand/.rbenv/versions/2.2.3/lib/ruby/gems/2.2.0/bundler/gems/shrine-b5c182f484aa/lib/shrine/plugins/determine_mime_type.rb:98:in `_extract_mime_type_with_file'
/Users/erikdahlstrand/.rbenv/versions/2.2.3/lib/ruby/gems/2.2.0/bundler/gems/shrine-b5c182f484aa/lib/shrine/plugins/determine_mime_type.rb:81:in `extract_mime_type'
/Users/erikdahlstrand/.rbenv/versions/2.2.3/lib/ruby/gems/2.2.0/bundler/gems/shrine-b5c182f484aa/lib/shrine.rb:297:in `extract_metadata'
/Users/erikdahlstrand/.rbenv/versions/2.2.3/lib/ruby/gems/2.2.0/bundler/gems/shrine-b5c182f484aa/lib/shrine/plugins/store_dimensions.rb:42:in `extract_metadata'
/Users/erikdahlstrand/.rbenv/versions/2.2.3/lib/ruby/gems/2.2.0/bundler/gems/shrine-b5c182f484aa/lib/shrine.rb:337:in `_store'
/Users/erikdahlstrand/.rbenv/versions/2.2.3/lib/ruby/gems/2.2.0/bundler/gems/shrine-b5c182f484aa/lib/shrine/plugins/versions.rb:137:in `_store'
/Users/erikdahlstrand/.rbenv/versions/2.2.3/lib/ruby/gems/2.2.0/bundler/gems/shrine-b5c182f484aa/lib/shrine.rb:266:in `store'
/Users/erikdahlstrand/.rbenv/versions/2.2.3/lib/ruby/gems/2.2.0/bundler/gems/shrine-b5c182f484aa/lib/shrine/plugins/logging.rb:82:in `block in store'
/Users/erikdahlstrand/.rbenv/versions/2.2.3/lib/ruby/gems/2.2.0/bundler/gems/shrine-b5c182f484aa/lib/shrine/plugins/logging.rb:97:in `block in log'
/Users/erikdahlstrand/.rbenv/versions/2.2.3/lib/ruby/gems/2.2.0/bundler/gems/shrine-b5c182f484aa/lib/shrine/plugins/logging.rb:151:in `block in benchmark'
/Users/erikdahlstrand/.rbenv/versions/2.2.3/lib/ruby/2.2.0/benchmark.rb:303:in `realtime'
/Users/erikdahlstrand/.rbenv/versions/2.2.3/lib/ruby/gems/2.2.0/bundler/gems/shrine-b5c182f484aa/lib/shrine/plugins/logging.rb:151:in `benchmark'
/Users/erikdahlstrand/.rbenv/versions/2.2.3/lib/ruby/gems/2.2.0/bundler/gems/shrine-b5c182f484aa/lib/shrine/plugins/logging.rb:97:in `log'
/Users/erikdahlstrand/.rbenv/versions/2.2.3/lib/ruby/gems/2.2.0/bundler/gems/shrine-b5c182f484aa/lib/shrine/plugins/logging.rb:82:in `store'
/Users/erikdahlstrand/.rbenv/versions/2.2.3/lib/ruby/gems/2.2.0/bundler/gems/shrine-b5c182f484aa/lib/shrine.rb:237:in `upload'
/Users/erikdahlstrand/.rbenv/versions/2.2.3/lib/ruby/gems/2.2.0/bundler/gems/shrine-b5c182f484aa/lib/shrine.rb:595:in `cache!'
/Users/erikdahlstrand/.rbenv/versions/2.2.3/lib/ruby/gems/2.2.0/bundler/gems/shrine-b5c182f484aa/lib/shrine.rb:490:in `assign'
/Users/erikdahlstrand/.rbenv/versions/2.2.3/lib/ruby/gems/2.2.0/bundler/gems/shrine-b5c182f484aa/lib/shrine/plugins/data_uri.rb:66:in `data_uri='
/Users/erikdahlstrand/.rbenv/versions/2.2.3/lib/ruby/gems/2.2.0/bundler/gems/shrine-b5c182f484aa/lib/shrine/plugins/data_uri.rb:44:in `image_data_uri='
132 runs, 283 assertions, 0 failures, 1 errors, 0 skips
data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFCAYAAACNbyblAAAAHElEQVQI12P4//8/w38GIAXDIBKE0DHxgljNBAAO9TXL0Y4OHwAAAABJRU5ErkJggg==--
You received this message because you are subscribed to the Google Groups "ruby-shrine" group.
To unsubscribe from this group and stop receiving emails from it, send an email to ruby-shrine...@googlegroups.com.
To post to this group, send email to ruby-...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/ruby-shrine/b6f2f93a-68cf-440c-9b88-6a9c7707fbf1%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.