Sha256: 75b61fa62c14cd882969b5328a34e0d60bd52d39851d7b9ba194db0d8eab39ee

Contents?: true

Size: 906 Bytes

Versions: 21

Compression:

Stored size: 906 Bytes

Contents

# encoding: utf-8
# frozen_string_literal: true

module BetterRecord
  class CustomType < ActiveRecord::Type::Value
    def self.normalize_type_value(value)
      raise "Method Not Implemented"
    end

    def self.cast(value)
      self.normalize_type_value(value)
    end

    def self.deserialize(value)
      self.normalize_type_value(value)
    end

    def self.serialize(value)
      self.normalize_type_value(value)
    end

    alias :super_cast :cast
    alias :super_deserialize :deserialize
    alias :super_serialize :serialize

    def cast(value)
      super_cast(self.class.cast(value))
    end

    def deserialize(value)
      super_deserialize(self.class.deserialize(value))
    end

    def serialize(value)
      super_serialize(self.class.serialize(value))
    end

    private
      def normalize_type_value(value)
        self.class.normalize_type_value(value)
      end
  end
end

Version data entries

21 entries across 21 versions & 1 rubygems

Version Path
better_record-0.25.2 lib/better_record/custom_type.rb
better_record-0.25.1 lib/better_record/custom_type.rb
better_record-0.25.0 lib/better_record/custom_type.rb
better_record-0.24.4 lib/better_record/custom_type.rb
better_record-0.24.3 lib/better_record/custom_type.rb
better_record-0.23.7 lib/better_record/custom_type.rb
better_record-0.23.6 lib/better_record/custom_type.rb
better_record-0.23.5 lib/better_record/custom_type.rb
better_record-0.23.4 lib/better_record/custom_type.rb
better_record-0.23.3 lib/better_record/custom_type.rb
better_record-0.22.9 lib/better_record/custom_type.rb
better_record-0.22.8 lib/better_record/custom_type.rb
better_record-0.22.7 lib/better_record/custom_type.rb
better_record-0.22.6 lib/better_record/custom_type.rb
better_record-0.22.5 lib/better_record/custom_type.rb
better_record-0.22.4 lib/better_record/custom_type.rb
better_record-0.22.3 lib/better_record/custom_type.rb
better_record-0.21.3 lib/better_record/custom_type.rb
better_record-0.22.2 lib/better_record/custom_type.rb
better_record-0.22.0 lib/better_record/custom_type.rb