Sha256: 27afa2a6ddcc62b70aaf551ba7b5870243d2ba86c61f6f47a8e1b3ba6f644e7a

Contents?: true

Size: 956 Bytes

Versions: 39

Compression:

Stored size: 956 Bytes

Contents

# frozen_string_literal: true

module Decidim
  # This cell renders a date or a date range
  # the `model` is expected to be an hash with two keys:
  #  `start` is the starting datetime
  #  `end` is the ending datetime
  # both are optional
  #
  # {
  #   start: model.start_time,
  #   end: model.end_time
  # }
  #
  class DateRangeCell < Decidim::ViewModel
    include Decidim::IconHelper

    def show
      return unless start_time && end_time

      render :show
    end

    private

    def start_time
      model[:start]
    end

    def end_time
      model[:end]
    end

    def same_day?
      start_time.beginning_of_day == end_time.beginning_of_day
    end

    def same_year?
      start_time.beginning_of_year == end_time.beginning_of_year
    end

    def show_year?
      !same_year? || !current_year?(start_time) || !current_year?(end_time)
    end

    def current_year?(time)
      time.year == Time.zone.now.year
    end
  end
end

Version data entries

39 entries across 39 versions & 1 rubygems

Version Path
decidim-core-0.28.5 app/cells/decidim/date_range_cell.rb
decidim-core-0.28.4 app/cells/decidim/date_range_cell.rb
decidim-core-0.27.9 app/cells/decidim/date_range_cell.rb
decidim-core-0.28.3 app/cells/decidim/date_range_cell.rb
decidim-core-0.27.8 app/cells/decidim/date_range_cell.rb
decidim-core-0.28.2 app/cells/decidim/date_range_cell.rb
decidim-core-0.27.7 app/cells/decidim/date_range_cell.rb
decidim-core-0.28.1 app/cells/decidim/date_range_cell.rb
decidim-core-0.27.6 app/cells/decidim/date_range_cell.rb
decidim-core-0.26.10 app/cells/decidim/date_range_cell.rb
decidim-core-0.26.9 app/cells/decidim/date_range_cell.rb
decidim-core-0.28.0 app/cells/decidim/date_range_cell.rb
decidim-core-0.27.5 app/cells/decidim/date_range_cell.rb
decidim-core-0.28.0.rc5 app/cells/decidim/date_range_cell.rb
decidim-core-0.28.0.rc4 app/cells/decidim/date_range_cell.rb
decidim-core-0.26.8 app/cells/decidim/date_range_cell.rb
decidim-core-0.27.4 app/cells/decidim/date_range_cell.rb
decidim-core-0.27.3 app/cells/decidim/date_range_cell.rb
decidim-core-0.26.7 app/cells/decidim/date_range_cell.rb
decidim-core-0.26.5 app/cells/decidim/date_range_cell.rb