Class: Qiita::Elasticsearch::Token

Inherits:
Object
  • Object
show all
Defined in:
lib/qiita/elasticsearch/token.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(downcased: nil, field_name: nil, negative: nil, quoted: nil, term: nil, token_string: nil) ⇒ Token



12
13
14
15
16
17
18
19
# File 'lib/qiita/elasticsearch/token.rb', line 12

def initialize(downcased: nil, field_name: nil, negative: nil, quoted: nil, term: nil, token_string: nil)
  @downcased = downcased
  @field_name = field_name
  @negative = negative
  @quoted = quoted
  @term = term
  @token_string = token_string
end

Instance Attribute Details

#field_nameObject (readonly)

Returns the value of attribute field_name.



4
5
6
# File 'lib/qiita/elasticsearch/token.rb', line 4

def field_name
  @field_name
end

#termObject (readonly)

Returns the value of attribute term.



4
5
6
# File 'lib/qiita/elasticsearch/token.rb', line 4

def term
  @term
end

Instance Method Details

#downcased?true, false



22
23
24
# File 'lib/qiita/elasticsearch/token.rb', line 22

def downcased?
  !!@downcased
end

#downcased_termObject



26
27
28
# File 'lib/qiita/elasticsearch/token.rb', line 26

def downcased_term
  @downcased_term ||= term.downcase
end

#filter?Boolean



30
31
32
# File 'lib/qiita/elasticsearch/token.rb', line 30

def filter?
  !field_name.nil? || negative?
end

#ignorable?true, false



35
36
37
# File 'lib/qiita/elasticsearch/token.rb', line 35

def ignorable?
  negative? && !field_name.nil? && has_invalid_term?
end

#must?Boolean



39
40
41
# File 'lib/qiita/elasticsearch/token.rb', line 39

def must?
  !field_name.nil? && positive?
end

#must_not?Boolean



43
44
45
# File 'lib/qiita/elasticsearch/token.rb', line 43

def must_not?
  negative?
end

#negative?true, false

Note:

‘Ruby -Perl` ^^^^^ This

Returns True if this token is for negative filter.



51
52
53
# File 'lib/qiita/elasticsearch/token.rb', line 51

def negative?
  !!@negative
end

#or?true, false

Note:

‘Ruby OR Perl` ^^

This



59
60
61
# File 'lib/qiita/elasticsearch/token.rb', line 59

def or?
  @token_string.downcase == "or"
end

#positive?true, false



64
65
66
# File 'lib/qiita/elasticsearch/token.rb', line 64

def positive?
  !negative?
end

#proper_cased_termString



69
70
71
72
73
74
75
# File 'lib/qiita/elasticsearch/token.rb', line 69

def proper_cased_term
  if downcased?
    downcased_term
  else
    term
  end
end

#quoted?true, false

Note:

‘Express OR “Ruby on Rails”` ^^^^^^^^^^^^^^^

This

Returns True if this token is for phrase matching.



81
82
83
# File 'lib/qiita/elasticsearch/token.rb', line 81

def quoted?
  !!@quoted
end

#to_hashObject

Note:

Override me



86
87
88
# File 'lib/qiita/elasticsearch/token.rb', line 86

def to_hash
  fail NotImplementedError
end

#to_sString

Note:

Override



92
93
94
# File 'lib/qiita/elasticsearch/token.rb', line 92

def to_s
  @token_string.to_s
end