{"action":"created","issue":{"url":"https://api.github.com/repos/kswoll/ReactiveUI.Fody/issues/20","repository_url":"https://api.github.com/repos/kswoll/ReactiveUI.Fody","labels_url":"https://api.github.com/repos/kswoll/ReactiveUI.Fody/issues/20/labels{/name}","comments_url":"https://api.github.com/repos/kswoll/ReactiveUI.Fody/issues/20/comments","events_url":"https://api.github.com/repos/kswoll/ReactiveUI.Fody/issues/20/events","html_url":"https://github.com/kswoll/ReactiveUI.Fody/pull/20","id":173114513,"number":20,"title":"Add support for raising property change when destination field isn't owned by the class","user":{"login":"Syrus666","id":10539288,"avatar_url":"https://avatars.githubusercontent.com/u/10539288?v=3","gravatar_id":"","url":"https://api.github.com/users/Syrus666","html_url":"https://github.com/Syrus666","followers_url":"https://api.github.com/users/Syrus666/followers","following_url":"https://api.github.com/users/Syrus666/following{/other_user}","gists_url":"https://api.github.com/users/Syrus666/gists{/gist_id}","starred_url":"https://api.github.com/users/Syrus666/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Syrus666/subscriptions","organizations_url":"https://api.github.com/users/Syrus666/orgs","repos_url":"https://api.github.com/users/Syrus666/repos","events_url":"https://api.github.com/users/Syrus666/events{/privacy}","received_events_url":"https://api.github.com/users/Syrus666/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":1,"created_at":"2016-08-25T05:02:08Z","updated_at":"2016-08-26T01:51:41Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/kswoll/ReactiveUI.Fody/pulls/20","html_url":"https://github.com/kswoll/ReactiveUI.Fody/pull/20","diff_url":"https://github.com/kswoll/ReactiveUI.Fody/pull/20.diff","patch_url":"https://github.com/kswoll/ReactiveUI.Fody/pull/20.patch"},"body":"Adds support for raising property change within an object, when this is a pass through update to an injected dependency or object contained within the class. See usage below using the decorator pattern as an example.\r\n\r\n+ Added new ReactiveDependencyPropertyWeaver which supports targeting properties one level deep on a named property or field.\r\n+ Added unit tests for decorator pattern and facades\r\n+ Updated ModuleWeaver to use new weaver\r\n\r\nSample Usage\r\n```C#\r\npublic class Thing : IThing\r\n{\r\n    [Reactive]\r\n    public virtual string CoolProperty { get; set; }\r\n}\r\n\r\npublic class DecoratedThing : Thing\r\n{\r\n    private Thing _thing;\r\n    public DecoratedThing(Thing thing)\r\n    {\r\n        _thing = thing;\r\n    }\r\n\r\n    // BEFORE\r\n    public override string CoolProperty\r\n    {\r\n        get { return _thing.CoolProperty; }\r\n        set\r\n        {\r\n            _thing.CoolProperty = value;\r\n            this.RaisePropertyChanged(\"CoolProperty\");\r\n        }\r\n    }\r\n\r\n    // AFTER\r\n    [ReactiveDependency(nameof(_thing)]\r\n    public override string CoolProperty { get; set; }\r\n}\r\n```"},"comment":{"url":"https://api.github.com/repos/kswoll/ReactiveUI.Fody/issues/comments/242600799","html_url":"https://github.com/kswoll/ReactiveUI.Fody/pull/20#issuecomment-242600799","issue_url":"https://api.github.com/repos/kswoll/ReactiveUI.Fody/issues/20","id":242600799,"user":{"login":"kswoll","id":2157240,"avatar_url":"https://avatars.githubusercontent.com/u/2157240?v=3","gravatar_id":"","url":"https://api.github.com/users/kswoll","html_url":"https://github.com/kswoll","followers_url":"https://api.github.com/users/kswoll/followers","following_url":"https://api.github.com/users/kswoll/following{/other_user}","gists_url":"https://api.github.com/users/kswoll/gists{/gist_id}","starred_url":"https://api.github.com/users/kswoll/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/kswoll/subscriptions","organizations_url":"https://api.github.com/users/kswoll/orgs","repos_url":"https://api.github.com/users/kswoll/repos","events_url":"https://api.github.com/users/kswoll/events{/privacy}","received_events_url":"https://api.github.com/users/kswoll/received_events","type":"User","site_admin":false},"created_at":"2016-08-26T01:51:41Z","updated_at":"2016-08-26T01:51:41Z","body":"I think this is a nice feature, and your code looks great.  I'll probably make some tweaks at some point to see if we can maybe have one weaver that handles both scenarios, since it seems like the implementation is pretty similar to the existing property weaver.  Also, a few issues in terms of consistent code style (underscores prefixes for the fields, etc.), but I don't see any reason to let that stand in the way of getting this PR merged in now.  I'll also update the Readme when I get a chance to illustrate how this feature works.  \r\n\r\nThanks again!"}}
{"actor":{"display_login":"kswoll"}}