Sha256: 864062127458d7bc5316ab2e2092082e05c42e5532bfc47f631445d6d5362dba

Contents?: true

Size: 1.62 KB

Versions: 5

Compression:

Stored size: 1.62 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.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

5 entries across 5 versions & 1 rubygems

Version Path
rails_admin_jcrop-1.4.0 lib/rails_admin_jcrop/asset_engine/carrier_wave.rb
rails_admin_jcrop-1.3.0 lib/rails_admin_jcrop/asset_engine/carrier_wave.rb
rails_admin_jcrop-1.2.1 lib/rails_admin_jcrop/asset_engine/carrier_wave.rb
rails_admin_jcrop-1.2.0 lib/rails_admin_jcrop/asset_engine/carrier_wave.rb
rails_admin_jcrop-1.1.2 lib/rails_admin_jcrop/asset_engine/carrier_wave.rb