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
- #options ⇒ Hash
- #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, options: 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, options: nil) ⇒ Token
Returns a new instance of Token.
27 28 29 30 31 32 33 34 35 36 |
# File 'lib/qiita/elasticsearch/token.rb', line 27 def initialize(downcased: nil, field_name: nil, negative: nil, quoted: nil, filter: nil, term: nil, token_string: nil, options: nil) @downcased = downcased @field_name = field_name @negative = negative @quoted = quoted @filter = filter @term = term @token_string = token_string @options = 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 |
#options ⇒ Hash
17 18 19 |
# File 'lib/qiita/elasticsearch/token.rb', line 17 def @options 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.
39 40 41 |
# File 'lib/qiita/elasticsearch/token.rb', line 39 def downcased? !!@downcased end |
#downcased_term ⇒ Object
43 44 45 |
# File 'lib/qiita/elasticsearch/token.rb', line 43 def downcased_term @downcased_term ||= term.downcase end |
#filter? ⇒ Boolean
47 48 49 |
# File 'lib/qiita/elasticsearch/token.rb', line 47 def filter? !!@filter || negative? end |
#must? ⇒ Boolean
56 57 58 |
# File 'lib/qiita/elasticsearch/token.rb', line 56 def must? !field_name.nil? && positive? end |
#must_not? ⇒ Boolean
60 61 62 |
# File 'lib/qiita/elasticsearch/token.rb', line 60 def must_not? negative? end |
#negative? ⇒ true, false
‘Ruby -Perl` ^^^^^ This
Returns True if this token is for negative filter.
68 69 70 |
# File 'lib/qiita/elasticsearch/token.rb', line 68 def negative? !!@negative end |
#or? ⇒ true, false
‘Ruby OR Perl` ^^
This
76 77 78 |
# File 'lib/qiita/elasticsearch/token.rb', line 76 def or? @token_string.downcase == "or" end |
#positive? ⇒ true, false
Returns Opposite of #negative?.
81 82 83 |
# File 'lib/qiita/elasticsearch/token.rb', line 81 def positive? !negative? end |
#proper_cased_term ⇒ String
Returns Downcased or not-downcased term.
86 87 88 89 90 91 92 |
# File 'lib/qiita/elasticsearch/token.rb', line 86 def proper_cased_term if downcased? downcased_term else term end end |
#query? ⇒ true, false
Returns True if this token is for query.
52 53 54 |
# File 'lib/qiita/elasticsearch/token.rb', line 52 def query? !sort? && !ignorable? end |
#quoted? ⇒ true, false
‘Express OR “Ruby on Rails”` ^^^^^^^^^^^^^^^
This
Returns True if this token is for phrase matching.
98 99 100 |
# File 'lib/qiita/elasticsearch/token.rb', line 98 def quoted? !!@quoted end |
#sort? ⇒ true, false
Override me
Returns True if this token is for sort order (e.g. “sort:created-asc”).
104 105 106 |
# File 'lib/qiita/elasticsearch/token.rb', line 104 def sort? field_name == "sort" end |
#to_hash ⇒ Object
Override me
109 110 111 |
# File 'lib/qiita/elasticsearch/token.rb', line 109 def to_hash fail NotImplementedError end |
#to_s ⇒ String
Override
115 116 117 |
# File 'lib/qiita/elasticsearch/token.rb', line 115 def to_s @token_string.to_s end |
#type? ⇒ true, false
Override me if needed
121 122 123 |
# File 'lib/qiita/elasticsearch/token.rb', line 121 def type? false end |