Sha256: 7c72ea4f5766c5e54ce3f9030e52a3b27780e205c031000012bf21efb4821ea6
Contents?: true
Size: 716 Bytes
Versions: 123
Compression:
Stored size: 716 Bytes
Contents
# frozen_string_literal: true require "document/attribute_initializer/base" require "document/attribute_initializer/active_model" require "document/attribute_initializer/enum" module Document module AttributeInitializer def self.determine_initializer(klass, name, type, options) initializer_class = build_class(type) initializer_class.new(klass, name, type, options) end def self.build_class(type) if type == Document::Enum AttributeInitializer::Enum elsif type&.included_modules&.include?(::ActiveModel::Model) AttributeInitializer::ActiveModel else AttributeInitializer::Base end end private_class_method :build_class end end
Version data entries
123 entries across 123 versions & 1 rubygems