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, filter: nil, term: nil, token_string: nil) ⇒ Token



23
24
25
26
27
28
29
30
31
# File 'lib/qiita/elasticsearch/token.rb', line 23

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

Instance Attribute Details

#field_nameString? (readonly)

Note:

‘xxxxxxxxxxxx:yyyyyyyyyyy` ^^^^^^^^^^^^

field_name


8
9
10
# File 'lib/qiita/elasticsearch/token.rb', line 8

def field_name
  @field_name
end

#termString (readonly)

Note:

‘xxxxxxxxxxxx:yyyyyyyyyyy` ^^^^^^^^^^^

term


14
15
16
# File 'lib/qiita/elasticsearch/token.rb', line 14

def term
  @term
end

Instance Method Details

#downcased?true, false



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

def downcased?
  !!@downcased
end

#downcased_termObject



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

def downcased_term
  @downcased_term ||= term.downcase
end

#filter?Boolean



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

def filter?
  !!@filter || negative?
end

#must?Boolean



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

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

#must_not?Boolean



55
56
57
# File 'lib/qiita/elasticsearch/token.rb', line 55

def must_not?
  negative?
end

#negative?true, false

Note:

‘Ruby -Perl` ^^^^^ This

Returns True if this token is for negative filter.



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

def negative?
  !!@negative
end

#or?true, false

Note:

‘Ruby OR Perl` ^^

This



71
72
73
# File 'lib/qiita/elasticsearch/token.rb', line 71

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

#positive?true, false



76
77
78
# File 'lib/qiita/elasticsearch/token.rb', line 76

def positive?
  !negative?
end

#proper_cased_termString



81
82
83
84
85
86
87
# File 'lib/qiita/elasticsearch/token.rb', line 81

def proper_cased_term
  if downcased?
    downcased_term
  else
    term
  end
end

#query?true, false



47
48
49
# File 'lib/qiita/elasticsearch/token.rb', line 47

def query?
  !sort? && !ignorable?
end

#quoted?true, false

Note:

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

This

Returns True if this token is for phrase matching.



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

def quoted?
  !!@quoted
end

#sort?true, false

Note:

Override me

Returns True if this token is for sort order (e.g. “sort:created-asc”).



99
100
101
# File 'lib/qiita/elasticsearch/token.rb', line 99

def sort?
  field_name == "sort"
end

#to_hashObject

Note:

Override me



104
105
106
# File 'lib/qiita/elasticsearch/token.rb', line 104

def to_hash
  fail NotImplementedError
end

#to_sString

Note:

Override



110
111
112
# File 'lib/qiita/elasticsearch/token.rb', line 110

def to_s
  @token_string.to_s
end

#type?true, false

Note:

Override me if needed



116
117
118
# File 'lib/qiita/elasticsearch/token.rb', line 116

def type?
  false
end