Sha256: f0eecb5bcac9fc612a1cfca66c099a5d3f3f28d269db293b50df649595a6c13f

Contents?: true

Size: 1 KB

Versions: 8

Compression:

Stored size: 1 KB

Contents

# frozen_string_literal: true

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_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_size
          model.data_file_size = file.size
        end

        def magick
          @magick ||= ::MiniMagick::Image.new(current_path)
        end
      end
    end
  end
end

Version data entries

8 entries across 8 versions & 2 rubygems

Version Path
ckeditor-5.1.3 lib/ckeditor/backend/carrierwave.rb
ckeditor-5.1.2 lib/ckeditor/backend/carrierwave.rb
ckeditor-5.1.1 lib/ckeditor/backend/carrierwave.rb
glebtv-ckeditor-4.14.1 lib/ckeditor/backend/carrierwave.rb
ckeditor-5.1.0 lib/ckeditor/backend/carrierwave.rb
glebtv-ckeditor-4.13.1 lib/ckeditor/backend/carrierwave.rb
glebtv-ckeditor-4.13.0 lib/ckeditor/backend/carrierwave.rb
ckeditor-5.0.0 lib/ckeditor/backend/carrierwave.rb