{"action":"created","issue":{"url":"https://api.github.com/repos/ManageIQ/manageiq/issues/1786","labels_url":"https://api.github.com/repos/ManageIQ/manageiq/issues/1786/labels{/name}","comments_url":"https://api.github.com/repos/ManageIQ/manageiq/issues/1786/comments","events_url":"https://api.github.com/repos/ManageIQ/manageiq/issues/1786/events","html_url":"https://github.com/ManageIQ/manageiq/pull/1786","id":58139919,"number":1786,"title":"make `MiqAeObject` a node and delete `MiqAeDigraph`","user":{"login":"tenderlove","id":3124,"avatar_url":"https://avatars.githubusercontent.com/u/3124?v=3","gravatar_id":"","url":"https://api.github.com/users/tenderlove","html_url":"https://github.com/tenderlove","followers_url":"https://api.github.com/users/tenderlove/followers","following_url":"https://api.github.com/users/tenderlove/following{/other_user}","gists_url":"https://api.github.com/users/tenderlove/gists{/gist_id}","starred_url":"https://api.github.com/users/tenderlove/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/tenderlove/subscriptions","organizations_url":"https://api.github.com/users/tenderlove/orgs","repos_url":"https://api.github.com/users/tenderlove/repos","events_url":"https://api.github.com/users/tenderlove/events{/privacy}","received_events_url":"https://api.github.com/users/tenderlove/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/ManageIQ/manageiq/labels/refactoring","name":"refactoring","color":"fbca04"}],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":14,"created_at":"2015-02-18T22:34:07Z","updated_at":"2015-02-20T14:43:40Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/ManageIQ/manageiq/pulls/1786","html_url":"https://github.com/ManageIQ/manageiq/pull/1786","diff_url":"https://github.com/ManageIQ/manageiq/pull/1786.diff","patch_url":"https://github.com/ManageIQ/manageiq/pull/1786.patch"},"body":"MiqAeDigraph essentially [kept a one to one mapping](https://github.com/ManageIQ/manageiq/blob/7228c4a9d4fff57a81d8cd21caa27570803532a4/vmdb/lib/miq_automation_engine/engine/miq_ae_digraph.rb#L29-L31) between a Node object and a MiqAeObject object.  If we move the parent and child pointers to the MiqAeObject class, and directly consult the object for it's parents and children, then we can remove the MiqAeDigraph class.\r\n\r\nBenefits of this PR include cutting object allocations in half (we only\r\nneed to allocate one object, the MiqAeObject rather than both an\r\nMiqAeObject and a MiqAeDigraph::Node), fewer method calls, and we can\r\ndelete code.\r\n\r\n/cc @mkanoor @Fryguy "},"comment":{"url":"https://api.github.com/repos/ManageIQ/manageiq/issues/comments/75248304","html_url":"https://github.com/ManageIQ/manageiq/pull/1786#issuecomment-75248304","issue_url":"https://api.github.com/repos/ManageIQ/manageiq/issues/1786","id":75248304,"user":{"login":"mkanoor","id":6452699,"avatar_url":"https://avatars.githubusercontent.com/u/6452699?v=3","gravatar_id":"","url":"https://api.github.com/users/mkanoor","html_url":"https://github.com/mkanoor","followers_url":"https://api.github.com/users/mkanoor/followers","following_url":"https://api.github.com/users/mkanoor/following{/other_user}","gists_url":"https://api.github.com/users/mkanoor/gists{/gist_id}","starred_url":"https://api.github.com/users/mkanoor/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mkanoor/subscriptions","organizations_url":"https://api.github.com/users/mkanoor/orgs","repos_url":"https://api.github.com/users/mkanoor/repos","events_url":"https://api.github.com/users/mkanoor/events{/privacy}","received_events_url":"https://api.github.com/users/mkanoor/received_events","type":"User","site_admin":false},"created_at":"2015-02-20T14:43:40Z","updated_at":"2015-02-20T14:43:40Z","body":"@tenderlove @Fryguy @gmcculloug \r\nJason explained to me the changes I am ok with it"}}