app/helpers/formatted_timestamp_helper.rb
module FormattedTimestampHelper def long_timestamp(time) formatted_timestamp(time, :long) end def short_timestamp(time) formatted_timestamp(time, :short) end def relative_timestamp(time) formatted_timestamp(time, :relative) end private Method `formatted_timestamp` has a Cognitive Complexity of 6 (exceeds 5 allowed). Consider refactoring. def formatted_timestamp(time, format) # If we're in the current year, don't display the year if format == :long && time.year == Time.now.year format = :long_no_year end text_version = if format == :relative time_ago_in_words(time) else time.strftime(I18n.t("time.formats.#{format}")) end strftime_format = unless format == :relative I18n.t("time.formats.#{format}") end "<time data-formatted-timestamp='#{format}' datetime='#{time.iso8601}' " \ "data-format='#{strftime_format}'>" \ "#{text_version}</time>".html_safe endend