diff --git a/graphene/types/enum.py b/graphene/types/enum.py index 0c7e3c2f..2fda8412 100644 --- a/graphene/types/enum.py +++ b/graphene/types/enum.py @@ -66,14 +66,14 @@ class EnumTypeMeta(type): def __call__(cls, *args, **kwargs): if cls is Enum: - return cls.from_enum(PyEnum(*args, **kwargs)) + description = kwargs.pop('description', None) + return cls.from_enum(PyEnum(*args, **kwargs), description=description) return super(EnumTypeMeta, cls).__call__(*args, **kwargs) class Enum(six.with_metaclass(EnumTypeMeta, UnmountedType)): @classmethod - def from_enum(cls, python_enum): - class Meta: - enum = python_enum + def from_enum(cls, enum, description=None): + Meta = type('Meta', (object,), {'enum': enum, 'description': description}) return type(Meta.enum.__name__, (Enum,), {'Meta': Meta}) diff --git a/graphene/types/tests/test_schema.py b/graphene/types/tests/test_schema.py index fcda7283..cb5ed568 100644 --- a/graphene/types/tests/test_schema.py +++ b/graphene/types/tests/test_schema.py @@ -16,7 +16,6 @@ class Pet(ObjectType): type = String() -# @implements(Character) class Human(ObjectType): class Meta: