module PhotoCook::DevicePixelRatio

Constants

DEFAULT
MAX

Public Class Methods

check!(x) click to toggle source
# File lib/photo-cook/device-pixel-ratio.rb, line 19
def check!(x)
  x = typecast(x)
  raise Invalid,     x if !x.kind_of?(Integer) && (x.nan? || x.infinite?)
  raise OutOfBounds, x if x < DEFAULT || x > MAX
  true
end
parse(x) click to toggle source
# File lib/photo-cook/device-pixel-ratio.rb, line 10
def parse(x)
  typecast(x)
end
parse!(x) click to toggle source
# File lib/photo-cook/device-pixel-ratio.rb, line 14
def parse!(x)
  check!(x = parse(x))
  x
end
typecast(x) click to toggle source
# File lib/photo-cook/device-pixel-ratio.rb, line 41
def typecast(x)
  x.kind_of?(Numeric) ? x : x.to_f
end
unify(x) click to toggle source

Do not produce various number of pixel ratios:

1.0 => 1
2.5 => 3
2.1 => 3
3.1 => 4
# File lib/photo-cook/device-pixel-ratio.rb, line 31
def unify(x)
  typecast(x).ceil
end
valid?(x) click to toggle source
# File lib/photo-cook/device-pixel-ratio.rb, line 35
def valid?(x)
  check!(x)
rescue Invalid, OutOfBounds
  false
end