Class: Gitter::Facet

Inherits:
Object
  • Object
show all
Defined in:
lib/gitter/facet.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(filter) ⇒ Facet

Returns a new instance of Facet.



67
68
69
# File 'lib/gitter/facet.rb', line 67

def initialize filter
  @filter = filter
end

Instance Attribute Details

#filterObject (readonly)

Returns the value of attribute filter.



64
65
66
# File 'lib/gitter/facet.rb', line 64

def filter
  @filter
end

Instance Method Details

#data(opts = {}) ⇒ Object



83
84
85
86
87
88
89
# File 'lib/gitter/facet.rb', line 83

def data opts = {}
  values_to_counts = filter.counts
  values = opts[:include_zeros] ? filter.distinct_values(grid.driver) : values_to_counts.keys
  values.map do |value,label|
    FacetData.new self, value, label, (values_to_counts[value]||0)
  end
end

#labelObject



71
72
73
# File 'lib/gitter/facet.rb', line 71

def label
  filter.label || grid.translate(:facets, name)
end

#params_for_anyObject



75
76
77
# File 'lib/gitter/facet.rb', line 75

def params_for_any
  grid.scoped_params grid.params.reject{|k,v| k == name}
end

#selected_data(opts = {}) ⇒ Object



79
80
81
# File 'lib/gitter/facet.rb', line 79

def selected_data opts = {}
  data(opts).detect{|d|d.selected?}
end

#to_sObject



91
92
93
# File 'lib/gitter/facet.rb', line 91

def to_s
  "#{self.class}(#{name},label=#{label})"
end