motion-firebase 2.1.5 → 3.0.0

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 (31) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +192 -64
  3. data/lib/firebase-auth/firebase_simple_login.rb +0 -76
  4. data/lib/firebase/fdata_snapshot.rb +4 -0
  5. data/lib/firebase/firebase.rb +53 -42
  6. data/lib/firebase/firebase_auth.rb +219 -0
  7. data/lib/firebase/firebase_facebook_helper.rb +24 -0
  8. data/lib/firebase/firebase_github_helper.rb +20 -0
  9. data/lib/firebase/firebase_twitter_helper.rb +169 -0
  10. data/lib/firebase/fquery.rb +16 -4
  11. data/lib/firebase/version.rb +2 -1
  12. data/lib/motion-firebase-auth.rb +3 -11
  13. data/lib/motion-firebase.rb +3 -1
  14. metadata +6 -19
  15. data/lib/vendor/Firebase.framework/Firebase +0 -0
  16. data/lib/vendor/Firebase.framework/Versions/A/Firebase +0 -0
  17. data/lib/vendor/Firebase.framework/Versions/A/Headers/FDataSnapshot.h +0 -146
  18. data/lib/vendor/Firebase.framework/Versions/A/Headers/FEventType.h +0 -43
  19. data/lib/vendor/Firebase.framework/Versions/A/Headers/FMutableData.h +0 -139
  20. data/lib/vendor/Firebase.framework/Versions/A/Headers/FQuery.h +0 -229
  21. data/lib/vendor/Firebase.framework/Versions/A/Headers/FTransactionResult.h +0 -50
  22. data/lib/vendor/Firebase.framework/Versions/A/Headers/Firebase.h +0 -707
  23. data/lib/vendor/Firebase.framework/build-MacOSX/Firebase.framework.bridgesupport +0 -582
  24. data/lib/vendor/Firebase.framework/build-iPhoneSimulator/Firebase.framework.bridgesupport +0 -582
  25. data/lib/vendor/FirebaseSimpleLogin.framework/FirebaseSimpleLogin +0 -0
  26. data/lib/vendor/FirebaseSimpleLogin.framework/Versions/A/FirebaseSimpleLogin +0 -0
  27. data/lib/vendor/FirebaseSimpleLogin.framework/Versions/A/Headers/FATypes.h +0 -52
  28. data/lib/vendor/FirebaseSimpleLogin.framework/Versions/A/Headers/FAUser.h +0 -97
  29. data/lib/vendor/FirebaseSimpleLogin.framework/Versions/A/Headers/FirebaseSimpleLogin.h +0 -221
  30. data/lib/vendor/FirebaseSimpleLogin.framework/build-MacOSX/FirebaseSimpleLogin.framework.bridgesupport +0 -230
  31. data/lib/vendor/FirebaseSimpleLogin.framework/build-iPhoneSimulator/FirebaseSimpleLogin.framework.bridgesupport +0 -230
@@ -48,6 +48,9 @@ class FQuery
48
48
  end
49
49
  end
50
50
 
51
+ def self.off(handle=nil)
52
+ Firebase.new.off(handle)
53
+ end
51
54
  def off(handle=nil)
52
55
  if handle
53
56
  removeObserverWithHandle(handle)
@@ -61,19 +64,28 @@ class FQuery
61
64
  queryStartingAtPriority(priority)
62
65
  end
63
66
 
64
- def start_at(priority, child:child)
65
- queryStartingAtPriority(priority, andChildName:child)
67
+ def start_at(priority, child: child)
68
+ queryStartingAtPriority(priority, andChildName: child)
69
+ end
70
+
71
+ def equal_to(priority)
72
+ queryEqualToPriority(priority)
73
+ end
74
+
75
+ def equal_to(priority, child: child)
76
+ queryEqualToPriority(priority, andChildName: child)
66
77
  end
67
78
 
68
79
  def end_at(priority)
69
80
  queryEndingAtPriority(priority)
70
81
  end
71
82
 
72
- def end_at(priority, child:child)
73
- queryEndingAtPriority(priority, andChildName:child)
83
+ def end_at(priority, child: child)
84
+ queryEndingAtPriority(priority, andChildName: child)
74
85
  end
