Sha256: 48e918fd6057f2cdb73ca156bc521abccca646948109d93cfe00583280ab195c

Contents?: true

Size: 490 Bytes

Versions: 28

Compression:

Stored size: 490 Bytes

Contents

# frozen_string_literal: true

module Decidim
  module Attributes
    # Custom attributes value to represent a Symbol.
    class Symbol < ActiveModel::Type::Value
      def type # :nodoc:
        :symbol
      end

      private

      def cast_value(value)
        return value if value.is_a?(::Symbol)

        value = value.to_s if !value.respond_to?(:to_sym) && value.respond_to?(:to_s)
        return unless value.respond_to?(:to_sym)

        value.to_sym
      end
    end
  end
end

Version data entries

28 entries across 28 versions & 1 rubygems

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