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.



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

def initialize filter
  @filter = filter
end

Instance Attribute Details

#filterObject (readonly)

Returns the value of attribute filter.



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

def filter
  @filter
end

Instance Method Details

#data(opts = {}) ⇒ Object



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

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



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

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

#params_for_anyObject



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

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

#selected_data(opts = {}) ⇒ Object



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

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

#to_sObject



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

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