75
86
 
76
87
  def limit(limit)
77
88
  queryLimitedToNumberOfChildren(limit)
78
89
  end
90
+
79
91
  end
@@ -1,5 +1,6 @@
1
1
  module Motion
2
2
  module Firebase
3
- Version = '2.1.5'
3
+ Version = '3.0.0' # motion-firebase gem version
4
+ SdkVersion = '1.2.2' # firebase framework version
4
5
  end
5
6
  end
@@ -4,15 +4,7 @@ end
4
4
 
5
5
 
6
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/FirebaseSimpleLogin.framework'), :static, headers_dir: 'Headers', products: ['FirebaseSimpleLogin'])
17
- app.weak_frameworks += ['Accounts', 'Social']
7
+ app.info 'Firebase', 'As of version 1.2.2 of Firebase (motion-firebase version 3.0.0), you no'
8
+ app.info '', 'longer need to include motion-firebase-auth, because FirebaseSimpleLogin'
9
+ app.info '', 'is part of the core Firebase SDK.'
18
10
  end
@@ -13,7 +13,9 @@ Motion::Project::App.setup do |app|
13
13
  app.files.insert(insert_point, file)
14
14
  end
15
15
 
16
- app.vendor_project(File.join(File.dirname(__FILE__), 'vendor/Firebase.framework'), :static, headers_dir: 'Headers', products: ['Firebase'], force_load: false)
17
16
  app.libs += ['/usr/lib/libicucore.dylib', '/usr/lib/libc++.dylib']
18
17
  app.frameworks += ['CFNetwork', 'Security', 'SystemConfiguration']
18
+ # for twitter or facebook
19
+ app.weak_frameworks += ['Accounts', 'Social']
20
+ app.vendor_project(File.join(File.dirname(__FILE__), 'vendor/Firebase.framework'), :static, headers_dir: 'Headers', products: ['Firebase'], force_load: false)
19
21
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: motion-firebase
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.1.5
4
+ version: 3.0.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Colin T.A. Gray
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-09-11 00:00:00.000000000 Z
11
+ date: 2014-10-09 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rspec
@@ -34,28 +34,15 @@ extra_rdoc_files: []
34
34
  files:
35
35
  - lib/firebase/fdata_snapshot.rb
36
36
  - lib/firebase/firebase.rb
37
+ - lib/firebase/firebase_auth.rb
38
+ - lib/firebase/firebase_facebook_helper.rb
39
+ - lib/firebase/firebase_github_helper.rb
40
+ - lib/firebase/firebase_twitter_helper.rb
37
41
  - lib/firebase/fquery.rb
38
42
  - lib/firebase/version.rb
39
43
  - lib/firebase-auth/firebase_simple_login.rb
40
44
  - lib/motion-firebase-auth.rb
41
45
  - lib/motion-firebase.rb
42
- - lib/vendor/Firebase.framework/build-iPhoneSimulator/Firebase.framework.bridgesupport
43
- - lib/vendor/Firebase.framework/build-MacOSX/Firebase.framework.bridgesupport
44
- - lib/vendor/Firebase.framework/Firebase
45
- - lib/vendor/Firebase.framework/Versions/A/Firebase
46
- - lib/vendor/Firebase.framework/Versions/A/Headers/FDataSnapshot.h
47
- - lib/vendor/Firebase.framework/Versions/A/Headers/FEventType.h
48
- - lib/vendor/Firebase.framework/Versions/A/Headers/Firebase.h
49
- - lib/vendor/Firebase.framework/Versions/A/Headers/FMutableData.h
50
- - lib/vendor/Firebase.framework/Versions/A/Headers/FQuery.h
51
- - lib/vendor/Firebase.framework/Versions/A/Headers/FTransactionResult.h
52
- - lib/vendor/FirebaseSimpleLogin.framework/build-iPhoneSimulator/FirebaseSimpleLogin.framework.bridgesupport
53
- - lib/vendor/FirebaseSimpleLogin.framework/build-MacOSX/FirebaseSimpleLogin.framework.bridgesupport
54
- - lib/vendor/FirebaseSimpleLogin.framework/FirebaseSimpleLogin
55
- - lib/vendor/FirebaseSimpleLogin.framework/Versions/A/FirebaseSimpleLogin
56
- - lib/vendor/FirebaseSimpleLogin.framework/Versions/A/Headers/FATypes.h
57
- - lib/vendor/FirebaseSimpleLogin.framework/Versions/A/Headers/FAUser.h
58
- - lib/vendor/FirebaseSimpleLogin.framework/Versions/A/Headers/FirebaseSimpleLogin.h
59
46
  - README.md
