motion-firebase 1.0.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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