{"action":"created","issue":{"url":"https://api.github.com/repos/consolidation-org/Robo/issues/441","repository_url":"https://api.github.com/repos/consolidation-org/Robo","labels_url":"https://api.github.com/repos/consolidation-org/Robo/issues/441/labels{/name}","comments_url":"https://api.github.com/repos/consolidation-org/Robo/issues/441/comments","events_url":"https://api.github.com/repos/consolidation-org/Robo/issues/441/events","html_url":"https://github.com/consolidation-org/Robo/issues/441","id":175409038,"number":441,"title":"Implementing Facade design pattern for RoboFile.","user":{"login":"vitalyspirin","id":7786743,"avatar_url":"https://avatars.githubusercontent.com/u/7786743?v=3","gravatar_id":"","url":"https://api.github.com/users/vitalyspirin","html_url":"https://github.com/vitalyspirin","followers_url":"https://api.github.com/users/vitalyspirin/followers","following_url":"https://api.github.com/users/vitalyspirin/following{/other_user}","gists_url":"https://api.github.com/users/vitalyspirin/gists{/gist_id}","starred_url":"https://api.github.com/users/vitalyspirin/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/vitalyspirin/subscriptions","organizations_url":"https://api.github.com/users/vitalyspirin/orgs","repos_url":"https://api.github.com/users/vitalyspirin/repos","events_url":"https://api.github.com/users/vitalyspirin/events{/privacy}","received_events_url":"https://api.github.com/users/vitalyspirin/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":5,"created_at":"2016-09-07T04:13:51Z","updated_at":"2016-09-08T02:58:23Z","closed_at":null,"body":"Now the way it's recommended for implementation is fully implementing functions inside RoboFile class. It's convenient for usage from command line but not convenient for hooking up from another PHP library.\r\n\r\nCommand line interface is supposed to return information which is human readable. However if the function is called from another PHP module then it would be convenient to get back objects (i.e. Result) instead of user friendly message.\r\n\r\nI think it could be achieved by using Facade design pattern and moving implementation to another class (for example, RoboFileImplementation) whereas in RoboFile functions there will be only entry points with calls to functions in RoboFileImplementation class. In this case Robo framework can be easily used both from CLI and from other PHP modules.\r\n"},"comment":{"url":"https://api.github.com/repos/consolidation-org/Robo/issues/comments/245480291","html_url":"https://github.com/consolidation-org/Robo/issues/441#issuecomment-245480291","issue_url":"https://api.github.com/repos/consolidation-org/Robo/issues/441","id":245480291,"user":{"login":"greg-1-anderson","id":612191,"avatar_url":"https://avatars.githubusercontent.com/u/612191?v=3","gravatar_id":"","url":"https://api.github.com/users/greg-1-anderson","html_url":"https://github.com/greg-1-anderson","followers_url":"https://api.github.com/users/greg-1-anderson/followers","following_url":"https://api.github.com/users/greg-1-anderson/following{/other_user}","gists_url":"https://api.github.com/users/greg-1-anderson/gists{/gist_id}","starred_url":"https://api.github.com/users/greg-1-anderson/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/greg-1-anderson/subscriptions","organizations_url":"https://api.github.com/users/greg-1-anderson/orgs","repos_url":"https://api.github.com/users/greg-1-anderson/repos","events_url":"https://api.github.com/users/greg-1-anderson/events{/privacy}","received_events_url":"https://api.github.com/users/greg-1-anderson/received_events","type":"User","site_admin":false},"created_at":"2016-09-08T02:58:23Z","updated_at":"2016-09-08T02:58:23Z","body":"Sounds reasonable; a PR would be welcome."}}
{"actor":{"display_login":"greg-1-anderson"}}