Class: Qiita::Elasticsearch::Token
- Inherits:
-
Object
- Object
- Qiita::Elasticsearch::Token
- Defined in:
- lib/qiita/elasticsearch/token.rb
Direct Known Subclasses
DateToken, FilterableToken, HierarchalToken, IntToken, MatchableToken, RangeToken
Instance Attribute Summary collapse
- #field_name ⇒ String? readonly
- #term ⇒ String readonly
Instance Method Summary collapse
-
#downcased? ⇒ true, false
True if its term must be treated with downcased.
- #downcased_term ⇒ Object
- #filter? ⇒ Boolean
-
#initialize(downcased: nil, field_name: nil, negative: nil, quoted: nil, term: nil, token_string: nil) ⇒ Token
constructor
A new instance of Token.
- #must? ⇒ Boolean
- #must_not? ⇒ Boolean
-
#negative? ⇒ true, false
True if this token is for negative filter.
-
#or? ⇒ true, false
This.
-
#positive? ⇒ true, false
Opposite of #negative?.
-
#proper_cased_term ⇒ String
Downcased or not-downcased term.
-
#query? ⇒ true, false
True if this token is for query.
-
#quoted? ⇒ true, false
True if this token is for phrase matching.
-
#sort? ⇒ true, false
True if this token is for sort order (e.g. “sort:created-asc”).
- #to_hash ⇒ Object
- #to_s ⇒ String
- #type? ⇒ true, false
Constructor Details
#initialize(downcased: nil, field_name: nil, negative: nil, quoted: nil, term: nil, token_string: nil) ⇒ Token
Returns a new instance of Token.
22 23 24 25 26 27 28 29 |
# File 'lib/qiita/elasticsearch/token.rb', line 22 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_name ⇒ String? (readonly)
‘xxxxxxxxxxxx:yyyyyyyyyyy` ^^^^^^^^^^^^
field_name
8 9 10 |
# File 'lib/qiita/elasticsearch/token.rb', line 8 def field_name @field_name end |
#term ⇒ String (readonly)
‘xxxxxxxxxxxx:yyyyyyyyyyy` ^^^^^^^^^^^
term
14 15 16 |
# File 'lib/qiita/elasticsearch/token.rb', line 14 def term @term end |
Instance Method Details
#downcased? ⇒ true, false
Returns True if its term must be treated with downcased.
32 33 34 |
# File 'lib/qiita/elasticsearch/token.rb', line 32 def downcased? !!@downcased end |
#downcased_term ⇒ Object
36 37 38 |
# File 'lib/qiita/elasticsearch/token.rb', line 36 def downcased_term @downcased_term ||= term.downcase end |
#filter? ⇒ Boolean
40 41 42 |
# File 'lib/qiita/elasticsearch/token.rb', line 40 def filter? !field_name.nil? || negative? end |
#must? ⇒ Boolean
49 50 51 |
# File 'lib/qiita/elasticsearch/token.rb', line 49 def must? !field_name.nil? && positive? end |
#must_not? ⇒ Boolean
53 54 55 |
# File 'lib/qiita/elasticsearch/token.rb', line 53 def must_not? negative? end |
#negative? ⇒ true, false
‘Ruby -Perl` ^^^^^ This
Returns True if this token is for negative filter.
61 62 63 |
# File 'lib/qiita/elasticsearch/token.rb', line 61 def negative? !!@negative end |
#or? ⇒ true, false
‘Ruby OR Perl` ^^
This
69 70 71 |
# File 'lib/qiita/elasticsearch/token.rb', line 69 def or? @token_string.downcase == "or" end |
#positive? ⇒ true, false
Returns Opposite of #negative?.
74 75 76 |
# File 'lib/qiita/elasticsearch/token.rb', line 74 def positive? !negative? end |
#proper_cased_term ⇒ String
Returns Downcased or not-downcased term.
79 80 81 82 83 84 85 |
# File 'lib/qiita/elasticsearch/token.rb', line 79 def proper_cased_term if downcased? downcased_term else term end end |
#query? ⇒ true, false
Returns True if this token is for query.
45 46 47 |
# File 'lib/qiita/elasticsearch/token.rb', line 45 def query? !sort? && !ignorable? end |
#quoted? ⇒ true, false
‘Express OR “Ruby on Rails”` ^^^^^^^^^^^^^^^
This
Returns True if this token is for phrase matching.
91 92 93 |
# File 'lib/qiita/elasticsearch/token.rb', line 91 def quoted? !!@quoted end |
#sort? ⇒ true, false
Override me
Returns True if this token is for sort order (e.g. “sort:created-asc”).
97 98 99 |
# File 'lib/qiita/elasticsearch/token.rb', line 97 def sort? field_name == "sort" end |
#to_hash ⇒ Object
Override me
102 103 104 |
# File 'lib/qiita/elasticsearch/token.rb', line 102 def to_hash fail NotImplementedError end |
#to_s ⇒ String
Override
108 109 110 |
# File 'lib/qiita/elasticsearch/token.rb', line 108 def to_s @token_string.to_s end |
#type? ⇒ true, false
Override me if needed
114 115 116 |
# File 'lib/qiita/elasticsearch/token.rb', line 114 def type? false end |