class Compass::Core::SassExtensions::Functions::ImageSize::ImageProperties
Public Class Methods
new(file)
click to toggle source
# File lib/compass/core/sass_extensions/functions/image_size.rb, line 17 def initialize(file) @file = (file.respond_to?(:to_path) ? file.to_path : file) @file_type = File.extname(@file)[1..-1].downcase unless KNOWN_TYPES.include?(@file_type) raise Sass::SyntaxError, "Unrecognized file type: #{@file_type}" end end
Public Instance Methods
size()
click to toggle source
# File lib/compass/core/sass_extensions/functions/image_size.rb, line 25 def size @dimensions ||= send(:"get_size_for_#{@file_type}") end
Private Instance Methods
get_size_for_gif()
click to toggle source
# File lib/compass/core/sass_extensions/functions/image_size.rb, line 34 def get_size_for_gif File.open(@file, "rb") {|io| io.read}[6..10].unpack('SS') end
get_size_for_jpeg()
click to toggle source
# File lib/compass/core/sass_extensions/functions/image_size.rb, line 42 def get_size_for_jpeg jpeg = JPEG.new(@file) [jpeg.width, jpeg.height] end
get_size_for_jpg()
click to toggle source
# File lib/compass/core/sass_extensions/functions/image_size.rb, line 38 def get_size_for_jpg get_size_for_jpeg end
get_size_for_png()
click to toggle source
# File lib/compass/core/sass_extensions/functions/image_size.rb, line 30 def get_size_for_png File.open(@file, "rb") {|io| io.read}[0x10..0x18].unpack('NN') end