Sha256: 8a37bd5c19e86b556ab89ece9978dc63bf045c132d75532dc2f580945f56d7b5
Contents?: true
Size: 734 Bytes
Versions: 19
Compression:
Stored size: 734 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) case when type == Document::Enum AttributeInitializer::Enum when type && type.included_modules.include?(::ActiveModel::Model) AttributeInitializer::ActiveModel else AttributeInitializer::Base end end private_class_method :build_class end end
Version data entries
19 entries across 19 versions & 1 rubygems