class Opener::ConstituentParser
Constituent parser for various languages such as English and German.
@!attribute [r] options
@return [Hash]
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 @see Opener::ConstituentParsers::Base#initialize
# File lib/opener/constituent_parser.rb, line 34 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 as a String.
@param [String] input @return [String]
# File lib/opener/constituent_parser.rb, line 45 def run(input) args = options[:args].dup language = language(input) if language_constant_defined?(language) kernel = language_constant(language).new(:args => args) else kernel = ConstituentParsers::Base.new( :args => args, :language => language ) end return kernel.run(input) end
Protected Instance Methods
language(input)
click to toggle source
@return the language from the KAF
# File lib/opener/constituent_parser.rb, line 82 def language(input) document = Nokogiri::XML(input) language = document.at('KAF').attr('xml:lang') return language end
language_constant(language)
click to toggle source
@return [Class]
# File lib/opener/constituent_parser.rb, line 75 def language_constant(language) return ConstituentParsers.const_get(language.upcase) 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/constituent_parser.rb, line 68 def language_constant_defined?(language) return ConstituentParsers.const_defined?(language.upcase) end