class Qiita::Elasticsearch::Nodes::FilterableNode
Public Class Methods
new(tokens)
click to toggle source
@param [Array<Qiita::Elasticsearch::Tokens>] tokens
# File lib/qiita/elasticsearch/nodes/filterable_node.rb, line 9 def initialize(tokens) @tokens = tokens end
Public Instance Methods
to_hash()
click to toggle source
# File lib/qiita/elasticsearch/nodes/filterable_node.rb, line 13 def to_hash if filter_tokens.empty? QueryNode.new(not_filter_tokens).to_hash else { "filtered" => { "filter" => FilterNode.new(filter_tokens).to_hash, "query" => QueryNode.new(not_filter_tokens).to_hash, }.reject do |key, value| value.empty? end, } end end
Private Instance Methods
filter_tokens()
click to toggle source
# File lib/qiita/elasticsearch/nodes/filterable_node.rb, line 30 def filter_tokens @filter_tokens ||= @tokens.select(&:filter?) end
not_filter_tokens()
click to toggle source
# File lib/qiita/elasticsearch/nodes/filterable_node.rb, line 34 def not_filter_tokens @not_filter_tokens ||= @tokens.reject(&:filter?) end