Sha256: ad48250b55e384d8c4758657c2816d90dadd0b9f15c1a98251038b6532115599

Contents?: true

Size: 824 Bytes

Versions: 1

Compression:

Stored size: 824 Bytes

Contents

module BuddiesAvatar
  module ORM
    module Base
      extend ActiveSupport::Concern
    
      included do
        attr_accessor :crop_x, :crop_y, :crop_w, :crop_h
        after_update :reprocess_avatar, if: :cropping?
        mount_uploader :avatar, AvatarUploader
      end

      def cropping?
        !crop_x.blank? && !crop_y.blank? && !crop_w.blank? && !crop_h.blank?
      end

      def crop_string
        "#{crop_w}x#{crop_h}+#{crop_x}+#{crop_y}"
      end
    
      def avatar_geometry
        img = MiniMagick::Image.open avatar_upload_path
        @geometry = { width: img[:width], height: img[:height] }
      end
    
    protected
    
      def avatar_upload_path
        avatar.current_path
      end

    private

      def reprocess_avatar
        avatar.recreate_versions!
      end
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
buddies_avatar-0.0.2 lib/buddies_avatar/orm/base.rb