Sha256: e482417071e8e98bfc8b5eefae42c974d992d41191cb95762a05fe076c876678

Contents?: true

Size: 414 Bytes

Versions: 10

Compression:

Stored size: 414 Bytes

Contents

# frozen_string_literal: true

module Decidim
  module Attributes
    # Custom Virtus value to parse a String representing a Time using
    # the app TimeZone.
    class TimeWithZone < Virtus::Attribute
      def coerce(value)
        return value unless value.is_a?(String)
        Time.zone.strptime(value, I18n.t("time.formats.decidim_short"))
      rescue ArgumentError
        nil
      end
    end
  end
end

Version data entries

10 entries across 10 versions & 1 rubygems

Version Path
decidim-core-0.18.1 lib/decidim/attributes/time_with_zone.rb
decidim-core-0.17.2 lib/decidim/attributes/time_with_zone.rb
decidim-core-0.18.0 lib/decidim/attributes/time_with_zone.rb
decidim-core-0.17.1 lib/decidim/attributes/time_with_zone.rb
decidim-core-0.16.1 lib/decidim/attributes/time_with_zone.rb
decidim-core-0.17.0 lib/decidim/attributes/time_with_zone.rb
decidim-core-0.16.0 lib/decidim/attributes/time_with_zone.rb
decidim-core-0.15.2 lib/decidim/attributes/time_with_zone.rb
decidim-core-0.15.1 lib/decidim/attributes/time_with_zone.rb
decidim-core-0.15.0 lib/decidim/attributes/time_with_zone.rb