Sha256: 8b91dfa268f9ba22267e4fadf1c86445d87276a58a32d8398fe4b75ff58ac31e
Contents?: true
Size: 704 Bytes
Versions: 8
Compression:
Stored size: 704 Bytes
Contents
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
8 entries across 8 versions & 1 rubygems