{"action":"created","issue":{"url":"https://api.github.com/repos/facebook/react-native/issues/752","labels_url":"https://api.github.com/repos/facebook/react-native/issues/752/labels{/name}","comments_url":"https://api.github.com/repos/facebook/react-native/issues/752/comments","events_url":"https://api.github.com/repos/facebook/react-native/issues/752/events","html_url":"https://github.com/facebook/react-native/pull/752","id":67131993,"number":752,"title":"Alterations to enable the use of other objc based runtimes.","user":{"login":"justinmcp","id":200975,"avatar_url":"https://avatars.githubusercontent.com/u/200975?v=3","gravatar_id":"","url":"https://api.github.com/users/justinmcp","html_url":"https://github.com/justinmcp","followers_url":"https://api.github.com/users/justinmcp/followers","following_url":"https://api.github.com/users/justinmcp/following{/other_user}","gists_url":"https://api.github.com/users/justinmcp/gists{/gist_id}","starred_url":"https://api.github.com/users/justinmcp/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/justinmcp/subscriptions","organizations_url":"https://api.github.com/users/justinmcp/orgs","repos_url":"https://api.github.com/users/justinmcp/repos","events_url":"https://api.github.com/users/justinmcp/events{/privacy}","received_events_url":"https://api.github.com/users/justinmcp/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/facebook/react-native/labels/CLA%20Signed","name":"CLA Signed","color":"e7e7e7"}],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":3,"created_at":"2015-04-08T13:36:28Z","updated_at":"2015-04-10T00:40:05Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/facebook/react-native/pulls/752","html_url":"https://github.com/facebook/react-native/pull/752","diff_url":"https://github.com/facebook/react-native/pull/752.diff","patch_url":"https://github.com/facebook/react-native/pull/752.patch"},"body":"Hi, here's a pull request I hope you will consider.\r\n\r\nThis commit enables the use of alternative objc based runtimes.\r\n\r\nSpecifically, it has been tested to work with RubyMotion, but the changes should enable use in other runtimes where Protocol conformance is not easily stated and/or the ability to modify the data segment is not available.\r\n\r\nThe changes amount to -\r\n1) Not relying on stated conformance to the RCTBridgeModule to solely determine modules to export\r\n2) Having a class method that allows exporting of methods - in addition to RCT_EXPORT.\r\n\r\nFor 1), it's arguably more idiomatic in objc to check if an object quacks in the way we like, rather than applying a blanket check for compliance to a whole protocol. But the benefit to this duck typing is that if the alternate language/runtime has no natural way to express protocol conformance, things may function correctly as long as the appropriate methods are available.\r\n\r\nI've tested the sample applications and ran the integration tests, everything appears to work fine. This is a code change that should be examined carefully though.\r\n\r\nI've completed the CLA process.\r\n"},"comment":{"url":"https://api.github.com/repos/facebook/react-native/issues/comments/91389922","html_url":"https://github.com/facebook/react-native/pull/752#issuecomment-91389922","issue_url":"https://api.github.com/repos/facebook/react-native/issues/752","id":91389922,"user":{"login":"nicklockwood","id":546885,"avatar_url":"https://avatars.githubusercontent.com/u/546885?v=3","gravatar_id":"","url":"https://api.github.com/users/nicklockwood","html_url":"https://github.com/nicklockwood","followers_url":"https://api.github.com/users/nicklockwood/followers","following_url":"https://api.github.com/users/nicklockwood/following{/other_user}","gists_url":"https://api.github.com/users/nicklockwood/gists{/gist_id}","starred_url":"https://api.github.com/users/nicklockwood/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/nicklockwood/subscriptions","organizations_url":"https://api.github.com/users/nicklockwood/orgs","repos_url":"https://api.github.com/users/nicklockwood/repos","events_url":"https://api.github.com/users/nicklockwood/events{/privacy}","received_events_url":"https://api.github.com/users/nicklockwood/received_events","type":"User","site_admin":false},"created_at":"2015-04-10T00:40:05Z","updated_at":"2015-04-10T00:40:05Z","body":"Re: 2) sorry I saw a lot of seemingly whitespace-only changes and jumped to the wrong conclusion. You can ignore that comment."}}