{"push_id":730088025,"size":17,"distinct_size":17,"ref":"refs/heads/master","head":"7d8128e67da3c0e9c244fa12fde629ac2111db6e","before":"364a57d9655aa36a21af5054bffe5f41f62a48b9","commits":[{"sha":"c1b81b8d42390db3ba0c2dc8cc2ea98ff2cff619","author":{"email":"8fda583214dd5ff15ece0f9dfbee22815918ceb5@gmail.com","name":"Christian Tietze"},"message":"extract the DTOs and the adapter into their own file","distinct":true,"url":"https://api.github.com/repos/DivineDominion/mac-appdev-code/commits/c1b81b8d42390db3ba0c2dc8cc2ea98ff2cff619"},{"sha":"8b3da44df2300e420b093853bb843c02343cab4c","author":{"email":"8fda583214dd5ff15ece0f9dfbee22815918ceb5@gmail.com","name":"Christian Tietze"},"message":"remove boxes and items\n\n- combine functional tests into UseBoxAndItemTests\n- add removeBox/removeItem to HandlesItemListEvents\n- add removeBox to BoxRepository\n- add removeItem to Box\n- add remove button to VC\n- remove superfluous assertion messages","distinct":true,"url":"https://api.github.com/repos/DivineDominion/mac-appdev-code/commits/8b3da44df2300e420b093853bb843c02343cab4c"},{"sha":"41554dfce6d796d0fc7980830e0570fa6ec6a7ea","author":{"email":"8fda583214dd5ff15ece0f9dfbee22815918ceb5@gmail.com","name":"Christian Tietze"},"message":"rename boxWithId(_:BoxId) to box(boxId:BoxId)","distinct":true,"url":"https://api.github.com/repos/DivineDominion/mac-appdev-code/commits/41554dfce6d796d0fc7980830e0570fa6ec6a7ea"},{"sha":"7e4abb5b06402eb01ec9fd1cc1b39a9dff7c318a","author":{"email":"8fda583214dd5ff15ece0f9dfbee22815918ceb5@gmail.com","name":"Christian Tietze"},"message":"remove nodes from box-item-tree upon button press","distinct":true,"url":"https://api.github.com/repos/DivineDominion/mac-appdev-code/commits/7e4abb5b06402eb01ec9fd1cc1b39a9dff7c318a"},{"sha":"edf56b534c32e97e2c0c75d3d03f30302532a7c1","author":{"email":"8fda583214dd5ff15ece0f9dfbee22815918ceb5@gmail.com","name":"Christian Tietze"},"message":"change lazy property to computed property","distinct":true,"url":"https://api.github.com/repos/DivineDominion/mac-appdev-code/commits/edf56b534c32e97e2c0c75d3d03f30302532a7c1"},{"sha":"8abe3c0a0eee951e70a0375e96d2775cc26a3597","author":{"email":"8fda583214dd5ff15ece0f9dfbee22815918ceb5@gmail.com","name":"Christian Tietze"},"message":"replace provisionNewBoxId with createBox/consume(box)\n\n- add view controller as consumer to BoxAndItemService\n- add ProvisioningService in domain\n- publish domain events in ProvisioningService\n- push domain changes to view via subscriptions\n- add Utilities swift file (delay func)","distinct":true,"url":"https://api.github.com/repos/DivineDominion/mac-appdev-code/commits/8abe3c0a0eee951e70a0375e96d2775cc26a3597"},{"sha":"ba050fbfeb2adbb6656c0b0477b62e2e5705f5b8","author":{"email":"8fda583214dd5ff15ece0f9dfbee22815918ceb5@gmail.com","name":"Christian Tietze"},"message":"rename application services\n\n- make presenter and event handler visible to module-level only\n- replace DomainEventPublisher in functional tests","distinct":true,"url":"https://api.github.com/repos/DivineDominion/mac-appdev-code/commits/ba050fbfeb2adbb6656c0b0477b62e2e5705f5b8"},{"sha":"d0a8c7b56296961a662bd1681b134dfe550adfff","author":{"email":"8fda583214dd5ff15ece0f9dfbee22815918ceb5@gmail.com","name":"Christian Tietze"},"message":"use real DomainEvents instead of notifications\n\n- add DomainEvent types BoxProvisionedEvent and BoxItemProvisisonedEvent\n- let events (de)serialize from/to userInfo dictionaries\n- add meaningful methods to DomainPublisher: publish, subscribe, unsubscribe","distinct":true,"url":"https://api.github.com/repos/DivineDominion/mac-appdev-code/commits/d0a8c7b56296961a662bd1681b134dfe550adfff"},{"sha":"3e71918fbb4987ef6c78767d50f1d97875e74769","author":{"email":"8fda583214dd5ff15ece0f9dfbee22815918ceb5@gmail.com","name":"Christian Tietze"},"message":"make DomainEventPublisher a replaceable singleton\n\nBecause a publisher instance and not one of its properties is used, it has to be replaced\nentirely. The approach familiar from Objective-C sounds fitting.","distinct":true,"url":"https://api.github.com/repos/DivineDominion/mac-appdev-code/commits/3e71918fbb4987ef6c78767d50f1d97875e74769"},{"sha":"9a8f41d29b1bd48eb1d6f7475699da0d0d925c2b","author":{"email":"8fda583214dd5ff15ece0f9dfbee22815918ceb5@gmail.com","name":"Christian Tietze"},"message":"add TestDomainEventPublisher and NullNotificationCenter for isolating tests","distinct":true,"url":"https://api.github.com/repos/DivineDominion/mac-appdev-code/commits/9a8f41d29b1bd48eb1d6f7475699da0d0d925c2b"},{"sha":"a2b0f4c578abbe4407d5cc06b7fc423472cb8151","author":{"email":"8fda583214dd5ff15ece0f9dfbee22815918ceb5@gmail.com","name":"Christian Tietze"},"message":"test ProvisioningService sending domain events","distinct":true,"url":"https://api.github.com/repos/DivineDominion/mac-appdev-code/commits/a2b0f4c578abbe4407d5cc06b7fc423472cb8151"},{"sha":"74cf8041d561e6ecbe696dbb8f9c5d6046005405","author":{"email":"8fda583214dd5ff15ece0f9dfbee22815918ceb5@gmail.com","name":"Christian Tietze"},"message":"refactor code for domain events\n\n- move domain events into their own file\n- refactor DisplayBoxesAndItems to do less in the subscribing callbacks","distinct":true,"url":"https://api.github.com/repos/DivineDominion/mac-appdev-code/commits/74cf8041d561e6ecbe696dbb8f9c5d6046005405"},{"sha":"92fc0518348cc62a3de62abacef806d4e576aa7e","author":{"email":"8fda583214dd5ff15ece0f9dfbee22815918ceb5@gmail.com","name":"Christian Tietze"},"message":"log and broadcast Core Data errors\n\n- read errors are sent using kCoreDataReadErrorNotificationName\n- the app quits (and tries to save implicitly) on read errors\n- write errors occur in PersistentStack only and stay fatal","distinct":true,"url":"https://api.github.com/repos/DivineDominion/mac-appdev-code/commits/92fc0518348cc62a3de62abacef806d4e576aa7e"},{"sha":"75a75c4a54add4e57849d22e8c8c47d32f074f86","author":{"email":"8fda583214dd5ff15ece0f9dfbee22815918ceb5@gmail.com","name":"Christian Tietze"},"message":"ensure text field values never become nil but empty strings instead","distinct":true,"url":"https://api.github.com/repos/DivineDominion/mac-appdev-code/commits/75a75c4a54add4e57849d22e8c8c47d32f074f86"},{"sha":"071e6b34dce605d6775458b3c9d654247d025003","author":{"email":"8fda583214dd5ff15ece0f9dfbee22815918ceb5@gmail.com","name":"Christian Tietze"},"message":"fix resetting the node's names when the new title is empty","distinct":true,"url":"https://api.github.com/repos/DivineDominion/mac-appdev-code/commits/071e6b34dce605d6775458b3c9d654247d025003"},{"sha":"453ffb2eddbd0c9d06bc542b6081f82d185d4e94","author":{"email":"8fda583214dd5ff15ece0f9dfbee22815918ceb5@gmail.com","name":"Christian Tietze"},"message":"clean up Box wrapping","distinct":true,"url":"https://api.github.com/repos/DivineDominion/mac-appdev-code/commits/453ffb2eddbd0c9d06bc542b6081f82d185d4e94"},{"sha":"7d8128e67da3c0e9c244fa12fde629ac2111db6e","author":{"email":"8fda583214dd5ff15ece0f9dfbee22815918ceb5@gmail.com","name":"Christian Tietze"},"message":"change to Swift 1.2","distinct":true,"url":"https://api.github.com/repos/DivineDominion/mac-appdev-code/commits/7d8128e67da3c0e9c244fa12fde629ac2111db6e"}]}