Sha256: 019c0a31537de7cd9ec5853946937cf2b1db2e9c942d159896e34ea59d607d4e
Contents?: true
Size: 1.07 KB
Versions: 2
Compression:
Stored size: 1.07 KB
Contents
# frozen_string_literal: true module Phlexi module Display module Components class DateTime < Base include Concerns::DisplaysValue # Renders the date time value # # @param value [String, Date, Time, DateTime] The value to be rendered # @return [void] def render_value(value) formatted_value = format_date_time(value) p(**attributes) { formatted_value } end protected def build_attributes super @options = { format: default_format }.merge(attributes.delete(:options) || {}).compact end private def format_date_time(value) I18n.l(value, **@options) end def default_format :long end def normalize_value(value) case value when Date, DateTime, Time, nil value else raise ArgumentError, "Value must be a Date, DateTime or Time object. #{value.inspect} given." end end end end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
phlexi-display-0.0.3 | lib/phlexi/display/components/date_time.rb |
phlexi-display-0.0.2 | lib/phlexi/display/components/date_time.rb |