Sha256: ca7fcd91741a30581ee73ebb6382f5ef172723f696db541e3f00de88b5b13650

Contents?: true

Size: 524 Bytes

Versions: 25

Compression:

Stored size: 524 Bytes

Contents

# frozen_string_literal: true

module Decidim
  module Attributes
    # Custom attributes value to parse a String representing a Date using
    # the app localization format.
    class LocalizedDate < ActiveModel::Type::Date
      def type
        :"decidim/attributes/localized_date"
      end

      private

      def cast_value(value)
        return value unless value.is_a?(String)

        Date.strptime(value, I18n.t("date.formats.decidim_short"))
      rescue ArgumentError
        super
      end
    end
  end
end

Version data entries

25 entries across 25 versions & 1 rubygems

Version Path
decidim-core-0.30.0.rc1 lib/decidim/attributes/localized_date.rb
decidim-core-0.29.2 lib/decidim/attributes/localized_date.rb
decidim-core-0.28.5 lib/decidim/attributes/localized_date.rb
decidim-core-0.29.1 lib/decidim/attributes/localized_date.rb
decidim-core-0.28.4 lib/decidim/attributes/localized_date.rb
decidim-core-0.27.9 lib/decidim/attributes/localized_date.rb
decidim-core-0.29.0 lib/decidim/attributes/localized_date.rb
decidim-core-0.28.3 lib/decidim/attributes/localized_date.rb
decidim-core-0.27.8 lib/decidim/attributes/localized_date.rb
decidim-core-0.29.0.rc4 lib/decidim/attributes/localized_date.rb
decidim-core-0.29.0.rc3 lib/decidim/attributes/localized_date.rb
decidim-core-0.29.0.rc2 lib/decidim/attributes/localized_date.rb
decidim-core-0.29.0.rc1 lib/decidim/attributes/localized_date.rb
decidim-core-0.28.2 lib/decidim/attributes/localized_date.rb
decidim-core-0.27.7 lib/decidim/attributes/localized_date.rb
decidim-core-0.28.1 lib/decidim/attributes/localized_date.rb
decidim-core-0.27.6 lib/decidim/attributes/localized_date.rb
decidim-core-0.28.0 lib/decidim/attributes/localized_date.rb
decidim-core-0.27.5 lib/decidim/attributes/localized_date.rb
decidim-core-0.28.0.rc5 lib/decidim/attributes/localized_date.rb