Class: Decidim::Debates::DebateCardMetadataCell

Inherits:
CardMetadataCell
  • Object
show all
Includes:
ActionView::Helpers::DateHelper, LayoutHelper
Defined in:
app/cells/decidim/debates/debate_card_metadata_cell.rb

Overview

This cell renders metadata for an instance of a Meeting

Direct Known Subclasses

DebateMetadataGCell

Instance Method Summary collapse

Constructor Details

#initializeDebateCardMetadataCell

Returns a new instance of DebateCardMetadataCell.



14
15
16
17
18
# File 'app/cells/decidim/debates/debate_card_metadata_cell.rb', line 14

def initialize(*)
  super

  @items.prepend(*debate_items)
end

Instance Method Details

#debate_itemsObject



20
21
22
# File 'app/cells/decidim/debates/debate_card_metadata_cell.rb', line 20

def debate_items
  [label, duration, comments_count_item, likes_count_item] + taxonomy_items + [coauthors_item]
end

#durationObject



24
25
26
27
28
29
30
31
32
# File 'app/cells/decidim/debates/debate_card_metadata_cell.rb', line 24

def duration
  text = format_date_range(debate.start_time, debate.end_time)
  return if text.blank?

  {
    text:,
    icon: "time-line"
  }
end

#labelObject

i18n-tasks-use t(“decidim.debates.debates.show.ongoing”) i18n-tasks-use t(“decidim.debates.debates.show.not_started”)



36
37
38
39
40
# File 'app/cells/decidim/debates/debate_card_metadata_cell.rb', line 36

def label
  {
    text: ("span", t(label_string, scope: "decidim.debates.debates.show"), class: "#{label_class} label")
  }
end

#label_classObject



53
54
55
56
57
58
59
60
61
62
# File 'app/cells/decidim/debates/debate_card_metadata_cell.rb', line 53

def label_class
  case debate.state
  when :ongoing
    "success"
  when :not_started
    "warning"
  else
    "alert"
  end
end

#label_stringObject



42
43
44
45
46
47
48
49
50
51
# File 'app/cells/decidim/debates/debate_card_metadata_cell.rb', line 42

def label_string
  case debate.state
  when :ongoing
    "ongoing"
  when :not_started
    "not_started"
  else
    "closed"
  end
end