Class: ArtirixDataModels::Aggregation::Value

Inherits:
Object
  • Object
show all
Defined in:
lib/artirix_data_models/aggregation.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(aggregation_name, name, count, aggregations) ⇒ Value

Returns a new instance of Value.



77
78
79
80
81
82
# File 'lib/artirix_data_models/aggregation.rb', line 77

def initialize(aggregation_name, name, count, aggregations)
  @aggregation_name = aggregation_name
  @name             = name
  @count            = count
  @aggregations     = aggregations
end

Instance Attribute Details

#aggregation_nameObject

Returns the value of attribute aggregation_name.



74
75
76
# File 'lib/artirix_data_models/aggregation.rb', line 74

def aggregation_name
  @aggregation_name
end

#aggregationsObject Also known as: nested_aggregations



84
85
86
# File 'lib/artirix_data_models/aggregation.rb', line 84

def aggregations
  Array(@aggregations)
end

#countObject

Returns the value of attribute count.



74
75
76
# File 'lib/artirix_data_models/aggregation.rb', line 74

def count
  @count
end

#filteredObject

Returns the value of attribute filtered.



74
75
76
# File 'lib/artirix_data_models/aggregation.rb', line 74

def filtered
  @filtered
end

#nameObject

Returns the value of attribute name.



74
75
76
# File 'lib/artirix_data_models/aggregation.rb', line 74

def name
  @name
end

Instance Method Details

#aggregation(name) ⇒ Object



103
104
105
106
# File 'lib/artirix_data_models/aggregation.rb', line 103

def aggregation(name)
  n = name.to_sym
  aggregations.detect { |x| x.name == n }
end

#basic_data_hashObject



116
117
118
119
120
121
# File 'lib/artirix_data_models/aggregation.rb', line 116

def basic_data_hash
  {
    name:  name,
    count: count
  }
end

#data_hashObject



108
109
110
111
112
113
114
# File 'lib/artirix_data_models/aggregation.rb', line 108

def data_hash
  basic_data_hash.tap do |h|
    if aggregations.present?
      h[:aggregations] = aggregations.map(&:data_hash)
    end
  end
end

#default_pretty_nameObject



95
96
97
# File 'lib/artirix_data_models/aggregation.rb', line 95

def default_pretty_name
  name
end

#empty?Boolean

Returns:

  • (Boolean)


99
100
101
# File 'lib/artirix_data_models/aggregation.rb', line 99

def empty?
  count == 0
end

#filtered?Boolean

Returns:

  • (Boolean)


131
132
133
# File 'lib/artirix_data_models/aggregation.rb', line 131

def filtered?
  !!@filtered
end

#mark_filteredObject



123
124
125
# File 'lib/artirix_data_models/aggregation.rb', line 123

def mark_filtered
  @filtered = true
end

#mark_unfilteredObject



127
128
129
# File 'lib/artirix_data_models/aggregation.rb', line 127

def mark_unfiltered
  @filtered = false
end

#pretty_nameObject



91
92
93
# File 'lib/artirix_data_models/aggregation.rb', line 91

def pretty_name
  @pretty_name ||= load_pretty_name
end