lib/sqed/extractor.rb in sqed-0.7.1 vs lib/sqed/extractor.rb in sqed-0.8.0

- old
+ new

@@ -2,10 +2,14 @@ class Sqed # An Extractor takes Boundaries object and a metadata_map and returns a Sqed::Result # + # Extract assumes a successful preprocessing (e.g. finding boundaries, cropping images)! + # + # Only Tesseract based raises errors should be occurring at this point. + # class Extractor class Error < StandardError; end; # a Sqed::Boundaries instance @@ -21,12 +25,13 @@ def initialize(**opts) @metadata_map = opts[:metadata_map] @boundaries = opts[:boundaries] @image = opts[:image] - raise Sqed::Error, 'boundaries not provided or provided boundary is not a Sqed::Boundaries' if boundaries.nil? || !boundaries.class.name == 'Sqed::Boundaries' - raise Sqed::Error, 'metadata_map not provided or metadata_map not a Hash' if metadata_map.nil? || !metadata_map.class.name == 'Hash' - raise Sqed::Error, 'image not provided' if image.nil? || !image.class.name == 'Magick::Image' + # TODO: `.extractable?` catches the nil? case + raise Sqed::Error, 'boundaries not provided or provided boundary is not a Sqed::Boundaries' if boundaries.nil? || !boundaries.kind_of?(Sqed::Boundaries) + raise Sqed::Error, 'metadata_map not provided or metadata_map not a Hash' if metadata_map.nil? || !metadata_map.kind_of?(Hash) + raise Sqed::Error, 'image not provided' if image.nil? || !image.kind_of?(Magick::Image) end def result r = Sqed::Result.new