Skip to content

Commit

Permalink
Merge branch 'release/7.1.3'
Browse files Browse the repository at this point in the history
  • Loading branch information
johnbywater committed Jul 4, 2019
2 parents 836d633 + 5d43bf2 commit 56f6a18
Show file tree
Hide file tree
Showing 15 changed files with 360 additions and 185 deletions.
244 changes: 165 additions & 79 deletions docs/topics/domainmodel.rst

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion eventsourcing/__init__.py
Original file line number Diff line number Diff line change
@@ -1 +1 @@
__version__ = '7.1.2'
__version__ = '7.1.3'
19 changes: 9 additions & 10 deletions eventsourcing/domain/model/entity.py
Original file line number Diff line number Diff line change
Expand Up @@ -66,7 +66,7 @@ def __create__(cls, originator_id=None, event_class=None, **kwargs):

class Created(Event, Created):
"""
Published when an entity is created.
Triggered when an entity is created.
"""

def __init__(self, originator_topic, **kwargs):
Expand Down Expand Up @@ -101,7 +101,7 @@ def __change_attribute__(self, name, value):

class AttributeChanged(Event, AttributeChanged):
"""
Published when a DomainEntity is discarded.
Triggered when a named attribute is assigned a new value.
"""

def __mutate__(self, obj):
Expand All @@ -117,7 +117,7 @@ def __discard__(self):

class Discarded(Discarded, Event):
"""
Published when a DomainEntity is discarded.
Triggered when a DomainEntity is discarded.
"""

def __mutate__(self, obj):
Expand Down Expand Up @@ -221,6 +221,9 @@ def __mutate__(self, entity_class=None):
# Call super method.
return super(EntityWithHashchain.Created, self).__mutate__(entity_class)

class AttributeChanged(Event, DomainEntity.AttributeChanged):
pass

class Discarded(Event, DomainEntity.Discarded):
def __mutate__(self, obj):
# Set entity head from event hash.
Expand Down Expand Up @@ -310,12 +313,6 @@ class AttributeChanged(Event, DomainEntity.AttributeChanged):
class Discarded(Event, DomainEntity.Discarded):
"""Published when a VersionedEntity is discarded."""

# def __change_attribute__(self, name, value):
# if self.__version__:
# super(VersionedEntity, self).__change_attribute__(name, value)
# else:
# setattr(self, name, value)


class TimestampedEntity(DomainEntity):
def __init__(self, __created_on__=None, **kwargs):
Expand All @@ -335,7 +332,7 @@ class Event(DomainEntity.Event, EventWithTimestamp):
"""Supertype for events of timestamped entities."""

def __mutate__(self, obj):
"""Update obj with values from self."""
"""Updates 'obj' with values from self."""
obj = super(TimestampedEntity.Event, self).__mutate__(obj)
if obj is not None:
assert isinstance(obj, TimestampedEntity), obj
Expand All @@ -358,6 +355,8 @@ class Discarded(Event, DomainEntity.Discarded):
"""Published when a TimestampedEntity is discarded."""


# Todo: Move stuff from "test_customise_with_alternative_domain_event_type" in here (to define event classes
# and update ___last_event_id__ in mutate method).
class TimeuuidedEntity(DomainEntity):
def __init__(self, event_id, **kwargs):
super(TimeuuidedEntity, self).__init__(**kwargs)
Expand Down
Loading

0 comments on commit 56f6a18

Please sign in to comment.