class Opener::Coreference
Constants
- DEFAULT_OPTIONS
Hash containing the default options to use.
@return [Hash]
- VERSION
Attributes
options[R]
Public Class Methods
new(options = {})
click to toggle source
@param [Hash] options
@option options [Array] :args Collection of arbitrary arguments to pass
to the underlying kernels.
# File lib/opener/coreference.rb, line 27 def initialize(options = {}) @options = DEFAULT_OPTIONS.merge(options) end
Public Instance Methods
run(input)
click to toggle source
Processes the input KAF document and returns a new KAF document containing the results.
@param [String] input @return [String]
# File lib/opener/coreference.rb, line 38 def run(input) language = language_from_kaf(input) args = options[:args].dup if language and language_constant_defined?(language) kernel = language.new(:args => args) else kernel = Coreferences::Base.new(:args => args, :language => language) end stdout, stderr, process = kernel.run(input) raise stderr unless process.success? return stdout end
Protected Instance Methods
language_constant()
click to toggle source
@return [Class]
# File lib/opener/coreference.rb, line 69 def language_constant return Coreferences.const_get(language_constant_name) end
language_constant_defined?(language)
click to toggle source
Returns ‘true` if the current language has a dedicated kernel class.
@return [TrueClass|FalseClass]
# File lib/opener/coreference.rb, line 62 def language_constant_defined?(language) return Coreferences.const_defined?(language.upcase) end
language_from_kaf(input)
click to toggle source
@param [String] input @return [String]
# File lib/opener/coreference.rb, line 77 def language_from_kaf(input) document = Nokogiri::XML(input) language = document.xpath('KAF/@xml:lang')[0] return language ? language.to_s : nil end