class ArtirixDataModels::Aggregation::Value

Attributes

aggregation_name[RW]
aggregations[W]
count[RW]
filtered[RW]
name[RW]
nested_aggregations=[W]

Public Class Methods

new(aggregation_name, name, count, aggregations) click to toggle source
# File lib/artirix_data_models/aggregation.rb, line 82
def initialize(aggregation_name, name, count, aggregations)
  @aggregation_name = aggregation_name
  @name             = name
  @count            = count
  @aggregations     = aggregations
end

Public Instance Methods

aggregation(name) click to toggle source
# File lib/artirix_data_models/aggregation.rb, line 108
def aggregation(name)
  n = name.to_sym
  aggregations.detect { |x| x.name == n }
end
aggregations() click to toggle source
# File lib/artirix_data_models/aggregation.rb, line 89
def aggregations
  Array(@aggregations)
end
Also aliased as: nested_aggregations
basic_data_hash() click to toggle source
# File lib/artirix_data_models/aggregation.rb, line 121
def basic_data_hash
  {
    name:  name,
    count: count
  }
end
data_hash() click to toggle source
# File lib/artirix_data_models/aggregation.rb, line 113
def data_hash
  basic_data_hash.tap do |h|
    if aggregations.present?
      h[:aggregations] = aggregations.map(&:data_hash)
    end
  end
end
default_pretty_name() click to toggle source
# File lib/artirix_data_models/aggregation.rb, line 100
def default_pretty_name
  name
end
empty?() click to toggle source
# File lib/artirix_data_models/aggregation.rb, line 104
def empty?
  count == 0
end
filtered?() click to toggle source
# File lib/artirix_data_models/aggregation.rb, line 136
def filtered?
  !!@filtered
end
mark_filtered() click to toggle source
# File lib/artirix_data_models/aggregation.rb, line 128
def mark_filtered
  @filtered = true
end
mark_unfiltered() click to toggle source
# File lib/artirix_data_models/aggregation.rb, line 132
def mark_unfiltered
  @filtered = false
end
nested_aggregations()
Alias for: aggregations
pretty_name() click to toggle source
# File lib/artirix_data_models/aggregation.rb, line 96
def pretty_name
  @pretty_name ||= load_pretty_name
end

Private Instance Methods

load_pretty_name() click to toggle source
# File lib/artirix_data_models/aggregation.rb, line 141
def load_pretty_name
  tranlsation_key = "aggregations.#{aggregation_name.to_s.gsub('.', '_')}.buckets.#{name.to_s.gsub('.', '_')}"
  I18n.t(tranlsation_key, default: default_pretty_name)
end