60
47
  homepage: https://github.com/colinta/motion-firebase
61
48
  licenses:
Binary file
@@ -1,146 +0,0 @@
1
- /*
2
- * Firebase iOS Client Library
3
- *
4
- * Copyright © 2013 Firebase - All Rights Reserved
5
- * https://www.firebase.com
6
- *
7
- * Redistribution and use in source and binary forms, with or without
8
- * modification, are permitted provided that the following conditions are met:
9
- *
10
- * 1. Redistributions of source code must retain the above copyright notice, this
11
- * list of conditions and the following disclaimer.
12
- *
13
- * 2. Redistributions in binaryform must reproduce the above copyright notice,
14
- * this list of conditions and the following disclaimer in the documentation
15
- * and/or other materials provided with the distribution.
16
- *
17
- * THIS SOFTWARE IS PROVIDED BY FIREBASE AS IS AND ANY EXPRESS OR
18
- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
19
- * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
20
- * EVENT SHALL FIREBASE BE LIABLE FOR ANY DIRECT,
21
- * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
22
- * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
23
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
24
- * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
25
- * OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
26
- * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
27
- */
28
-
29
- #import <Foundation/Foundation.h>
30
-
31
- @class Firebase;
32
-
33
- /**
34
- * An FDataSnapshot contains data from a Firebase location. Any time you read
35
- * Firebase data, you receive the data as an FDataSnapshot.
36
- *
37
- * FDataSnapshots are passed to the blocks you attach with observeEventType:withBlock: or observeSingleEvent:withBlock:.
38
- * They are efficiently-generated immutable copies of the data at a Firebase location.
39
- * They can't be modified and will never change. To modify data at a location,
40
- * use a Firebase reference (e.g. with setValue:).
41
- */
42
- @interface FDataSnapshot : NSObject
43
-
44
-
45
- /** @name Navigating and inspecting a snapshot */
46
-
47
- /**
48
- * Get an FDataSnapshot for the location at the specified relative path.
49
- * The relative path can either be a simple child name (e.g. 'fred')
50
- * or a deeper slash-separated path (e.g. 'fred/name/first'). If the child
51
- * location has no data, an empty FDataSnapshot is returned.
52
- *
53
- * @param childPathString A relative path to the location of child data.
54
- * @return The FDataSnapshot for the child location.
55
- */
56
- - (FDataSnapshot *) childSnapshotForPath:(NSString *)childPathString;
57
-
58
-
59
- /**
60
- * Return YES if the specified child exists.
61
- *
62
- * @param childPathString A relative path to the location of a potential child.
63
- * @return YES if data exists at the specified childPathString, else false.
64
- */
65
- - (BOOL) hasChild:(NSString *)childPathString;
66
-
67
-
68
- /**
69
- * Return YES if the DataSnapshot has any children.
70
- *
71
- * @return YES if this snapshot has any children, else NO.
72
- */
73
- - (BOOL) hasChildren;
74
-
75
-
76
- /** @name Data export */
77
-
78
- /**
79
- * Returns the raw value at this location, coupled with any metadata, such as priority.
80
- *
81
- * Priorities, where they exist, are accessible under the ".priority" key in instances of NSDictionary.
82
- * For leaf locations with priorities, the value will be under the ".value" key.
83
- */
84
- - (id) valueInExportFormat;
85
-
86
-
87
- /** @name Properties */
88
-
89
- /**
90
- * Returns the contents of this data snapshot as native types.
91
- *
92
- * Data types returned:
93
- * * NSDictionary
94
- * * NSArray
95
- * * NSNumber (also includes booleans)
96
- * * NSString
97
- *
98
- * @return The data as a native object.
99
- */
100
- @property (strong, readonly, nonatomic) id value;
101
-
102
-
103
- /**
104
- * Get the number of children for this DataSnapshot.
105
- *
106
- * @return An integer indicating the number of children.
107
- */
108
- @property (readonly, nonatomic) NSUInteger childrenCount;
109
-
110
-
111
- /**
112
- * Get a Firebase reference for the location that this data came from
113
- *
114
- * @return A Firebase instance for the location of this data
115
- */
116
- @property (nonatomic, readonly, strong) Firebase* ref;
117
-
118
-
119
- /**
120
- * The name of the location that generated this FDataSnapshot.
121
- *
122
- * @return An NSString containing the name for the location of this FDataSnapshot.
123
- */
124
- @property (strong, readonly, nonatomic) NSString* name;
125
-
126
-
127
- /**
128
- * An iterator for snapshots of the child nodes in this snapshot.
129
- * You can use the native for..in syntax:
130
- *
131
- * for (FDataSnapshot* child in snapshot.children) {
132
- * ...
133
- * }
134
- *
135
- * @return An NSEnumerator of the children
136
- */
137
- @property (strong, readonly, nonatomic) NSEnumerator* children;
138
-
139
- /**
140
- * The priority of the data in this FDataSnapshot.
141
- *
142
- * @return The priority as a string, or nil if no priority was set.
143
- */
144
- @property (strong, readonly, nonatomic) id priority;
145
-
146
- @end
@@ -1,43 +0,0 @@
1
- /*
2
- * Firebase iOS Client Library
3
- *
4
- * Copyright © 2013 Firebase - All Rights Reserved
5
- * https://www.firebase.com
6
- *
7
- * Redistribution and use in source and binary forms, with or without
8
- * modification, are permitted provided that the following conditions are met:
9
- *
10
- * 1. Redistributions of source code must retain the above copyright notice, this
11
- * list of conditions and the following disclaimer.
12
- *
13
- * 2. Redistributions in binaryform must reproduce the above copyright notice,
14
- * this list of conditions and the following disclaimer in the documentation
15
- * and/or other materials provided with the distribution.
16
- *
17
- * THIS SOFTWARE IS PROVIDED BY FIREBASE AS IS AND ANY EXPRESS OR
18
- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
19
- * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
20
- * EVENT SHALL FIREBASE BE LIABLE FOR ANY DIRECT,
21
- * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
22
- * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
23
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
24
- * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
25
- * OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
26
- * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
27
- */
28
-
29
- #ifndef Firebase_FEventType_h
30
- #define Firebase_FEventType_h
31
-
32
- /**
33
- * This enum is the set of events that you can observe at a Firebase location.
34
- */
35
- typedef enum {
36
- FEventTypeChildAdded, // 0, fired when a new child node is added to a location
37
- FEventTypeChildRemoved, // 1, fired when a child node is removed from a location
38
- FEventTypeChildChanged, // 2, fired when a child node at a location changes
39
- FEventTypeChildMoved, // 3, fired when a child node moves relative to the other child nodes at a location
40
- FEventTypeValue // 4, fired when any data changes at a location and, recursively, any children
41
- } FEventType;
42
-
43
- #endif
@@ -1,139 +0,0 @@
1
- /*
2
- * Firebase iOS Client Library
3
- *
4
- * Copyright © 2013 Firebase - All Rights Reserved
5
- * https://www.firebase.com
6
- *
7
- * Redistribution and use in source and binary forms, with or without
8
- * modification, are permitted provided that the following conditions are met:
9
- *
10
- * 1. Redistributions of source code must retain the above copyright notice, this
11
- * list of conditions and the following disclaimer.
12
- *
13
- * 2. Redistributions in binaryform must reproduce the above copyright notice,
14
- * this list of conditions and the following disclaimer in the documentation
15
- * and/or other materials provided with the distribution.
16
- *
17
- * THIS SOFTWARE IS PROVIDED BY FIREBASE AS IS AND ANY EXPRESS OR
18
- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
19
- * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
20
- * EVENT SHALL FIREBASE BE LIABLE FOR ANY DIRECT,
21
- * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
22
- * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
23
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
24
- * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
25
- * OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
26
- * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
27
- */
28
-
29
- #import <Foundation/Foundation.h>
30
-
31
- /**
32
- * An FMutableData instance is populated with data from a Firebase location.
33
- * When you are using runTransactionBlock:, you will be given an instance containing the current
34
- * data at that location. Your block will be responsible for updating that instance to the data
35
- * you wish to save at that location, and then returning using [FTransactionResult successWithValue:].
36
- *
37
- * To modify the data, set its value property to any of the native types support by Firebase:
38
- * * NSNumber (includes BOOL)
39
- * * NSDictionary
40
- * * NSArray
41
- * * NSString
42
- * * nil / NSNull to remove the data
43
- *
44
- * Note that changes made to a child FMutableData instance will be visible to the parent.
45
- */
46
- @interface FMutableData : NSObject
47
-
48
-
49
- /** @name Inspecting and navigating the data */
50
-
51
-
52
- /**
53
- * Returns boolean indicating whether this mutable data has children.
54
- *
55
- * @return YES if this data contains child nodes.
56
- */
57
- - (BOOL) hasChildren;
58
-
59
-
60
- /**
61
- * Indicates whether this mutable data has a child at the given path.
62
- *
63
- * @param path A path string, consisting either of a single segment, like 'child', or multiple segments, 'a/deeper/child'
64
- * @return YES if this data contains a child at the specified relative path
65
- */
66
- - (BOOL) hasChildAtPath:(NSString *)path;
67
-
68
-
69
- /**
70
- * Used to obtain an FMutableData instance that encapsulates the data at the given relative path.
71
- * Note that changes made to the child will be visible to the parent.
72
- *
73
- * @param path A path string, consisting either of a single segment, like 'child', or multiple segments, 'a/deeper/child'
74
- * @return An FMutableData instance containing the data at the given path
75
- */
76
- - (FMutableData *) childDataByAppendingPath:(NSString *)path;
77
-
78
-
79
- /** @name Properties */
80
-
81
-
82
- /**
83
- * @return An FMutableData instance containing the data at the parent location, or nil if this is the top-most location
84
- */
85
- @property (strong, readonly, nonatomic) FMutableData* parent;
86
-
87
-
88
- /**
89
- * To modify the data contained by this instance of FMutableData, set this to any of the native types support by Firebase:
90
- * * NSNumber (includes BOOL)
91
- * * NSDictionary
92
- * * NSArray
93
- * * NSString
94
- * * nil / NSNull to remove the data
95
- *
96
- * Note that setting the value will override the priority at this location.
97
- *
98
- * @return The current data at this location as a native object
99
- */
100
- @property (strong, nonatomic) id value;
101
-
102
-
103
- /**
104
- * Set this property to update the priority of the data at this location. Can be set to the following types:
105
- * * NSNumber
106
- * * NSString
107
- * * nil / NSNull to remove the priority
108
- *
109
- * @return The priority of the data at this location
110
- */
111
- @property (strong, nonatomic) id priority;
112
-
113
-
114
- /**
115
- * @return The number of child nodes at this location
116
- */
117
- @property (readonly, nonatomic) NSUInteger childrenCount;
118
-
119
-
120
- /**
121
- * Used to iterate over the children at this location. You can use the native for .. in syntax:
122
- *
123
- * for (FMutableData* child in data.children) {
124
- * ...
125
- * }
126
- *
127
- * Note that this enumerator operates on an immutable copy of the child list. So, you can modify the instance
128
- * during iteration, but the new additions will not be visible until you get a new enumerator.
129
- */
130
- @property (readonly, nonatomic, strong) NSEnumerator* children;
131
-
132
-
133
- /**
134
- * @return The name of this node, or nil if it is the top-most location
135
- */
136
- @property (readonly, nonatomic, strong) NSString* name;
137
-
138
-
139
- @end