lib/opener/ner.rb in opener-ner-2.0.2 vs lib/opener/ner.rb in opener-ner-2.0.3
- old
+ new
@@ -2,10 +2,11 @@
require 'opener/ners/base'
require 'nokogiri'
require_relative 'ner/version'
require_relative 'ner/cli'
+require_relative 'ner/error_layer'
module Opener
##
# Primary NER class that takes care of delegating NER actions to the language
# specific kernels.
@@ -50,19 +51,23 @@
#
# @param [String] input
# @return [Array]
#
def run(input)
- language = language_from_kaf(input) || DEFAULT_LANGUAGE
- args = options[:args].dup
+ begin
+ language = language_from_kaf(input) || DEFAULT_LANGUAGE
+ args = options[:args].dup
- if language_constant_defined?(language)
- kernel = language_constant(language).new(:args => args)
- else
- kernel = Ners::Base.new(:args => args, :language => language)
- end
+ if language_constant_defined?(language)
+ kernel = language_constant(language).new(:args => args)
+ else
+ kernel = Ners::Base.new(:args => args, :language => language)
+ end
- return kernel.run(input)
+ return kernel.run(input)
+ rescue Exception => error
+ return ErrorLayer.new(input, error.message, self.class).add
+ end
end
protected
##