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 ⇒ Object
readonly
Returns the value of attribute field_name.
-
#term ⇒ Object
readonly
Returns the value of attribute term.
Instance Method Summary collapse
-
#downcased? ⇒ true, false
True if its term must be treated with downcased.
- #downcased_term ⇒ Object
- #filter? ⇒ Boolean
-
#ignorable? ⇒ true, false
True if this token is ignorable on building query (e.g. “-stocked:foo”).
-
#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.
-
#quoted? ⇒ true, false
True if this token is for phrase matching.
- #to_hash ⇒ Object
- #to_s ⇒ String
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_name ⇒ Object (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 |
#term ⇒ Object (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_term ⇒ Object
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_term ⇒ String
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_hash ⇒ Object
Note:
Override me
86 87 88 |
# File 'lib/qiita/elasticsearch/token.rb', line 86 def to_hash fail NotImplementedError end |
#to_s ⇒ String
Note:
Override
92 93 94 |
# File 'lib/qiita/elasticsearch/token.rb', line 92 def to_s @token_string.to_s end |