Class: Lingo::Attendee::HalFilter
- Inherits:
-
Lingo::Attendee
- Object
- Lingo::Attendee
- Lingo::Attendee::HalFilter
- Defined in:
- lib/lingo/attendee/hal_filter.rb
Constant Summary
Constants inherited from Lingo::Attendee
Constants included from Language
Language::CHAR_PUNCT, Language::LA_SORTORDER, Language::TA_ABBREVIATION, Language::TA_HELP, Language::TA_HTML, Language::TA_NUMBER, Language::TA_OTHER, Language::TA_PUNCTUATION, Language::TA_SKIP, Language::TA_SPACE, Language::TA_URL, Language::TA_WIKI, Language::TA_WORD, Language::WA_COMPOUND, Language::WA_IDENTIFIED, Language::WA_MULTIWORD, Language::WA_SEQUENCE, Language::WA_UNKMULPART, Language::WA_UNKNOWN, Language::WA_UNSET
Instance Attribute Summary
Attributes inherited from Lingo::Attendee
Instance Method Summary collapse
Methods inherited from Lingo::Attendee
#command, #forward, #initialize
Constructor Details
This class inherits a constructor from Lingo::Attendee
Instance Method Details
#control(cmd) ⇒ Object
50 51 52 53 54 55 |
# File 'lib/lingo/attendee/hal_filter.rb', line 50 def control(cmd, *) case cmd when :EOL then :skip_command when *TERMINALS then send_vectors unless @hal.empty? end end |
#init ⇒ Object
33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 |
# File 'lib/lingo/attendee/hal_filter.rb', line 33 def init require_lib('hal4r') @lex = get_re('lexicals', '[sy]') @skip = get_ary('skip', DEFAULT_SKIP, :upcase) @norm = get_key('norm', true) @sep = get_key('sep', '^') @min = get_flo('min', false) @dim = get_int('dim', 2) @sort = get_key('sort', false) @sort.downcase! if @sort.respond_to?(:downcase!) @hal = Hal4R.new([], get_int('window-size', Hal4R::DEFAULT_WINDOW_SIZE)) end |
#process(obj) ⇒ Object
57 58 59 60 61 |
# File 'lib/lingo/attendee/hal_filter.rb', line 57 def process(obj) obj.is_a?(Word) && !@skip.include?(obj.attr) && # TODO: which lexical to select? (currently: first) obj.lex_form(@lex) { |form| @hal << Unicode.downcase(form) } end |