motion-firebase 1.0.5

Sign up to get free protection for your applications and to get access to all the features.
Files changed (295) hide show
  1. data/.gitignore +17 -0
  2. data/.travis.yml +2 -0
  3. data/Gemfile +6 -0
  4. data/Gemfile.lock +28 -0
  5. data/README.md +511 -0
  6. data/Rakefile +11 -0
  7. data/app/app_delegate.rb +156 -0
  8. data/lib/firebase/firebase.rb +242 -0
  9. data/lib/firebase/firebase_auth_client.rb +49 -0
  10. data/lib/firebase/version.rb +5 -0
  11. data/lib/motion-firebase-auth.rb +19 -0
  12. data/lib/motion-firebase-facebook.rb +17 -0
  13. data/lib/motion-firebase.rb +19 -0
  14. data/lib/vendor/FacebookSDK.framework/FacebookSDK +0 -0
  15. data/lib/vendor/FacebookSDK.framework/Headers/FBAccessTokenData.h +115 -0
  16. data/lib/vendor/FacebookSDK.framework/Headers/FBCacheDescriptor.h +42 -0
  17. data/lib/vendor/FacebookSDK.framework/Headers/FBError.h +274 -0
  18. data/lib/vendor/FacebookSDK.framework/Headers/FBFrictionlessRecipientCache.h +86 -0
  19. data/lib/vendor/FacebookSDK.framework/Headers/FBFriendPickerViewController.h +290 -0
  20. data/lib/vendor/FacebookSDK.framework/Headers/FBGraphLocation.h +77 -0
  21. data/lib/vendor/FacebookSDK.framework/Headers/FBGraphObject.h +224 -0
  22. data/lib/vendor/FacebookSDK.framework/Headers/FBGraphPlace.h +60 -0
  23. data/lib/vendor/FacebookSDK.framework/Headers/FBGraphUser.h +90 -0
  24. data/lib/vendor/FacebookSDK.framework/Headers/FBInsights.h +271 -0
  25. data/lib/vendor/FacebookSDK.framework/Headers/FBLoginView.h +178 -0
  26. data/lib/vendor/FacebookSDK.framework/Headers/FBNativeDialogs.h +170 -0
  27. data/lib/vendor/FacebookSDK.framework/Headers/FBOpenGraphAction.h +127 -0
  28. data/lib/vendor/FacebookSDK.framework/Headers/FBPlacePickerViewController.h +257 -0
  29. data/lib/vendor/FacebookSDK.framework/Headers/FBProfilePictureView.h +80 -0
  30. data/lib/vendor/FacebookSDK.framework/Headers/FBRequest.h +504 -0
  31. data/lib/vendor/FacebookSDK.framework/Headers/FBRequestConnection.h +389 -0
  32. data/lib/vendor/FacebookSDK.framework/Headers/FBSession.h +751 -0
  33. data/lib/vendor/FacebookSDK.framework/Headers/FBSessionTokenCachingStrategy.h +152 -0
  34. data/lib/vendor/FacebookSDK.framework/Headers/FBSettings.h +136 -0
  35. data/lib/vendor/FacebookSDK.framework/Headers/FBTestSession.h +135 -0
  36. data/lib/vendor/FacebookSDK.framework/Headers/FBUserSettingsViewController.h +127 -0
  37. data/lib/vendor/FacebookSDK.framework/Headers/FBViewController.h +118 -0
  38. data/lib/vendor/FacebookSDK.framework/Headers/FBWebDialogs.h +234 -0
  39. data/lib/vendor/FacebookSDK.framework/Headers/FacebookSDK.h +132 -0
  40. data/lib/vendor/FacebookSDK.framework/Headers/NSError+FBError.h +59 -0
  41. data/lib/vendor/FacebookSDK.framework/Resources/FBUserSettingsViewResources.bundle/Contents/Resources/en.lproj/Localizable.strings +0 -0
  42. data/lib/vendor/FacebookSDK.framework/Resources/FBUserSettingsViewResources.bundle/Contents/Resources/he.lproj/Localizable.strings +0 -0
  43. data/lib/vendor/FacebookSDK.framework/Resources/FBUserSettingsViewResources.bundle/images/facebook-logo.png +0 -0
  44. data/lib/vendor/FacebookSDK.framework/Resources/FBUserSettingsViewResources.bundle/images/facebook-logo@2x.png +0 -0
  45. data/lib/vendor/FacebookSDK.framework/Resources/FBUserSettingsViewResources.bundle/images/loginBackgroundIPadLandscape.jpg +0 -0
  46. data/lib/vendor/FacebookSDK.framework/Resources/FBUserSettingsViewResources.bundle/images/loginBackgroundIPadLandscape@2x.jpg +0 -0
  47. data/lib/vendor/FacebookSDK.framework/Resources/FBUserSettingsViewResources.bundle/images/loginBackgroundIPadPortrait.jpg +0 -0
  48. data/lib/vendor/FacebookSDK.framework/Resources/FBUserSettingsViewResources.bundle/images/loginBackgroundIPadPortrait@2x.jpg +0 -0
  49. data/lib/vendor/FacebookSDK.framework/Resources/FBUserSettingsViewResources.bundle/images/loginBackgroundIPhonePortrait.jpg +0 -0
  50. data/lib/vendor/FacebookSDK.framework/Resources/FBUserSettingsViewResources.bundle/images/loginBackgroundIPhonePortrait@2x.jpg +0 -0
  51. data/lib/vendor/FacebookSDK.framework/Resources/FBUserSettingsViewResources.bundle/images/silver-button-normal.png +0 -0
  52. data/lib/vendor/FacebookSDK.framework/Resources/FBUserSettingsViewResources.bundle/images/silver-button-normal@2x.png +0 -0
  53. data/lib/vendor/FacebookSDK.framework/Resources/FBUserSettingsViewResources.bundle/images/silver-button-pressed.png +0 -0
  54. data/lib/vendor/FacebookSDK.framework/Resources/FBUserSettingsViewResources.bundle/images/silver-button-pressed@2x.png +0 -0
  55. data/lib/vendor/FacebookSDK.framework/Resources/FacebookSDKResources.bundle/Contents/Resources/en.lproj/Localizable.strings +0 -0
  56. data/lib/vendor/FacebookSDK.framework/Resources/FacebookSDKResources.bundle/Contents/Resources/he.lproj/Localizable.strings +0 -0
  57. data/lib/vendor/FacebookSDK.framework/Resources/FacebookSDKResources.bundle/FBDialog/images/close.png +0 -0
  58. data/lib/vendor/FacebookSDK.framework/Resources/FacebookSDKResources.bundle/FBDialog/images/close@2x.png +0 -0
  59. data/lib/vendor/FacebookSDK.framework/Resources/FacebookSDKResources.bundle/FBDialog/images/fbicon.png +0 -0
  60. data/lib/vendor/FacebookSDK.framework/Resources/FacebookSDKResources.bundle/FBFriendPickerView/images/default.png +0 -0
  61. data/lib/vendor/FacebookSDK.framework/Resources/FacebookSDKResources.bundle/FBLoginView/images/bluetint.png +0 -0
  62. data/lib/vendor/FacebookSDK.framework/Resources/FacebookSDKResources.bundle/FBLoginView/images/f_logo.png +0 -0
  63. data/lib/vendor/FacebookSDK.framework/Resources/FacebookSDKResources.bundle/FBLoginView/images/facebook.png +0 -0
  64. data/lib/vendor/FacebookSDK.framework/Resources/FacebookSDKResources.bundle/FBLoginView/images/login-button-small-pressed.png +0 -0
  65. data/lib/vendor/FacebookSDK.framework/Resources/FacebookSDKResources.bundle/FBLoginView/images/login-button-small-pressed@2x.png +0 -0
  66. data/lib/vendor/FacebookSDK.framework/Resources/FacebookSDKResources.bundle/FBLoginView/images/login-button-small.png +0 -0
  67. data/lib/vendor/FacebookSDK.framework/Resources/FacebookSDKResources.bundle/FBLoginView/images/login-button-small@2x.png +0 -0
  68. data/lib/vendor/FacebookSDK.framework/Resources/FacebookSDKResources.bundle/FBPlacePickerView/images/fb_generic_place.png +0 -0
  69. data/lib/vendor/FacebookSDK.framework/Resources/FacebookSDKResources.bundle/FBProfilePictureView/images/fb_blank_profile_portrait.png +0 -0
  70. data/lib/vendor/FacebookSDK.framework/Resources/FacebookSDKResources.bundle/FBProfilePictureView/images/fb_blank_profile_square.png +0 -0
  71. data/lib/vendor/FacebookSDK.framework/Resources/Info.plist +20 -0
  72. data/lib/vendor/FacebookSDK.framework/Versions/A/DeprecatedHeaders/FBAccessTokenData.h +115 -0
  73. data/lib/vendor/FacebookSDK.framework/Versions/A/DeprecatedHeaders/FBCacheDescriptor.h +42 -0
  74. data/lib/vendor/FacebookSDK.framework/Versions/A/DeprecatedHeaders/FBConnect.h +22 -0
  75. data/lib/vendor/FacebookSDK.framework/Versions/A/DeprecatedHeaders/FBDialog.h +165 -0
  76. data/lib/vendor/FacebookSDK.framework/Versions/A/DeprecatedHeaders/FBError.h +274 -0
  77. data/lib/vendor/FacebookSDK.framework/Versions/A/DeprecatedHeaders/FBFrictionlessRecipientCache.h +86 -0
  78. data/lib/vendor/FacebookSDK.framework/Versions/A/DeprecatedHeaders/FBFrictionlessRequestSettings.h +85 -0
  79. data/lib/vendor/FacebookSDK.framework/Versions/A/DeprecatedHeaders/FBFriendPickerViewController.h +290 -0
  80. data/lib/vendor/FacebookSDK.framework/Versions/A/DeprecatedHeaders/FBGraphLocation.h +77 -0
  81. data/lib/vendor/FacebookSDK.framework/Versions/A/DeprecatedHeaders/FBGraphObject.h +224 -0
  82. data/lib/vendor/FacebookSDK.framework/Versions/A/DeprecatedHeaders/FBGraphPlace.h +60 -0
  83. data/lib/vendor/FacebookSDK.framework/Versions/A/DeprecatedHeaders/FBGraphUser.h +90 -0
  84. data/lib/vendor/FacebookSDK.framework/Versions/A/DeprecatedHeaders/FBInsights.h +271 -0
  85. data/lib/vendor/FacebookSDK.framework/Versions/A/DeprecatedHeaders/FBLoginDialog.h +48 -0
  86. data/lib/vendor/FacebookSDK.framework/Versions/A/DeprecatedHeaders/FBLoginView.h +178 -0
  87. data/lib/vendor/FacebookSDK.framework/Versions/A/DeprecatedHeaders/FBNativeDialogs.h +170 -0
  88. data/lib/vendor/FacebookSDK.framework/Versions/A/DeprecatedHeaders/FBOpenGraphAction.h +127 -0
  89. data/lib/vendor/FacebookSDK.framework/Versions/A/DeprecatedHeaders/FBPlacePickerViewController.h +257 -0
  90. data/lib/vendor/FacebookSDK.framework/Versions/A/DeprecatedHeaders/FBProfilePictureView.h +80 -0
  91. data/lib/vendor/FacebookSDK.framework/Versions/A/DeprecatedHeaders/FBRequest.h +504 -0
  92. data/lib/vendor/FacebookSDK.framework/Versions/A/DeprecatedHeaders/FBRequestConnection.h +389 -0
  93. data/lib/vendor/FacebookSDK.framework/Versions/A/DeprecatedHeaders/FBSBJSON.h +75 -0
  94. data/lib/vendor/FacebookSDK.framework/Versions/A/DeprecatedHeaders/FBSBJsonBase.h +86 -0
  95. data/lib/vendor/FacebookSDK.framework/Versions/A/DeprecatedHeaders/FBSBJsonParser.h +87 -0
  96. data/lib/vendor/FacebookSDK.framework/Versions/A/DeprecatedHeaders/FBSBJsonWriter.h +129 -0
  97. data/lib/vendor/FacebookSDK.framework/Versions/A/DeprecatedHeaders/FBSession.h +751 -0
  98. data/lib/vendor/FacebookSDK.framework/Versions/A/DeprecatedHeaders/FBSessionManualTokenCachingStrategy.h +32 -0
  99. data/lib/vendor/FacebookSDK.framework/Versions/A/DeprecatedHeaders/FBSessionTokenCachingStrategy.h +152 -0
  100. data/lib/vendor/FacebookSDK.framework/Versions/A/DeprecatedHeaders/FBSettings.h +136 -0
  101. data/lib/vendor/FacebookSDK.framework/Versions/A/DeprecatedHeaders/FBTestSession.h +135 -0
  102. data/lib/vendor/FacebookSDK.framework/Versions/A/DeprecatedHeaders/FBUserSettingsViewController.h +127 -0
  103. data/lib/vendor/FacebookSDK.framework/Versions/A/DeprecatedHeaders/FBViewController.h +118 -0
  104. data/lib/vendor/FacebookSDK.framework/Versions/A/DeprecatedHeaders/FBWebDialogs.h +234 -0
  105. data/lib/vendor/FacebookSDK.framework/Versions/A/DeprecatedHeaders/Facebook.h +281 -0
  106. data/lib/vendor/FacebookSDK.framework/Versions/A/DeprecatedHeaders/FacebookSDK.h +132 -0
  107. data/lib/vendor/FacebookSDK.framework/Versions/A/DeprecatedHeaders/NSError+FBError.h +59 -0
  108. data/lib/vendor/FacebookSDK.framework/Versions/A/FacebookSDK +0 -0
  109. data/lib/vendor/FacebookSDK.framework/Versions/A/Headers/FBAccessTokenData.h +115 -0
  110. data/lib/vendor/FacebookSDK.framework/Versions/A/Headers/FBCacheDescriptor.h +42 -0
  111. data/lib/vendor/FacebookSDK.framework/Versions/A/Headers/FBError.h +274 -0
  112. data/lib/vendor/FacebookSDK.framework/Versions/A/Headers/FBFrictionlessRecipientCache.h +86 -0
  113. data/lib/vendor/FacebookSDK.framework/Versions/A/Headers/FBFriendPickerViewController.h +290 -0
  114. data/lib/vendor/FacebookSDK.framework/Versions/A/Headers/FBGraphLocation.h +77 -0
  115. data/lib/vendor/FacebookSDK.framework/Versions/A/Headers/FBGraphObject.h +224 -0
  116. data/lib/vendor/FacebookSDK.framework/Versions/A/Headers/FBGraphPlace.h +60 -0
  117. data/lib/vendor/FacebookSDK.framework/Versions/A/Headers/FBGraphUser.h +90 -0
  118. data/lib/vendor/FacebookSDK.framework/Versions/A/Headers/FBInsights.h +271 -0
  119. data/lib/vendor/FacebookSDK.framework/Versions/A/Headers/FBLoginView.h +178 -0
  120. data/lib/vendor/FacebookSDK.framework/Versions/A/Headers/FBNativeDialogs.h +170 -0
  121. data/lib/vendor/FacebookSDK.framework/Versions/A/Headers/FBOpenGraphAction.h +127 -0
  122. data/lib/vendor/FacebookSDK.framework/Versions/A/Headers/FBPlacePickerViewController.h +257 -0
  123. data/lib/vendor/FacebookSDK.framework/Versions/A/Headers/FBProfilePictureView.h +80 -0
  124. data/lib/vendor/FacebookSDK.framework/Versions/A/Headers/FBRequest.h +504 -0
  125. data/lib/vendor/FacebookSDK.framework/Versions/A/Headers/FBRequestConnection.h +389 -0
  126. data/lib/vendor/FacebookSDK.framework/Versions/A/Headers/FBSession.h +751 -0
  127. data/lib/vendor/FacebookSDK.framework/Versions/A/Headers/FBSessionTokenCachingStrategy.h +152 -0
  128. data/lib/vendor/FacebookSDK.framework/Versions/A/Headers/FBSettings.h +136 -0
  129. data/lib/vendor/FacebookSDK.framework/Versions/A/Headers/FBTestSession.h +135 -0
  130. data/lib/vendor/FacebookSDK.framework/Versions/A/Headers/FBUserSettingsViewController.h +127 -0
  131. data/lib/vendor/FacebookSDK.framework/Versions/A/Headers/FBViewController.h +118 -0
  132. data/lib/vendor/FacebookSDK.framework/Versions/A/Headers/FBWebDialogs.h +234 -0
  133. data/lib/vendor/FacebookSDK.framework/Versions/A/Headers/FacebookSDK.h +132 -0
  134. data/lib/vendor/FacebookSDK.framework/Versions/A/Headers/NSError+FBError.h +59 -0
  135. data/lib/vendor/FacebookSDK.framework/Versions/A/Resources/FBUserSettingsViewResources.bundle/Contents/Resources/en.lproj/Localizable.strings +0 -0
  136. data/lib/vendor/FacebookSDK.framework/Versions/A/Resources/FBUserSettingsViewResources.bundle/Contents/Resources/he.lproj/Localizable.strings +0 -0
  137. data/lib/vendor/FacebookSDK.framework/Versions/A/Resources/FBUserSettingsViewResources.bundle/images/facebook-logo.png +0 -0
  138. data/lib/vendor/FacebookSDK.framework/Versions/A/Resources/FBUserSettingsViewResources.bundle/images/facebook-logo@2x.png +0 -0
  139. data/lib/vendor/FacebookSDK.framework/Versions/A/Resources/FBUserSettingsViewResources.bundle/images/loginBackgroundIPadLandscape.jpg +0 -0
  140. data/lib/vendor/FacebookSDK.framework/Versions/A/Resources/FBUserSettingsViewResources.bundle/images/loginBackgroundIPadLandscape@2x.jpg +0 -0
  141. data/lib/vendor/FacebookSDK.framework/Versions/A/Resources/FBUserSettingsViewResources.bundle/images/loginBackgroundIPadPortrait.jpg +0 -0
  142. data/lib/vendor/FacebookSDK.framework/Versions/A/Resources/FBUserSettingsViewResources.bundle/images/loginBackgroundIPadPortrait@2x.jpg +0 -0
  143. data/lib/vendor/FacebookSDK.framework/Versions/A/Resources/FBUserSettingsViewResources.bundle/images/loginBackgroundIPhonePortrait.jpg +0 -0
  144. data/lib/vendor/FacebookSDK.framework/Versions/A/Resources/FBUserSettingsViewResources.bundle/images/loginBackgroundIPhonePortrait@2x.jpg +0 -0
  145. data/lib/vendor/FacebookSDK.framework/Versions/A/Resources/FBUserSettingsViewResources.bundle/images/silver-button-normal.png +0 -0
  146. data/lib/vendor/FacebookSDK.framework/Versions/A/Resources/FBUserSettingsViewResources.bundle/images/silver-button-normal@2x.png +0 -0
  147. data/lib/vendor/FacebookSDK.framework/Versions/A/Resources/FBUserSettingsViewResources.bundle/images/silver-button-pressed.png +0 -0
  148. data/lib/vendor/FacebookSDK.framework/Versions/A/Resources/FBUserSettingsViewResources.bundle/images/silver-button-pressed@2x.png +0 -0
  149. data/lib/vendor/FacebookSDK.framework/Versions/A/Resources/FacebookSDKResources.bundle/Contents/Resources/en.lproj/Localizable.strings +0 -0
  150. data/lib/vendor/FacebookSDK.framework/Versions/A/Resources/FacebookSDKResources.bundle/Contents/Resources/he.lproj/Localizable.strings +0 -0
  151. data/lib/vendor/FacebookSDK.framework/Versions/A/Resources/FacebookSDKResources.bundle/FBDialog/images/close.png +0 -0
  152. data/lib/vendor/FacebookSDK.framework/Versions/A/Resources/FacebookSDKResources.bundle/FBDialog/images/close@2x.png +0 -0
  153. data/lib/vendor/FacebookSDK.framework/Versions/A/Resources/FacebookSDKResources.bundle/FBDialog/images/fbicon.png +0 -0
  154. data/lib/vendor/FacebookSDK.framework/Versions/A/Resources/FacebookSDKResources.bundle/FBFriendPickerView/images/default.png +0 -0
  155. data/lib/vendor/FacebookSDK.framework/Versions/A/Resources/FacebookSDKResources.bundle/FBLoginView/images/bluetint.png +0 -0
  156. data/lib/vendor/FacebookSDK.framework/Versions/A/Resources/FacebookSDKResources.bundle/FBLoginView/images/f_logo.png +0 -0
  157. data/lib/vendor/FacebookSDK.framework/Versions/A/Resources/FacebookSDKResources.bundle/FBLoginView/images/facebook.png +0 -0
  158. data/lib/vendor/FacebookSDK.framework/Versions/A/Resources/FacebookSDKResources.bundle/FBLoginView/images/login-button-small-pressed.png +0 -0
  159. data/lib/vendor/FacebookSDK.framework/Versions/A/Resources/FacebookSDKResources.bundle/FBLoginView/images/login-button-small-pressed@2x.png +0 -0
  160. data/lib/vendor/FacebookSDK.framework/Versions/A/Resources/FacebookSDKResources.bundle/FBLoginView/images/login-button-small.png +0 -0
  161. data/lib/vendor/FacebookSDK.framework/Versions/A/Resources/FacebookSDKResources.bundle/FBLoginView/images/login-button-small@2x.png +0 -0
  162. data/lib/vendor/FacebookSDK.framework/Versions/A/Resources/FacebookSDKResources.bundle/FBPlacePickerView/images/fb_generic_place.png +0 -0
  163. data/lib/vendor/FacebookSDK.framework/Versions/A/Resources/FacebookSDKResources.bundle/FBProfilePictureView/images/fb_blank_profile_portrait.png +0 -0
  164. data/lib/vendor/FacebookSDK.framework/Versions/A/Resources/FacebookSDKResources.bundle/FBProfilePictureView/images/fb_blank_profile_square.png +0 -0
  165. data/lib/vendor/FacebookSDK.framework/Versions/A/Resources/Info.plist +20 -0
  166. data/lib/vendor/FacebookSDK.framework/Versions/Current/DeprecatedHeaders/FBAccessTokenData.h +115 -0
  167. data/lib/vendor/FacebookSDK.framework/Versions/Current/DeprecatedHeaders/FBCacheDescriptor.h +42 -0
  168. data/lib/vendor/FacebookSDK.framework/Versions/Current/DeprecatedHeaders/FBConnect.h +22 -0
  169. data/lib/vendor/FacebookSDK.framework/Versions/Current/DeprecatedHeaders/FBDialog.h +165 -0
  170. data/lib/vendor/FacebookSDK.framework/Versions/Current/DeprecatedHeaders/FBError.h +274 -0
  171. data/lib/vendor/FacebookSDK.framework/Versions/Current/DeprecatedHeaders/FBFrictionlessRecipientCache.h +86 -0
  172. data/lib/vendor/FacebookSDK.framework/Versions/Current/DeprecatedHeaders/FBFrictionlessRequestSettings.h +85 -0
  173. data/lib/vendor/FacebookSDK.framework/Versions/Current/DeprecatedHeaders/FBFriendPickerViewController.h +290 -0
  174. data/lib/vendor/FacebookSDK.framework/Versions/Current/DeprecatedHeaders/FBGraphLocation.h +77 -0
  175. data/lib/vendor/FacebookSDK.framework/Versions/Current/DeprecatedHeaders/FBGraphObject.h +224 -0
  176. data/lib/vendor/FacebookSDK.framework/Versions/Current/DeprecatedHeaders/FBGraphPlace.h +60 -0
  177. data/lib/vendor/FacebookSDK.framework/Versions/Current/DeprecatedHeaders/FBGraphUser.h +90 -0
  178. data/lib/vendor/FacebookSDK.framework/Versions/Current/DeprecatedHeaders/FBInsights.h +271 -0
  179. data/lib/vendor/FacebookSDK.framework/Versions/Current/DeprecatedHeaders/FBLoginDialog.h +48 -0
  180. data/lib/vendor/FacebookSDK.framework/Versions/Current/DeprecatedHeaders/FBLoginView.h +178 -0
  181. data/lib/vendor/FacebookSDK.framework/Versions/Current/DeprecatedHeaders/FBNativeDialogs.h +170 -0
  182. data/lib/vendor/FacebookSDK.framework/Versions/Current/DeprecatedHeaders/FBOpenGraphAction.h +127 -0
  183. data/lib/vendor/FacebookSDK.framework/Versions/Current/DeprecatedHeaders/FBPlacePickerViewController.h +257 -0
  184. data/lib/vendor/FacebookSDK.framework/Versions/Current/DeprecatedHeaders/FBProfilePictureView.h +80 -0
  185. data/lib/vendor/FacebookSDK.framework/Versions/Current/DeprecatedHeaders/FBRequest.h +504 -0
  186. data/lib/vendor/FacebookSDK.framework/Versions/Current/DeprecatedHeaders/FBRequestConnection.h +389 -0
  187. data/lib/vendor/FacebookSDK.framework/Versions/Current/DeprecatedHeaders/FBSBJSON.h +75 -0
  188. data/lib/vendor/FacebookSDK.framework/Versions/Current/DeprecatedHeaders/FBSBJsonBase.h +86 -0
  189. data/lib/vendor/FacebookSDK.framework/Versions/Current/DeprecatedHeaders/FBSBJsonParser.h +87 -0
  190. data/lib/vendor/FacebookSDK.framework/Versions/Current/DeprecatedHeaders/FBSBJsonWriter.h +129 -0
  191. data/lib/vendor/FacebookSDK.framework/Versions/Current/DeprecatedHeaders/FBSession.h +751 -0
  192. data/lib/vendor/FacebookSDK.framework/Versions/Current/DeprecatedHeaders/FBSessionManualTokenCachingStrategy.h +32 -0
  193. data/lib/vendor/FacebookSDK.framework/Versions/Current/DeprecatedHeaders/FBSessionTokenCachingStrategy.h +152 -0
  194. data/lib/vendor/FacebookSDK.framework/Versions/Current/DeprecatedHeaders/FBSettings.h +136 -0
  195. data/lib/vendor/FacebookSDK.framework/Versions/Current/DeprecatedHeaders/FBTestSession.h +135 -0
  196. data/lib/vendor/FacebookSDK.framework/Versions/Current/DeprecatedHeaders/FBUserSettingsViewController.h +127 -0
  197. data/lib/vendor/FacebookSDK.framework/Versions/Current/DeprecatedHeaders/FBViewController.h +118 -0
  198. data/lib/vendor/FacebookSDK.framework/Versions/Current/DeprecatedHeaders/FBWebDialogs.h +234 -0
  199. data/lib/vendor/FacebookSDK.framework/Versions/Current/DeprecatedHeaders/Facebook.h +281 -0
  200. data/lib/vendor/FacebookSDK.framework/Versions/Current/DeprecatedHeaders/FacebookSDK.h +132 -0
  201. data/lib/vendor/FacebookSDK.framework/Versions/Current/DeprecatedHeaders/NSError+FBError.h +59 -0
  202. data/lib/vendor/FacebookSDK.framework/Versions/Current/FacebookSDK +0 -0
  203. data/lib/vendor/FacebookSDK.framework/Versions/Current/Headers/FBAccessTokenData.h +115 -0
  204. data/lib/vendor/FacebookSDK.framework/Versions/Current/Headers/FBCacheDescriptor.h +42 -0
  205. data/lib/vendor/FacebookSDK.framework/Versions/Current/Headers/FBError.h +274 -0
  206. data/lib/vendor/FacebookSDK.framework/Versions/Current/Headers/FBFrictionlessRecipientCache.h +86 -0
  207. data/lib/vendor/FacebookSDK.framework/Versions/Current/Headers/FBFriendPickerViewController.h +290 -0
  208. data/lib/vendor/FacebookSDK.framework/Versions/Current/Headers/FBGraphLocation.h +77 -0
  209. data/lib/vendor/FacebookSDK.framework/Versions/Current/Headers/FBGraphObject.h +224 -0
  210. data/lib/vendor/FacebookSDK.framework/Versions/Current/Headers/FBGraphPlace.h +60 -0
  211. data/lib/vendor/FacebookSDK.framework/Versions/Current/Headers/FBGraphUser.h +90 -0
  212. data/lib/vendor/FacebookSDK.framework/Versions/Current/Headers/FBInsights.h +271 -0
  213. data/lib/vendor/FacebookSDK.framework/Versions/Current/Headers/FBLoginView.h +178 -0
  214. data/lib/vendor/FacebookSDK.framework/Versions/Current/Headers/FBNativeDialogs.h +170 -0
  215. data/lib/vendor/FacebookSDK.framework/Versions/Current/Headers/FBOpenGraphAction.h +127 -0
  216. data/lib/vendor/FacebookSDK.framework/Versions/Current/Headers/FBPlacePickerViewController.h +257 -0
  217. data/lib/vendor/FacebookSDK.framework/Versions/Current/Headers/FBProfilePictureView.h +80 -0
  218. data/lib/vendor/FacebookSDK.framework/Versions/Current/Headers/FBRequest.h +504 -0
  219. data/lib/vendor/FacebookSDK.framework/Versions/Current/Headers/FBRequestConnection.h +389 -0
  220. data/lib/vendor/FacebookSDK.framework/Versions/Current/Headers/FBSession.h +751 -0
  221. data/lib/vendor/FacebookSDK.framework/Versions/Current/Headers/FBSessionTokenCachingStrategy.h +152 -0
  222. data/lib/vendor/FacebookSDK.framework/Versions/Current/Headers/FBSettings.h +136 -0
  223. data/lib/vendor/FacebookSDK.framework/Versions/Current/Headers/FBTestSession.h +135 -0
  224. data/lib/vendor/FacebookSDK.framework/Versions/Current/Headers/FBUserSettingsViewController.h +127 -0
  225. data/lib/vendor/FacebookSDK.framework/Versions/Current/Headers/FBViewController.h +118 -0
  226. data/lib/vendor/FacebookSDK.framework/Versions/Current/Headers/FBWebDialogs.h +234 -0
  227. data/lib/vendor/FacebookSDK.framework/Versions/Current/Headers/FacebookSDK.h +132 -0
  228. data/lib/vendor/FacebookSDK.framework/Versions/Current/Headers/NSError+FBError.h +59 -0
  229. data/lib/vendor/FacebookSDK.framework/Versions/Current/Resources/FBUserSettingsViewResources.bundle/Contents/Resources/en.lproj/Localizable.strings +0 -0
  230. data/lib/vendor/FacebookSDK.framework/Versions/Current/Resources/FBUserSettingsViewResources.bundle/Contents/Resources/he.lproj/Localizable.strings +0 -0
  231. data/lib/vendor/FacebookSDK.framework/Versions/Current/Resources/FBUserSettingsViewResources.bundle/images/facebook-logo.png +0 -0
  232. data/lib/vendor/FacebookSDK.framework/Versions/Current/Resources/FBUserSettingsViewResources.bundle/images/facebook-logo@2x.png +0 -0
  233. data/lib/vendor/FacebookSDK.framework/Versions/Current/Resources/FBUserSettingsViewResources.bundle/images/loginBackgroundIPadLandscape.jpg +0 -0
  234. data/lib/vendor/FacebookSDK.framework/Versions/Current/Resources/FBUserSettingsViewResources.bundle/images/loginBackgroundIPadLandscape@2x.jpg +0 -0
  235. data/lib/vendor/FacebookSDK.framework/Versions/Current/Resources/FBUserSettingsViewResources.bundle/images/loginBackgroundIPadPortrait.jpg +0 -0
  236. data/lib/vendor/FacebookSDK.framework/Versions/Current/Resources/FBUserSettingsViewResources.bundle/images/loginBackgroundIPadPortrait@2x.jpg +0 -0
  237. data/lib/vendor/FacebookSDK.framework/Versions/Current/Resources/FBUserSettingsViewResources.bundle/images/loginBackgroundIPhonePortrait.jpg +0 -0
  238. data/lib/vendor/FacebookSDK.framework/Versions/Current/Resources/FBUserSettingsViewResources.bundle/images/loginBackgroundIPhonePortrait@2x.jpg +0 -0
  239. data/lib/vendor/FacebookSDK.framework/Versions/Current/Resources/FBUserSettingsViewResources.bundle/images/silver-button-normal.png +0 -0
  240. data/lib/vendor/FacebookSDK.framework/Versions/Current/Resources/FBUserSettingsViewResources.bundle/images/silver-button-normal@2x.png +0 -0
  241. data/lib/vendor/FacebookSDK.framework/Versions/Current/Resources/FBUserSettingsViewResources.bundle/images/silver-button-pressed.png +0 -0
  242. data/lib/vendor/FacebookSDK.framework/Versions/Current/Resources/FBUserSettingsViewResources.bundle/images/silver-button-pressed@2x.png +0 -0
  243. data/lib/vendor/FacebookSDK.framework/Versions/Current/Resources/FacebookSDKResources.bundle/Contents/Resources/en.lproj/Localizable.strings +0 -0
  244. data/lib/vendor/FacebookSDK.framework/Versions/Current/Resources/FacebookSDKResources.bundle/Contents/Resources/he.lproj/Localizable.strings +0 -0
  245. data/lib/vendor/FacebookSDK.framework/Versions/Current/Resources/FacebookSDKResources.bundle/FBDialog/images/close.png +0 -0
  246. data/lib/vendor/FacebookSDK.framework/Versions/Current/Resources/FacebookSDKResources.bundle/FBDialog/images/close@2x.png +0 -0
  247. data/lib/vendor/FacebookSDK.framework/Versions/Current/Resources/FacebookSDKResources.bundle/FBDialog/images/fbicon.png +0 -0
  248. data/lib/vendor/FacebookSDK.framework/Versions/Current/Resources/FacebookSDKResources.bundle/FBFriendPickerView/images/default.png +0 -0
  249. data/lib/vendor/FacebookSDK.framework/Versions/Current/Resources/FacebookSDKResources.bundle/FBLoginView/images/bluetint.png +0 -0
  250. data/lib/vendor/FacebookSDK.framework/Versions/Current/Resources/FacebookSDKResources.bundle/FBLoginView/images/f_logo.png +0 -0
  251. data/lib/vendor/FacebookSDK.framework/Versions/Current/Resources/FacebookSDKResources.bundle/FBLoginView/images/facebook.png +0 -0
  252. data/lib/vendor/FacebookSDK.framework/Versions/Current/Resources/FacebookSDKResources.bundle/FBLoginView/images/login-button-small-pressed.png +0 -0
  253. data/lib/vendor/FacebookSDK.framework/Versions/Current/Resources/FacebookSDKResources.bundle/FBLoginView/images/login-button-small-pressed@2x.png +0 -0
  254. data/lib/vendor/FacebookSDK.framework/Versions/Current/Resources/FacebookSDKResources.bundle/FBLoginView/images/login-button-small.png +0 -0
  255. data/lib/vendor/FacebookSDK.framework/Versions/Current/Resources/FacebookSDKResources.bundle/FBLoginView/images/login-button-small@2x.png +0 -0
  256. data/lib/vendor/FacebookSDK.framework/Versions/Current/Resources/FacebookSDKResources.bundle/FBPlacePickerView/images/fb_generic_place.png +0 -0
  257. data/lib/vendor/FacebookSDK.framework/Versions/Current/Resources/FacebookSDKResources.bundle/FBProfilePictureView/images/fb_blank_profile_portrait.png +0 -0
  258. data/lib/vendor/FacebookSDK.framework/Versions/Current/Resources/FacebookSDKResources.bundle/FBProfilePictureView/images/fb_blank_profile_square.png +0 -0
  259. data/lib/vendor/FacebookSDK.framework/Versions/Current/Resources/Info.plist +20 -0
  260. data/lib/vendor/Firebase.framework/Firebase +0 -0
  261. data/lib/vendor/Firebase.framework/Headers/FDataSnapshot.h +146 -0
  262. data/lib/vendor/Firebase.framework/Headers/FEventType.h +43 -0
  263. data/lib/vendor/Firebase.framework/Headers/FMutableData.h +134 -0
  264. data/lib/vendor/Firebase.framework/Headers/FQuery.h +229 -0
  265. data/lib/vendor/Firebase.framework/Headers/FTransactionResult.h +50 -0
  266. data/lib/vendor/Firebase.framework/Headers/Firebase.h +629 -0
  267. data/lib/vendor/Firebase.framework/Versions/A/Firebase +0 -0
  268. data/lib/vendor/Firebase.framework/Versions/A/Headers/FDataSnapshot.h +146 -0
  269. data/lib/vendor/Firebase.framework/Versions/A/Headers/FEventType.h +43 -0
  270. data/lib/vendor/Firebase.framework/Versions/A/Headers/FMutableData.h +134 -0
  271. data/lib/vendor/Firebase.framework/Versions/A/Headers/FQuery.h +229 -0
  272. data/lib/vendor/Firebase.framework/Versions/A/Headers/FTransactionResult.h +50 -0
  273. data/lib/vendor/Firebase.framework/Versions/A/Headers/Firebase.h +629 -0
  274. data/lib/vendor/Firebase.framework/Versions/Current/Firebase +0 -0
  275. data/lib/vendor/Firebase.framework/Versions/Current/Headers/FDataSnapshot.h +146 -0
  276. data/lib/vendor/Firebase.framework/Versions/Current/Headers/FEventType.h +43 -0
  277. data/lib/vendor/Firebase.framework/Versions/Current/Headers/FMutableData.h +134 -0
  278. data/lib/vendor/Firebase.framework/Versions/Current/Headers/FQuery.h +229 -0
  279. data/lib/vendor/Firebase.framework/Versions/Current/Headers/FTransactionResult.h +50 -0
  280. data/lib/vendor/Firebase.framework/Versions/Current/Headers/Firebase.h +629 -0
  281. data/lib/vendor/FirebaseAuthClient.framework/FirebaseAuthClient +0 -0
  282. data/lib/vendor/FirebaseAuthClient.framework/Headers/FATypes.h +48 -0
  283. data/lib/vendor/FirebaseAuthClient.framework/Headers/FAUser.h +85 -0
  284. data/lib/vendor/FirebaseAuthClient.framework/Headers/FirebaseAuthClient.h +149 -0
  285. data/lib/vendor/FirebaseAuthClient.framework/Versions/A/FirebaseAuthClient +0 -0
  286. data/lib/vendor/FirebaseAuthClient.framework/Versions/A/Headers/FATypes.h +48 -0
  287. data/lib/vendor/FirebaseAuthClient.framework/Versions/A/Headers/FAUser.h +85 -0
  288. data/lib/vendor/FirebaseAuthClient.framework/Versions/A/Headers/FirebaseAuthClient.h +149 -0
  289. data/lib/vendor/FirebaseAuthClient.framework/Versions/Current/FirebaseAuthClient +0 -0
  290. data/lib/vendor/FirebaseAuthClient.framework/Versions/Current/Headers/FATypes.h +48 -0
  291. data/lib/vendor/FirebaseAuthClient.framework/Versions/Current/Headers/FAUser.h +85 -0
  292. data/lib/vendor/FirebaseAuthClient.framework/Versions/Current/Headers/FirebaseAuthClient.h +149 -0
  293. data/motion-firebase.gemspec +23 -0
  294. data/resources/Default-568h@2x.png +0 -0
  295. metadata +357 -0
