module Mongoid::Paperclip::ImageDimension::ClassMethods

Public Instance Methods

save_image_dimensions_on(*args) click to toggle source
# File lib/mongoid_paperclip_image_dimension.rb, line 12
    def save_image_dimensions_on(*args)
      args.flatten.each do |attachment_field|
        attachment_field = attachment_field.to_sym
        dimension_field_name = "#{attachment_field}_dimensions".to_sym
        perperclip_image_dimension_fields << attachment_field
        field dimension_field_name, :type => Hash

        class_eval <<-END
          def #{attachment_field}_dimension(style=:original)
            #{attachment_field}_dimensions[style.to_s].map(&:to_i)
          end

          def #{attachment_field}_dimension_str(style=:original)
            #{attachment_field}_dimension(style).join('x')
          end

          after_#{attachment_field}_post_process do
            save_dimensions_for(:"#{attachment_field}")
          end
        END

      end
    end