Class: Gitter::FacetData
Instance Attribute Summary collapse
-
#count ⇒ Object
readonly
Returns the value of attribute count.
-
#facet ⇒ Object
readonly
Returns the value of attribute facet.
-
#raw_value ⇒ Object
readonly
Returns the value of attribute raw_value.
Instance Method Summary collapse
-
#initialize(facet, raw_value, label, count) ⇒ FacetData
constructor
A new instance of FacetData.
- #label ⇒ Object
- #link(opts = {}) ⇒ Object
- #params ⇒ Object
- #selected? ⇒ Boolean
- #to_s ⇒ Object
- #value ⇒ Object
Methods included from Utils
Constructor Details
#initialize(facet, raw_value, label, count) ⇒ FacetData
Returns a new instance of FacetData.
12 13 14 |
# File 'lib/gitter/facet.rb', line 12 def initialize facet, raw_value, label, count @facet, @raw_value, @label, @count = facet, raw_value, label, count end |
Instance Attribute Details
#count ⇒ Object (readonly)
Returns the value of attribute count.
8 9 10 |
# File 'lib/gitter/facet.rb', line 8 def count @count end |
#facet ⇒ Object (readonly)
Returns the value of attribute facet.
8 9 10 |
# File 'lib/gitter/facet.rb', line 8 def facet @facet end |
#raw_value ⇒ Object (readonly)
Returns the value of attribute raw_value.
8 9 10 |
# File 'lib/gitter/facet.rb', line 8 def raw_value @raw_value end |
Instance Method Details
#label ⇒ Object
28 29 30 31 |
# File 'lib/gitter/facet.rb', line 28 def label #@label || grid.translate(:facets, raw_value) || '-' @label || raw_value || '-' end |
#link(opts = {}) ⇒ Object
33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 |
# File 'lib/gitter/facet.rb', line 33 def link opts = {} @link ||= begin p = grid.params.dup p.delete name p[name] = raw_value if raw_value.present? p = grid.scoped_params p p[:page] = 1 p[:show] = true p = p.merge(opts) value_class = selected? ? 'facet_value_selected' : 'selected' value_tag = h.content_tag :span, label, class: value_class value_tag = h.link_to value_tag, url_for(p) if selected? or not facet.selected? count_tag = h.content_tag :span, "(#{count})", class: 'facet_count' else count_tag = '' end h.content_tag :span, (value_tag + count_tag), {class: 'facet_entry'}, false end end |
#params ⇒ Object
20 21 22 |
# File 'lib/gitter/facet.rb', line 20 def params @params ||= grid.scoped_params name => raw_value end |
#selected? ⇒ Boolean
24 25 26 |
# File 'lib/gitter/facet.rb', line 24 def selected? @selected ||= facet.selected_value == raw_value.to_s end |
#to_s ⇒ Object
57 58 59 |
# File 'lib/gitter/facet.rb', line 57 def to_s "#{name}:#{value}(#{raw_value})=#{count}" end |
#value ⇒ Object
16 17 18 |
# File 'lib/gitter/facet.rb', line 16 def value @value ||= facet.format raw_value end |