@@ -0,0 +1,156 @@
1
+ class AppDelegate
2
+ def application(application, didFinishLaunchingWithOptions:launchOptions)
3
+ true
4
+ @window = UIWindow.alloc.initWithFrame(UIScreen.mainScreen.bounds)
5
+ ctlr = MyController.new
6
+ first = UINavigationController.alloc.initWithRootViewController(ctlr)
7
+ @window.rootViewController = first
8
+ @window.makeKeyAndVisible
9
+ end
10
+ end
11
+
12
+
13
+ FirechatNS = 'https://firechat-ios.firebaseio-demo.com/'
14
+
15
+ class MyController < UIViewController
16
+
17
+ attr_accessor :chat
18
+ attr_accessor :firebase
19
+
20
+ attr_accessor :nameField
21
+ attr_accessor :textField
22
+ attr_accessor :tableView
23
+
24
+ def loadView
25
+ super
26
+
27
+ self.nameField = UIButton.rounded
28
+ self.nameField.frame = [[20, 20], [280, 44]]
29
+ self.nameField.on :touch {
30
+ #
31
+ }
32
+ self.nameField.autoresizingMask = UIViewAutoresizingFlexibleWidth
33
+ self.view << self.nameField
34
+
35
+ self.tableView = UITableView.plain
36
+ self.tableView.frame = [[20, 71], [280, 419]]
37
+ self.tableView.rowHeight = 44
38
+ self.tableView.delegate = self
39
+ self.tableView.dataSource = self
40
+ self.tableView.autoresizingMask = UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleHeight
41
+ self.view << self.tableView
42
+
43
+ self.textField = UITextField.alloc.initWithFrame([[20, 464], [280, 30]])
44
+ self.textField.borderStyle = UITextBorderStyleRoundedRect
45
+ self.textField.autoresizingMask = UIViewAutoresizingFlexibleWidth
46
+ self.textField.delegate = self
47
+ self.view << self.textField
48
+ end
49
+
50
+ def viewDidLoad
51
+ super
52
+
53
+ # Initialize array that will store chat messages.
54
+ self.chat = []
55
+
56
+ # Initialize the root of our Firebase namespace.
57
+ self.firebase = Firebase.alloc.initWithUrl(FirechatNS)
58
+
59
+ # Pick a random number between 1-1000 for our username.
60
+ self.title = "Guest0x#{(rand * 1000).round.to_s(16).upcase}"
61
+ nameField.setTitle(self.title, forState:UIControlStateNormal)
62
+
63
+ self.firebase.on(:added) { |snapshot|
64
+ # Add the chat message to the array.
65
+ self.chat << snapshot.value
66
+ # Reload the table view so the new message will show up.
67
+ self.tableView.reloadData
68
+ }
69
+ end
70
+
71
+
72
+ # This method is called when the user enters text in the text field.
73
+ # We add the chat message to our Firebase.
74
+ def textFieldShouldReturn(text_field)
75
+ text_field.resignFirstResponder
76
+
77
+ # This will also add the message to our local array self.chat because
78
+ # the FEventTypeChildAdded event will be immediately fired.
79
+ self.firebase[].setValue({'name' => self.title, 'text' => text_field.text})
80
+
81
+ text_field.text = ''
82
+ false
83
+ end
84
+
85
+ def numberOfSectionsInTableView(tableView)
86
+ 1
87
+ end
88
+
89
+ def tableView(tableView, numberOfRowsInSection:section)
90
+ self.chat.length
91
+ end
92
+
93
+ CellIdentifier = 'Cell'
94
+ def tableView(tableView, cellForRowAtIndexPath:index_path)
95
+ cell = tableView.dequeueReusableCellWithIdentifier(CellIdentifier)
96
+
97
+ unless cell
98
+ cell = UITableViewCell.alloc.initWithStyle(UITableViewCellStyleSubtitle, reuseIdentifier:CellIdentifier)
99
+ end
100
+
101
+ chatMessage = self.chat[index_path.row]
102
+
103
+ cell.textLabel.text = chatMessage['text']
104
+ cell.detailTextLabel.text = chatMessage['name']
105
+
106
+ return cell
107
+ end
108
+
109
+ # Subscribe to keyboard show/hide notifications.
110
+ def viewWillAppear(animated)
111
+ super
112
+ UIKeyboardWillShowNotification.add_observer(self, 'keyboardWillShow:')
113
+ UIKeyboardWillHideNotification.add_observer(self, 'keyboardWillHide:')
114
+ end
115
+
116
+ # Unsubscribe from keyboard show/hide notifications.
117
+ def viewWillDisappear(animated)
118
+ super
119
+ UIKeyboardWillShowNotification.remove_observer(self)
120
+ UIKeyboardWillHideNotification.remove_observer(self)
121
+ end
122
+
123
+ # Setup keyboard handlers to slide the view containing the table view and
124
+ # text field upwards when the keyboard shows, and downwards when it hides.
125
+ def keyboardWillShow(notification)
126
+ self.moveView(notification.userInfo, up:true)
127
+ end
128
+
129
+ def keyboardWillHide(notification)
130
+ self.moveView(notification.userInfo, up:false)
131
+ end
132
+
133
+ def moveView(userInfo, up:up)
134
+ keyboardEndFrame = userInfo[UIKeyboardFrameEndUserInfoKey].CGRectValue
135
+
136
+ animationCurve = userInfo[UIKeyboardAnimationCurveUserInfoKey]
137
+ animationDuration = userInfo[UIKeyboardAnimationDurationUserInfoKey]
138
+
139
+ # Get the correct keyboard size to we slide the right amount.
140
+ UIView.animate(duration:animationDuration, options:animationCurve | UIViewAnimationOptionBeginFromCurrentState) {
141
+ keyboardFrame = self.view.convertRect(keyboardEndFrame, toView:nil)
142
+ y = keyboardFrame.size.height * (up ? -1 : 1)
143
+ self.view.frame = CGRectOffset(self.view.frame, 0, y)
144
+ }
145
+ end
146
+
147
+ # This method will be called when the user touches on the tableView, at
148
+ # which point we will hide the keyboard (if open). This method is called
149
+ # because UITouchTableView.m calls nextResponder in its touch handler.
150
+ def touchesBegan(touches, withEvent:event)
151
+ if textField.isFirstResponder
152
+ textField.resignFirstResponder
153
+ end
154
+ end
155
+
156
+ end
@@ -0,0 +1,242 @@
1
+ class Firebase
2
+
3
+ def self.new(url)
4
+ alloc.initWithUrl(url)
5
+ end
6
+
7
+ # @example
8
+ # Firebase.dispatch_queue(queue)
9
+ # # => Firebase.setDispatchQueue(queue)
10
+ def self.dispatch_queue=(queue)
11
+ setDispatchQueue(queue)
12
+ end
13
+
14
+ # @example
15
+ # firebase = Firebase.new('http://..../')
16
+ # firebase.auth('secretkey', then: ->{}, disconnect:{})
17
+ # # => firebase.authWithCredential(credential)
18
+ def auth(credential, options={}, &and_then)
19
+ and_then = and_then || options[:completion]
20
+ disconnect_block = options[:disconnect]
21
+ authWithCredential(credential, withCompletionBlock:and_then, withCancelBlock:disconnect_block)
22
+ return self
23
+ end
24
+
25
+ def auth_state
26
+ self.root[".info/authenticated"]
27
+ end
28
+
29
+ def run(options={}, &transaction)
30
+ transaction = transaction || options[:transaction]
31
+ completion_block = options[:completion]
32
+ with_local_events = options[:local]
33
+ if with_local_events.nil?
34
+ if completion_block
35
+ runTransactionBlock(transaction, andCompletionBlock:completion_block)
36
+ else
37
+ runTransactionBlock(transaction)
38
+ end
39
+ else
40
+ runTransactionBlock(transaction, andCompletionBlock:completion_block, withLocalEvents:with_local_events)
41
+ end
42
+ end
43
+
44
+ # @example
45
+ # firebase = Firebase.new('http://..../')
46
+ # firebase[] # => childByAutoId
47
+ # firebase['fred'] # => childByAppendingPath('fred')
48
+ # firebase['fred', 'name', 'first'] # => childByAppendingPath('fred/name/first')
49
+ # firebase['fred']['name']['first']
50
+ # # => childByAppendingPath('fred').childByAppendingPath('name').childByAppendingPath('first'),
51
+ # # same as => childByAppendingPath('fred/name/first')
52
+ def [](*names)
53
+ if names.length == 0
54
+ childByAutoId
55
+ else
56
+ childByAppendingPath(names.join('/'))
57
+ end
58
+ end
59
+
60
+ def []=(key, value)
61
+ childByAppendingPath(key).set(value)
62
+ end
63
+
64
+ def clear!(&and_then)
65
+ if and_then
66
+ removeValueWithCompletionBlock(and_then)
67
+ else
68
+ removeValue
69
+ end
70
+ return self
71
+ end
72
+
73
+ def <<(value)
74
+ ref = childByAutoId
75
+ ref.update(value)
76
+ return ref
77
+ end
78
+
79
+ def value=(value)
80
+ setValue(value)
81
+ end
82
+
83
+ def set(value, &and_then)
84
+ if and_then
85
+ setValue(value, withCompletionBlock:and_then)
86
+ else
87
+ setValue(value)
88
+ end
89
+ return self
90
+ end
91
+
92
+ def priority=(value)
93
+ priority(value)
94
+ end
95
+
96
+ def priority(value, &and_then)
97
+ if and_then
98
+ setPriority(value, withCompletionBlock:and_then)
99
+ else
100
+ setPriority(value)
101
+ end
102
+ return self
103
+ end
104
+
105
+ def set(value, priority:priority, &and_then)
106
+ if and_then
107
+ setValue(value, andPriority:priority, withCompletionBlock:and_then)
108
+ else
109
+ setValue(value, andPriority:priority)
110
+ end
111
+ return self
112
+ end
113
+
114
+ def update(values, &and_then)
115
+ if and_then
116
+ updateChildValues(values, withCompletionBlock:and_then)
117
+ else
118
+ updateChildValues(values)
119
+ end
120
+ return self
121
+ end
122
+
123
+ def on(event_type, options={}, &and_then)
124
+ and_then = and_then || options[:completion]
125
+ raise "event handler is required" unless and_then
126
+ raise "event handler must accept one or two arguments" unless and_then.arity == 1 || and_then.arity == 2
127
+
128
+ event_type = Firebase._convert_event_type(event_type)
129
+ disconnect_block = options[:disconnect]
130
+ raise ":disconnect handler must not accept any arguments" if disconnect_block && disconnect_block.arity > 0
131
+
132
+ if and_then.arity == 1
133
+ if disconnect_block
134
+ observeEventType(event_type, withBlock:and_then, withCancelBlock:disconnect_block)
135
+ else
136
+ observeEventType(event_type, withBlock:and_then)
137
+ end
138
+ else
139
+ if disconnect_block
140
+ observeEventType(event_type, andPreviousSiblingNameWithBlock:and_then, withCancelBlock:disconnect_block)
141
+ else
142
+ observeEventType(event_type, andPreviousSiblingNameWithBlock:and_then)
143
+ end
144
+ end
145
+ end
146
+
147
+ def once(event_type, options={}, &and_then)
148
+ and_then = and_then || options[:completion]
149
+ raise "event handler is required" unless and_then
150
+ raise "event handler must accept one or two arguments" unless and_then.arity == 1 || and_then.arity == 2
151
+
152
+ event_type = Firebase._convert_event_type(event_type)
153
+ disconnect_block = options[:disconnect]
154
+ raise ":disconnect handler must not accept any arguments" if disconnect_block && disconnect_block.arity > 0
155
+
156
+ if and_then.arity == 1
157
+ if disconnect_block
158
+ observeSingleEventOfType(event_type, withBlock:and_then, withCancelBlock:disconnect_block)
159
+ else
160
+ observeSingleEventOfType(event_type, withBlock:and_then)
161
+ end
162
+ else
163
+ if disconnect_block
164
+ observeSingleEventOfType(event_type, andPreviousSiblingNameWithBlock:and_then, withCancelBlock:disconnect_block)
165
+ else
166
+ observeSingleEventOfType(event_type, andPreviousSiblingNameWithBlock:and_then)
167
+ end
168
+ end
169
+ end
170
+
171
+ def off(handle=nil)
172
+ if handle
173
+ removeObserverWithHandle(handle)
174
+ else
175
+ removeAllObservers
176
+ end
177
+ return self
178
+ end
179
+
180
+ def cancel_disconnect(&and_then)
181
+ if and_then
182
+ cancelDisconnectOperationsWithCompletionBlock(and_then)
183
+ else
184
+ cancelDisconnectOperations
185
+ end
186
+ return self
187
+ end
188
+
189
+ def on_disconnect(value, &and_then)
190
+ if and_then
191
+ if value.nil?
192
+ onDisconnectRemoveValueWithCompletionBlock(and_then)
193
+ elsif NSDictionary === value
194
+ onDisconnectUpdateChildValues(value, withCompletionBlock:and_then)
195
+ else
196
+ onDisconnectSetValue(value, withCompletionBlock:and_then)
197
+ end
198
+ else
199
+ if value == :remove
200
+ onDisconnectRemoveValue
201
+ elsif NSDictionary === value
202
+ onDisconnectUpdateChildValues(value)
203
+ else
204
+ onDisconnectSetValue(value)
205
+ end
206
+ end
207
+ return self
208
+ end
209
+
210
+ def on_disconnect(value, priority:priority, &and_then)
211
+ if and_then
212
+ onDisconnectSetValue(value, andPriority:priority, withCompletionBlock:and_then)
213
+ else
214
+ onDisconnectSetValue(value, andPriority:priority)
215
+ end
216
+ return self
217
+ end
218
+
219
+ def inspect
220
+ "#<#{self.class}:0x#{self.object_id.to_s(16)}>"
221
+ end
222
+
223
+ private
224
+ def self._convert_event_type(event_type)
225
+ case event_type
226
+ when :child_added, :added
227
+ return FEventTypeChildAdded
228
+ when :child_moved, :moved
229
+ FEventTypeChildMoved
230
+ when :child_changed, :changed
231
+ return FEventTypeChildChanged
232
+ when :child_removed, :removed
233
+ return FEventTypeChildRemoved
234
+ when :value
235
+ return FEventTypeValue
236
+ else
237
+ NSLog("Unknown event type #{event_type.inspect}")
238
+ end
239
+ return event_type
240
+ end
241
+
242
+ end
@@ -0,0 +1,49 @@
1
+ class FirebaseAuthClient
2
+
3
+ def self.new(ref)
4
+ alloc.initWithRef(ref)
5
+ end
6
+
7
+ def check(&and_then)
8
+ checkAuthStatusWithBlock(and_then)
9
+ end
10
+
11
+ def create(credentials, &block)
12
+ email = credentials[:email]
13
+ raise "email is required in #{__method__}" unless email
14
+ password = credentials[:password]
15
+ raise "password is required in #{__method__}" unless password
16
+ createUserWithEmail(email, password:password, andCompletionBlock:block)
17
+ end
18
+
19
+ def remove(credentials, &block)
20
+ email = credentials[:email]
21
+ raise "email is required in #{__method__}" unless email
22
+ password = credentials[:password]
23
+ raise "password is required in #{__method__}" unless password
24
+ removeUserWithEmail(email, password:password, andCompletionBlock:block)
25
+ end
26
+
27
+ def login(credentials, &block)
28
+ email = credentials[:email]
29
+ raise "email is required in #{__method__}" unless email
30
+ password = credentials[:password]
31
+ raise "password is required in #{__method__}" unless password
32
+ loginWithEmail(email, andPassword:password, withCompletionBlock:block)
33
+ end
34
+
35
+ def update(credentials, &block)
36
+ email = credentials[:email]
37
+ raise "email is required in #{__method__}" unless email
38
+ old_password = credentials[:old_password]
39
+ raise "old_password is required in #{__method__}" unless old_password
40
+ new_password = credentials[:new_password]
41
+ raise "new_password is required in #{__method__}" unless new_password
42
+ changePasswordForEmail(email, oldPassword:old_password, newPassword:new_password, completionBlock:block)
43
+ end
44
+
45
+ def inspect
46
+ "#<#{self.class}:0x#{self.object_id.to_s(16)}>"
47
+ end
48
+
49
+ end
@@ -0,0 +1,5 @@
1
+ module Motion
2
+ module Firebase
3
+ Version = '1.0.5'
4
+ end
5
+ end
@@ -0,0 +1,19 @@
1
+ unless defined?(Motion::Project::Config)
2
+ raise "The motion-firebase-auth gem must be required within a RubyMotion project Rakefile."
3
+ end
4
+
5
+
6
+ Motion::Project::App.setup do |app|
7
+ # scans app.files until it finds app/ (the default)
8
+ # if found, it inserts just before those files, otherwise it will insert to
9
+ # the end of the list
10
+ insert_point = app.files.find_index { |file| file =~ /^(?:\.\/)?app\// } || 0
11
+
12
+ Dir.glob(File.join(File.dirname(__FILE__), 'firebase-auth/**/*.rb')).reverse.each do |file|
13
+ app.files.insert(insert_point, file)
14
+ end
15
+
16
+ app.vendor_project(File.join(File.dirname(__FILE__), 'vendor/FirebaseAuthClient.framework'), :static, headers_dir: 'Headers', products: ['FirebaseAuthClient'])
17
+ app.libs += ['/usr/lib/libsqlite3.dylib']
18
+ app.weak_frameworks += ['AdSupport', 'Accounts', 'Social']
19
+ end
@@ -0,0 +1,17 @@
1
+ unless defined?(Motion::Project::Config)
2
+ raise "The motion-firebase-auth gem must be required within a RubyMotion project Rakefile."
3
+ end
4
+
5
+
6
+ Motion::Project::App.setup do |app|
7
+ # scans app.files until it finds app/ (the default)
8
+ # if found, it inserts just before those files, otherwise it will insert to
9
+ # the end of the list
10
+ insert_point = app.files.find_index { |file| file =~ /^(?:\.\/)?app\// } || 0
11
+
12
+ Dir.glob(File.join(File.dirname(__FILE__), 'firebase-auth/**/*.rb')).reverse.each do |file|
13
+ app.files.insert(insert_point, file)
14
+ end
15
+
16
+ app.vendor_project(File.join(File.dirname(__FILE__), 'vendor/FacebookSDK.framework'), :static, headers_dir: 'Headers', products: ['FacebookSDK'])
17
+ end
@@ -0,0 +1,19 @@
1
+ unless defined?(Motion::Project::Config)
2
+ raise "The motion-firebase gem must be required within a RubyMotion project Rakefile."
3
+ end
4
+
5
+
6
+ Motion::Project::App.setup do |app|
7
+ # scans app.files until it finds app/ (the default)
8
+ # if found, it inserts just before those files, otherwise it will insert to
9
+ # the end of the list
10
+ insert_point = app.files.find_index { |file| file =~ /^(?:\.\/)?app\// } || 0
11
+
12
+ Dir.glob(File.join(File.dirname(__FILE__), 'firebase/**/*.rb')).reverse.each do |file|
13
+ app.files.insert(insert_point, file)
14
+ end
15
+
16
+ app.vendor_project(File.join(File.dirname(__FILE__), 'vendor/Firebase.framework'), :static, headers_dir: 'Headers', products: ['Firebase'])
17
+ app.libs += ['/usr/lib/libicucore.dylib']
18
+ app.frameworks += ['CFNetwork', 'Security', 'Foundation']
19
+ end
@@ -0,0 +1,115 @@
1
+ /*
2
+ * Copyright 2013 Facebook
3
+ *
4
+ * Licensed under the Apache License, Version 2.0 (the "License");
5
+ * you may not use this file except in compliance with the License.
6
+ * You may obtain a copy of the License at
7
+ *
8
+ * http://www.apache.org/licenses/LICENSE-2.0
9
+ *
10
+ * Unless required by applicable law or agreed to in writing, software
11
+ * distributed under the License is distributed on an "AS IS" BASIS,
12
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
+ * See the License for the specific language governing permissions and
14
+ * limitations under the License.
15
+ */
16
+
17
+ #import <Foundation/Foundation.h>
18
+ #import "FBSession.h"
19
+
20
+ /*!
21
+ @class FBAccessTokenData
22
+
23
+ @abstract Represents an access token used for the Facebook login flow
24
+ and includes associated metadata such as expiration date and permissions.
25
+ You should use factory methods (createToken...) to construct instances
26
+ and should be treated as immutable.
27
+
28
+ @discussion For more information, see
29
+ https://developers.facebook.com/docs/concepts/login/access-tokens-and-types/.
30
+ */
31
+ @interface FBAccessTokenData : NSObject <NSCopying>
32
+
33
+ /*!
34
+ @method
35
+
36
+ @abstract Creates an FBAccessTokenData from an App Link provided by the Facebook application
37
+ or nil if the url is not valid.
38
+
39
+ @param url The url provided.
40
+ @param appID needed in order to verify URL format.
41
+ @param urlSchemeSuffix needed in order to verify URL format.
42
+
43
+ */
44
+ + (FBAccessTokenData *) createTokenFromFacebookURL:(NSURL *)url appID:(NSString *)appID urlSchemeSuffix:(NSString *)urlSchemeSuffix;
45
+
46
+ /*!
47
+ @method
48
+
49
+ @abstract Creates an FBAccessTokenData from a dictionary or returns nil if required data is missing.
50
+ @param dictionary the dictionary with FBSessionTokenCachingStrategy keys.
51
+ */
52
+ + (FBAccessTokenData *) createTokenFromDictionary:(NSDictionary *)dictionary;
53
+
54
+ /*!
55
+ @method
56
+
57
+ @abstract Creates an FBAccessTokenData from existing information or returns nil if required data is missing.
58
+
59
+ @param accessToken The token string. If nil or empty, this method will return nil.
60
+ @param permissions The permissions set. A value of nil indicates basic permissions.
61
+ @param expirationDate The expiration date. A value of nil defaults to `[NSDate distantFuture]`.
62
+ @param loginType The login source of the token.
63
+ @param refreshDate The date that token was last refreshed. A value of nil defaults to `[NSDate date]`.
64
+ */
65
+ + (FBAccessTokenData *) createTokenFromString:(NSString *)accessToken
66
+ permissions:(NSArray *)permissions
67
+ expirationDate:(NSDate *)expirationDate
68
+ loginType:(FBSessionLoginType)loginType
69
+ refreshDate:(NSDate *)refreshDate;
70
+
71
+ /*!
72
+ @method
73
+
74
+ @abstract Returns a dictionary representation of this instance.
75
+
76
+ @discussion This is provided for backwards compatibility with previous
77
+ access token related APIs that used a NSDictionary (see `FBSessionTokenCachingStrategy`).
78
+ */
79
+ - (NSMutableDictionary *) dictionary;
80
+
81
+ /*!
82
+ @method
83
+
84
+ @abstract Returns a Boolean value that indicates whether a given object is an FBAccessTokenData object and exactly equal the receiver.
85
+
86
+ @param accessTokenData the data to compare to the receiver.
87
+ */
88
+ - (BOOL) isEqualToAccessTokenData:(FBAccessTokenData *)accessTokenData;
89
+
90
+ /*!
91
+ @abstract returns the access token NSString.
92
+ */
93
+ @property (readonly, nonatomic, copy) NSString *accessToken;
94
+
95
+ /*!
96
+ @abstract returns the permissions associated with the access token.
97
+ */
98
+ @property (readonly, nonatomic, copy) NSArray *permissions;
99
+
100
+ /*!
101
+ @abstract returns the expiration date of the access token.
102
+ */
103
+ @property (readonly, nonatomic, copy) NSDate *expirationDate;
104
+
105
+ /*!
106
+ @abstract returns the login type associated with the token.
107
+ */
108
+ @property (readonly, nonatomic) FBSessionLoginType loginType;
109
+
110
+ /*!
111
+ @abstract returns the date the token was last refreshed.
112
+ */
113
+ @property (readonly, nonatomic, copy) NSDate *refreshDate;
114
+
115
+ @end
@@ -0,0 +1,42 @@
1
+ /*
2
+ * Copyright 2012 Facebook
3
+ *
4
+ * Licensed under the Apache License, Version 2.0 (the "License");
5
+ * you may not use this file except in compliance with the License.
6
+ * You may obtain a copy of the License at
7
+ *
8
+ * http://www.apache.org/licenses/LICENSE-2.0
9
+ *
10
+ * Unless required by applicable law or agreed to in writing, software
11
+ * distributed under the License is distributed on an "AS IS" BASIS,
12
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
+ * See the License for the specific language governing permissions and
14
+ * limitations under the License.
15
+ */
16
+
17
+ #import <Foundation/Foundation.h>
18
+ #import "FBSession.h"
19
+
20
+ /*!
21
+ @class
22
+
23
+ @abstract
24
+ Base class from which CacheDescriptors derive, provides a method to fetch data for later use
25
+
26
+ @discussion
27
+ Cache descriptors allow your application to specify the arguments that will be
28
+ later used with another object, such as the FBFriendPickerViewController. By using a cache descriptor
29
+ instance, an application can choose to fetch data ahead of the point in time where the data is needed.
30
+ */
31
+ @interface FBCacheDescriptor : NSObject
32
+
33
+ /*!
34
+ @method
35
+ @abstract
36
+ Fetches and caches the data described by the cache descriptor instance, for the given session.
37
+
38
+ @param session the <FBSession> to use for fetching data
39
+ */
40
+ - (void)prefetchAndCacheForSession:(FBSession*)session;
41
+
42
+ @end