Sha256: a4b9b6a55daa0809eb380be1cf65f040b48c36c4d7146d5321fb93da32dc32be

Contents?: true

Size: 1.63 KB

Versions: 9

Compression:

Stored size: 1.63 KB

Contents

module RailsAdminJcrop
  module AssetEngine
    class << self
      def thumbnail_names(obj, field)
        obj.class.uploaders[field.to_sym].versions.keys
      end

      def crop!(obj, field)
        obj.send(field).recreate_versions!
      end
    end

    module CarrierWave
      def rails_admin_crop
        return unless model.rails_admin_cropping?
        manipulate! do |img|
          ::RailsAdminJcrop::ImageHelper.crop(img, model.crop_w, model.crop_h, model.crop_x, model.crop_y)
          img
        end
      end
    end
  end
end

module CarrierWave
  module Mount
    module Extension
      def self.included(base)
        base.uploaders.each do |name, klass|
          klass.send :include, RailsAdminJcrop::AssetEngine::CarrierWave
        end
      end
    end
  end
end

module RailsAdmin
  module Config
    module Fields
      module Types
        module UploaderMethods

          def self.included(base)
            base.register_instance_option(:cache_method) do
              "#{name}_cache"
            end

            base.register_instance_option(:thumb_method) do
              @thumb_method ||= ((versions = bindings[:object].send(name).versions.keys).find{|k| k.in?([:thumb, :thumbnail, 'thumb', 'thumbnail'])} || (versions.first || "original").to_s)
            end

            base.register_instance_option(:delete_method) do
              "remove_#{name}"
            end
          end

          def resource_url(thumb = false)
            return nil unless (uploader = bindings[:object].send(name)).present?
            thumb.present? ? uploader.send(thumb).url : uploader.url
          end

        end
      end
    end
  end
end

Version data entries

9 entries across 9 versions & 1 rubygems

Version Path
ack_rails_admin_jcrop-0.2.0.2 lib/rails_admin_jcrop/asset_engine/carrier_wave.rb
ack_rails_admin_jcrop-0.2.0.1 lib/rails_admin_jcrop/asset_engine/carrier_wave.rb
ack_rails_admin_jcrop-0.2.0 lib/rails_admin_jcrop/asset_engine/carrier_wave.rb
ack_rails_admin_jcrop-0.1.0 lib/rails_admin_jcrop/asset_engine/carrier_wave.rb
ack_rails_admin_jcrop-0.0.10 lib/rails_admin_jcrop/asset_engine/carrier_wave.rb
ack_rails_admin_jcrop-0.0.9 lib/rails_admin_jcrop/asset_engine/carrier_wave.rb
ack_rails_admin_jcrop-0.0.7 lib/rails_admin_jcrop/asset_engine/carrier_wave.rb
ack_rails_admin_jcrop-0.0.6 lib/rails_admin_jcrop/asset_engine/carrier_wave.rb
ack_rails_admin_jcrop-0.0.5 lib/rails_admin_jcrop/asset_engine/carrier_wave.rb