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, filter: 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, 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_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
34 35 36 |
# File 'lib/qiita/elasticsearch/token.rb', line 34 def downcased? !!@downcased end |
#downcased_term ⇒ Object
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
‘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
‘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_term ⇒ String
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
‘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
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_hash ⇒ Object
Override me
104 105 106 |
# File 'lib/qiita/elasticsearch/token.rb', line 104 def to_hash fail NotImplementedError end |
#to_s ⇒ String
Override
110 111 112 |
# File 'lib/qiita/elasticsearch/token.rb', line 110 def to_s @token_string.to_s end |
#type? ⇒ true, false
Override me if needed
116 117 118 |
# File 'lib/qiita/elasticsearch/token.rb', line 116 def type? false end |