{"action":"created","issue":{"url":"https://api.github.com/repos/stdweird/p5-net-freeipa/issues/7","repository_url":"https://api.github.com/repos/stdweird/p5-net-freeipa","labels_url":"https://api.github.com/repos/stdweird/p5-net-freeipa/issues/7/labels{/name}","comments_url":"https://api.github.com/repos/stdweird/p5-net-freeipa/issues/7/comments","events_url":"https://api.github.com/repos/stdweird/p5-net-freeipa/issues/7/events","html_url":"https://github.com/stdweird/p5-net-freeipa/issues/7","id":145168867,"number":7,"title":"Support batch command","user":{"login":"stdweird","id":1517606,"avatar_url":"https://avatars.githubusercontent.com/u/1517606?v=3","gravatar_id":"","url":"https://api.github.com/users/stdweird","html_url":"https://github.com/stdweird","followers_url":"https://api.github.com/users/stdweird/followers","following_url":"https://api.github.com/users/stdweird/following{/other_user}","gists_url":"https://api.github.com/users/stdweird/gists{/gist_id}","starred_url":"https://api.github.com/users/stdweird/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/stdweird/subscriptions","organizations_url":"https://api.github.com/users/stdweird/orgs","repos_url":"https://api.github.com/users/stdweird/repos","events_url":"https://api.github.com/users/stdweird/events{/privacy}","received_events_url":"https://api.github.com/users/stdweird/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":{"login":"NickCis","id":174561,"avatar_url":"https://avatars.githubusercontent.com/u/174561?v=3","gravatar_id":"","url":"https://api.github.com/users/NickCis","html_url":"https://github.com/NickCis","followers_url":"https://api.github.com/users/NickCis/followers","following_url":"https://api.github.com/users/NickCis/following{/other_user}","gists_url":"https://api.github.com/users/NickCis/gists{/gist_id}","starred_url":"https://api.github.com/users/NickCis/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/NickCis/subscriptions","organizations_url":"https://api.github.com/users/NickCis/orgs","repos_url":"https://api.github.com/users/NickCis/repos","events_url":"https://api.github.com/users/NickCis/events{/privacy}","received_events_url":"https://api.github.com/users/NickCis/received_events","type":"User","site_admin":false},"milestone":null,"comments":1,"created_at":"2016-04-01T12:31:51Z","updated_at":"2016-04-05T18:47:51Z","closed_at":null,"body":"Allow the posibility of batching commands as the FreeIPA web does.\r\n(method `batch`)"},"comment":{"url":"https://api.github.com/repos/stdweird/p5-net-freeipa/issues/comments/205945474","html_url":"https://github.com/stdweird/p5-net-freeipa/issues/7#issuecomment-205945474","issue_url":"https://api.github.com/repos/stdweird/p5-net-freeipa/issues/7","id":205945474,"user":{"login":"NickCis","id":174561,"avatar_url":"https://avatars.githubusercontent.com/u/174561?v=3","gravatar_id":"","url":"https://api.github.com/users/NickCis","html_url":"https://github.com/NickCis","followers_url":"https://api.github.com/users/NickCis/followers","following_url":"https://api.github.com/users/NickCis/following{/other_user}","gists_url":"https://api.github.com/users/NickCis/gists{/gist_id}","starred_url":"https://api.github.com/users/NickCis/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/NickCis/subscriptions","organizations_url":"https://api.github.com/users/NickCis/orgs","repos_url":"https://api.github.com/users/NickCis/repos","events_url":"https://api.github.com/users/NickCis/events{/privacy}","received_events_url":"https://api.github.com/users/NickCis/received_events","type":"User","site_admin":false},"created_at":"2016-04-05T18:47:51Z","updated_at":"2016-04-05T18:47:51Z","body":"I was thinking in implementing a `Net::FreeIPA::Request` class. All `Net::FreeIPA::API` and `Net::FreeIPA::Common` methods will be constructors which return references of `Net::FreeIPA::Request`.\r\n\r\nThe `Net::FreeIPA::Request` will be responsible for storing the requests data and transform it into valid JSON. I think that the `Net::FreeIPA::Convert` class will be included in the `Request` in this way the coupling beetween `Net::FreeIPA::Convert` and `Net::FreeIPA::RPC` will be removed (the coupling is created by the `rpc_api` method).\r\n\r\nIn addition, the `Request` will have a method to process the query response, in this way `Net::FreeIPA::Common` method could modify the response or perform checks.\r\n\r\nThe `batch` method will be just a `Net::FreeIPA::Common` method which receives `Net::FreeIPA::Request`s objects as parameters.\r\n\r\nThe `Net::FreeIPA` class will implement the `Common` and `Api` methods through autoload.\r\n\r\nI'll upload a branch when i finish a working draft of this.\r\n\r\n@stdweird What do you think of this implementation?"}}