Sha256: 268e099f6499813803f4e5605b01abc05a2d10efba103df56b527b7e4e64004e

Contents?: true

Size: 1.28 KB

Versions: 14

Compression:

Stored size: 1.28 KB

Contents

require 'mini_magick'

module Ckeditor
  module Backend
    module CarrierWave
      def self.included(base)
        base.send(:include, InstanceMethods)
        base.send(:extend, ClassMethods)
      end

      module ClassMethods
        def self.extended(base)
          base.class_eval do
            process :extract_content_type
            process :set_size
          end
        end
      end

      module InstanceMethods
        # process :strip
        def strip
          manipulate! do |img|
            img.strip
            img = yield(img) if block_given?
            img
          end
        end

        # process :quality => 85
        def quality(percentage)
          manipulate! do |img|
            img.quality(percentage)
            img = yield(img) if block_given?
            img
          end
        end

        def extract_content_type
          model.data_content_type = Utils::ContentTypeDetector.new(file.path).detect
        end

        def set_size
          model.data_file_size = file.size
        end

        def read_dimensions
          if model.image? && model.has_dimensions?
            magick = ::MiniMagick::Image.new(current_path)
            model.width, model.height = magick[:width], magick[:height]
          end
        end

      end
    end
  end
end

Version data entries

14 entries across 14 versions & 4 rubygems

Version Path
danabr75-ckeditor-4.1.6 lib/ckeditor/backend/carrierwave.rb
glebtv-ckeditor-4.6.0 lib/ckeditor/backend/carrierwave.rb
glebtv-ckeditor-4.5.10.3 lib/ckeditor/backend/carrierwave.rb
glebtv-ckeditor-4.5.10.2 lib/ckeditor/backend/carrierwave.rb
glebtv-ckeditor-4.5.10.1 lib/ckeditor/backend/carrierwave.rb
glebtv-ckeditor-4.5.7.1 lib/ckeditor/backend/carrierwave.rb
glebtv-ckeditor-4.5.7 lib/ckeditor/backend/carrierwave.rb
ckeditor_custom_controller-4.1.6 lib/ckeditor/backend/carrierwave.rb
ckeditor-4.1.6 lib/ckeditor/backend/carrierwave.rb
ckeditor-4.1.5 lib/ckeditor/backend/carrierwave.rb
ckeditor-4.1.4 lib/ckeditor/backend/carrierwave.rb
ckeditor-4.1.3 lib/ckeditor/backend/carrierwave.rb
ckeditor-4.1.2 lib/ckeditor/backend/carrierwave.rb
ckeditor-4.1.1 lib/ckeditor/backend/carrierwave.rb