Module: Komonjo::Model::Filter::Base

Included in:
EmojiFilter, ReplyFilter, URLFilter
Defined in:
lib/komonjo/models/filters/base.rb

Instance Method Summary collapse

Instance Method Details

#match(text) ⇒ Object



5
6
7
8
# File 'lib/komonjo/models/filters/base.rb', line 5

def match(text)
  return false unless text
  text.match(pattern)
end

#parse(text) ⇒ Object



10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
# File 'lib/komonjo/models/filters/base.rb', line 10

def parse(text)
  m = text.match(pattern)
  if text.index(pattern) == 0
    _, b = text.split(pattern, 2)
    return [
      { text: m[0], matched: true },
      { text: b, matched: false },
    ].delete_if { |e| e[:text].nil? || e[:text] == "" }
  end
  a, c = text.split(pattern, 2)
  return [
    { text: a, matched: false },
    { text: m[0], matched: true },
    { text: c, matched: false },
  ].delete_if { |e| e[:text].nil? || e[:text] == "" }
end

#patternObject



27
28
29
# File 'lib/komonjo/models/filters/base.rb', line 27

def pattern
  //
end