More adjustments for blog post

Nathan Sobo created

Change summary

crates/gpui/examples/ownership_post.rs | 23 ++++++++++++-----------
1 file changed, 12 insertions(+), 11 deletions(-)

Detailed changes

crates/gpui/examples/ownership_post.rs 🔗

@@ -4,12 +4,18 @@ struct Counter {
     count: usize,
 }
 
+struct Change {
+    increment: usize,
+}
+
+impl EventEmitter<Change> for Counter {}
+
 fn main() {
     App::new().run(|cx: &mut AppContext| {
         let counter: Model<Counter> = cx.new_model(|_cx| Counter { count: 0 });
-        let observer = cx.new_model(|cx: &mut ModelContext<Counter>| {
-            cx.observe(&counter, |observer, observed, cx| {
-                observer.count = observed.read(cx).count * 2;
+        let subscriber = cx.new_model(|cx: &mut ModelContext<Counter>| {
+            cx.subscribe(&counter, |subscriber, _emitter, event, _cx| {
+                subscriber.count += event.increment * 2;
             })
             .detach();
 
@@ -19,16 +25,11 @@ fn main() {
         });
 
         counter.update(cx, |counter, cx| {
-            counter.count += 1;
+            counter.count += 2;
             cx.notify();
+            cx.emit(Change { increment: 2 });
         });
 
-        assert_eq!(observer.read(cx).count, 2);
+        assert_eq!(subscriber.read(cx).count, 4);
     });
 }
-
-struct Change {
-    delta: isize,
-}
-
-impl EventEmitter<Change> for Counter {}