Class: Shrine::Plugins::StoreDimensions::DimensionsAnalyzer

Inherits:
Object
  • Object
show all
Defined in:
lib/shrine/plugins/store_dimensions.rb

Constant Summary collapse

SUPPORTED_TOOLS =
[:fastimage, :mini_magick, :ruby_vips]

Instance Method Summary collapse

Constructor Details

#initialize(tool, on_error: method(:fail)) ⇒ DimensionsAnalyzer

Returns a new instance of DimensionsAnalyzer.

Raises:



115
116
117
118
119
120
# File 'lib/shrine/plugins/store_dimensions.rb', line 115

def initialize(tool, on_error: method(:fail))
  raise Error, "unknown dimensions analyzer #{tool.inspect}, supported analyzers are: #{SUPPORTED_TOOLS.join(",")}" unless SUPPORTED_TOOLS.include?(tool)

  @tool     = tool
  @on_error = on_error
end

Instance Method Details

#call(io) ⇒ Object



122
123
124
125
126
# File 'lib/shrine/plugins/store_dimensions.rb', line 122

def call(io)
  dimensions = send(:"extract_with_#{@tool}", io)
  io.rewind
  dimensions
end