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