Public Instance Aliases
dimensions | -> | extract_dimensions |
Public Instance methods
dimensions_analyzer(name)
Returns callable dimensions analyzer object.
[show source]
# File lib/shrine/plugins/store_dimensions.rb 57 def dimensions_analyzer(name) 58 on_error = opts[:store_dimensions][:on_error] 59 60 DimensionsAnalyzer.new(name, on_error: on_error).method(:call) 61 end
dimensions_analyzers()
Returns a hash of built-in dimensions analyzers, where keys are analyzer names and values are #call
-able objects which accepts the IO object.
[show source]
# File lib/shrine/plugins/store_dimensions.rb 50 def dimensions_analyzers 51 @dimensions_analyzers ||= DimensionsAnalyzer::SUPPORTED_TOOLS.inject({}) do |hash, tool| 52 hash.merge!(tool => dimensions_analyzer(tool)) 53 end 54 end
extract_dimensions(io)
Determines the dimensions of the IO object by calling the specified analyzer.
[show source]
# File lib/shrine/plugins/store_dimensions.rb 35 def extract_dimensions(io) 36 analyzer = opts[:store_dimensions][:analyzer] 37 analyzer = dimensions_analyzer(analyzer) if analyzer.is_a?(Symbol) 38 args = [io, dimensions_analyzers].take(analyzer.arity.abs) 39 40 dimensions = instrument_dimensions(io) { analyzer.call(*args) } 41 io.rewind 42 43 dimensions 44 end