rhosync_api 0.0.6 → 0.1.3

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.
data/History.txt CHANGED
@@ -2,6 +2,10 @@
2
2
  version 0.0.1 - 5 August 2011 - firts test of the gem
3
3
  version 0.0.2 - 5 August 2011 - fixing methods
4
4
  version 0.0.3 - 5 August 2011 - added new api methods
5
- version 0.0.4 - 6 August 2011 - error
5
+ version 0.0.4 - 6 August 2011 - error, this version is not working at all.
6
6
  version 0.0.5 - 6 August 2011 - firts stable release
7
- varsion 0.0.6 - 7 August 2001 - added README file and changed class RhosyncApi to module RhosyncApi
7
+ version 0.0.6 - 7 August 2001 - added README file and changed class RhosyncApi to module RhosyncApi
8
+
9
+ version 0.1.0 - 27 August 2011 - Gem name was changed from Rhosync_Api to RhoApi due conflicts with RhosyncApi module
10
+ - Added methods find, create, delete, delete_all
11
+ - Added methods push_objects and push_deletes, update_user
data/LICENSE CHANGED
@@ -1,8 +1,8 @@
1
- Created by Raul Mantilla Assia (2011)
1
+ Created by Raul Mantilla Assia (2011)
2
+ Any comments or questions to rmantilla26@hotmail.com
2
3
 
3
- Based on the rhomobile documentation
4
4
 
5
- All the comments in this gem was copied from the Rhomobile web page, and doesn't belong to the author.
5
+ Based on the rhomobile documentation
6
6
 
7
7
  http://docs.rhomobile.com/rhosync/rest-api
8
8
 
data/README CHANGED
@@ -1,4 +1,11 @@
1
- = Rhosync_api
1
+ Created by Raul Mantilla Assia (2011)
2
+ Any comments or questions to rmantilla26@hotmail.com
3
+
4
+ Based on the rhomobile documentation
5
+
6
+ http://docs.rhomobile.com/rhosync/rest-api
7
+
8
+ =rhosync_api
2
9
 
3
10
  With this gem you can connect to the rhosync API very easy.
4
11
 
@@ -8,10 +15,60 @@ With this gem you can connect to the rhosync API very easy.
8
15
 
9
16
  =HOW TO
10
17
 
11
- require "rubygems"
12
- require "rhosync_api"
18
+ require "rubygems"
19
+ require "rhosync_api"
20
+
21
+ RhoApi."method"
22
+
23
+
24
+
25
+ =SIMULATING ACTIVERECORD (Beta version, not completed)
26
+ A new feature was added to this gem, after the login method, the gem will get all the source adapters
27
+ and simulate a rails active record.
28
+ that means that we can do simples find, create, delete methods like:
29
+
30
+ RhoApi.Contacts.find("Test_user",:conditions=>{:object=>"0001"})
31
+ RhoApi.Contacts.create("Test_user",{ "0001"=>{"name"=>"Raul","lastname"=>"Mantilla"} } )
32
+ RhoApi.Contacts.delete("Test_user","0003")
33
+ RhoApi.Contacts.delete_all("Test_user")
34
+
35
+
36
+ =FIND
37
+ with this method you can search data inside a source adapter, right now is only avaliable to search by "object id"
38
+ or using AND conditionals, in the future will be OR, ORDER, and more conditions.
39
+ <source_name> = is the Source name, should be the same name in the rhosync setting.yml file
40
+ <user_id> = is the User name or login ID.
41
+
42
+ RhoApi.<source_name>.find("<user_id>",:conditions=>{:object=>"0001"})
43
+ RhoApi.<source_name>.find("<user_id>",:conditions=>{"field1"=>"value1","field2"=>"value2"})
44
+
45
+
46
+ =CREATE
47
+ with the create method you can insert new records into a given source adapter. and user id
48
+ <source_name> = is the Source name, should be the same name in the rhosync setting.yml file
49
+ <user_id> = is the User name or login ID.
50
+ DATA : Data should be a hash of hashes. {"0001"=>{"field1"=>"value","field2"=>"value2"},.....}
51
+ you can insert multiple record in the same query.
52
+
53
+ RhoApi.<source_name>.create("<user_id>",data)
54
+
55
+ =DELETE
56
+ with the delete method you can delete records from a given source adapter and user id
57
+ <source_name> = is the Source name, should be the same name in the rhosync setting.yml file
58
+ <user_id> = is the User name or login ID.
59
+ OBJECTS ID : Data should be an Array of objects IDs ["0001","0002"]
60
+ could be also a string "0001" if you want to delete only one value
61
+
62
+ RhoApi.<source_name>.delete("<user_id>",objects)
63
+
64
+ =DELETE_ALL
65
+ with this method you can delete all the data in a given source adapter and user id
66
+ <source_name> = is the Source name, should be the same name in the rhosync setting.yml file
67
+ <user_id> = is the User name or login ID.
68
+
69
+ RhoApi.<source_name>.delete_all("<user_id>")
70
+
13
71
 
14
- RhosyncApi."method"
15
72
 
16
73
  =METHODS
17
74
 
@@ -23,6 +80,7 @@ RhosyncApi."method"
23
80
  - ping
24
81
  - list_users
25
82
  - create_user
83
+ - update_user
26
84
  - delete_user
27
85
  - list_clients
28
86
  - create_client
@@ -41,7 +99,7 @@ RhosyncApi."method"
41
99
  =LOGIN
42
100
  this method is used to authenticate with rhosync server
43
101
 
44
- RhosyncApi.login("http://localhost:3000","rhoadmin","")
102
+ RhoApi.login("http://localhost:3000","rhoadmin","")
45
103
 
46
104
  params:
47
105
  - RHOSYNC URL
@@ -53,12 +111,12 @@ RhosyncApi."method"
53
111
 
54
112
  =LOGOUT
55
113
  This method set token variable to nil
56
- RhosyncApi.logout
114
+ RhoApi.logout
57
115
 
58
116
 
59
117
  =GET_API_TOKEN
60
118
 
61
- RhosyncApi.get_api_token
119
+ RhoApi.get_api_token
62
120
 
63
121
  return:
64
122
  this method returns the rhosync token, with this token you can authenticate to rhosync
@@ -66,21 +124,21 @@ RhosyncApi."method"
66
124
 
67
125
  =GET_LICENSE_INFO
68
126
 
69
- RhosyncApi.get_license_info
127
+ RhoApi.get_license_info
70
128
 
71
129
  return:
72
130
  this method returns all the information about the rhosync license
73
131
 
74
132
  =RESET
75
133
 
76
- RhosyncApi.reset
134
+ RhoApi.reset
77
135
 
78
136
  this method will reset all the redis information in rhosync
79
137
 
80
138
  =PING
81
139
  this method is used to send alerts to devices using rhosync settings
82
140
 
83
- RhosyncApi.ping(user_id,ping_params)
141
+ RhoApi.ping(user_id,ping_params)
84
142
 
85
143
  params
86
144
  - USER_ID
@@ -96,7 +154,7 @@ RhosyncApi."method"
96
154
 
97
155
  =LIST_USERS
98
156
 
99
- RhosyncApi.list_users
157
+ RhoApi.list_users
100
158
 
101
159
  return:
102
160
  this method returns an ARRAY of users ID.
@@ -104,7 +162,7 @@ RhosyncApi."method"
104
162
  =CREATE_USER
105
163
  with this method you can create a new user in rhosync
106
164
 
107
- RhosyncApi.create_user("username","password")
165
+ RhoApi.create_user("username","password")
108
166
 
109
167
  params:
110
168
  - USERNAME
@@ -112,10 +170,23 @@ RhosyncApi."method"
112
170
  return:
113
171
  this method will return nil if it fails
114
172
 
173
+ =UPDATE_USER
174
+ with this method you can update the user password, be careful this method will change the Admin password, so keep it in mind.
175
+ tested in rhosync 2.1.6: for some reason went i changed the password the admin password was changed too, i think is a bug in this rhosync version.
176
+
177
+ RhoApi.update_user("username","new password")
178
+
179
+ params:
180
+ - USERNAME : any user ID
181
+ - NEW PASSWORD : thi will be the new password
182
+ return:
183
+ this method will return nil if it fails
184
+
185
+
115
186
  =DELETE_USER
116
187
  with this method you can delete an existing user in rhosync
117
188
 
118
- RhosyncApi.delete_user("user_id")
189
+ RhoApi.delete_user("user_id")
119
190
 
120
191
  params:
121
192
  - USERID
@@ -125,7 +196,7 @@ RhosyncApi."method"
125
196
  =LIST_CLIENTS
126
197
  this method returns a list of devices for a given user ID
127
198
 
128
- RhosyncApi.list_clients("user_id")
199
+ RhoApi.list_clients("user_id")
129
200
 
130
201
  params:
131
202
  - USERID
@@ -135,7 +206,7 @@ RhosyncApi."method"
135
206
  =CREATE_CLIENT
136
207
  this method create a device for a given user ID
137
208
 
138
- RhosyncApi.create_client("user_id")
209
+ RhoApi.create_client("user_id")
139
210
 
140
211
  params:
141
212
  - USERID
@@ -145,7 +216,7 @@ RhosyncApi."method"
145
216
  =DELETE_CLIENT
146
217
  this method deletes a device for a given user ID and device ID
147
218
 
148
- RhosyncApi.delete_client("user_id","device_id")
219
+ RhoApi.delete_client("user_id","device_id")
149
220
 
150
221
  params:
151
222
  - USERID
@@ -156,7 +227,7 @@ RhosyncApi."method"
156
227
  =GET_CLIENT_PARAMS
157
228
  this method returns the attributes of a given device ID, such as device_type, device_pin, device_port.
158
229
 
159
- RhosyncApi.get_client_params("device_id")
230
+ RhoApi.get_client_params("device_id")
160
231
 
161
232
  params:
162
233
  - DEVICE_ID
@@ -167,8 +238,8 @@ RhosyncApi."method"
167
238
  =LIST_SOURCES
168
239
  this method returns a list rhosync source adapters for a given partition
169
240
 
170
- RhosyncApi.list_sources("partition")
171
- RhosyncApi.list_sources
241
+ RhoApi.list_sources("partition")
242
+ RhoApi.list_sources
172
243
 
173
244
  params:
174
245
  - PARTITION : this could be "user" or "app" by default if use "user" partition
@@ -179,7 +250,7 @@ RhosyncApi."method"
179
250
  this method returns the attributes of a given source adapter
180
251
  such as name, poll_interval, partition_type, sync_type, queue, query_queue, cud_queue
181
252
 
182
- RhosyncApi.get_source_params("source name")
253
+ RhoApi.get_source_params("source name")
183
254
 
184
255
  params:
185
256
  - SOURCE NAME
@@ -190,7 +261,7 @@ RhosyncApi."method"
190
261
  this method returns a list of document keys associated with given source and user.
191
262
  such as md, md_size, md_copy, errors
192
263
 
193
- RhosyncApi.list_source_docs("user_id","source_name")
264
+ RhoApi.list_source_docs("user_id","source_name")
194
265
 
195
266
  params:
196
267
  - USER ID
@@ -201,8 +272,8 @@ RhosyncApi."method"
201
272
  =GET_DB_DOC
202
273
  this method returns the content of a given document key.
203
274
 
204
- RhosyncApi.get_db_doc("document key","data_type")
205
- RhosyncApi.get_db_doc("document key")
275
+ RhoApi.get_db_doc("document key","data_type")
276
+ RhoApi.get_db_doc("document key")
206
277
 
207
278
  params:
208
279
  - DOCUMENT KEY : this is the document key listed in the LIST_SOURCE_DOCS method
@@ -213,8 +284,8 @@ RhosyncApi."method"
213
284
  =SET_DB_DOC
214
285
  this method set content of a given document key
215
286
 
216
- RhosyncApi.set_db_doc("document key","data","data_type")
217
- RhosyncApi.set_db_doc("document key","data")
287
+ RhoApi.set_db_doc("document key","data","data_type")
288
+ RhoApi.set_db_doc("document key","data")
218
289
 
219
290
  params:
220
291
  - DOCUMENT KEY : this is the document key listed in the LIST_SOURCE_DOCS method
@@ -226,7 +297,7 @@ RhosyncApi."method"
226
297
  =LIST_CLIENT_DOC
227
298
  this method returns a list of document keys associated with particular device.
228
299
 
229
- RhosyncApi.list_client_docs("device_id","source_name")
300
+ RhoApi.list_client_docs("device_id","source_name")
230
301
 
231
302
  params:
232
303
  - DEVICE_ID :
@@ -237,7 +308,7 @@ RhosyncApi."method"
237
308
  =GET_DB_DOC_BY_TYPE
238
309
  this method returns the content of a given document user and source name.
239
310
 
240
- RhosyncApi.get_db_doc("user_id","source_name","type_doc")
311
+ RhoApi.get_db_doc_by_type("user_id","source_name","type_doc")
241
312
 
242
313
  params:
243
314
  - USER ID :
@@ -249,7 +320,7 @@ RhosyncApi."method"
249
320
  =SET_DB_DOC_BY_TYPE
250
321
  this method set content of a given user id and source name
251
322
 
252
- RhosyncApi.set_db_doc_by_type("user_id","source_name","data","type_doc")
323
+ RhoApi.set_db_doc_by_type("user_id","source_name","data","type_doc")
253
324
 
254
325
  params:
255
326
  - USER ID :
@@ -258,4 +329,29 @@ RhosyncApi."method"
258
329
  - TYPE DOC : such as md, md_size, md_copy, errors
259
330
  return:
260
331
  this method will return nil if it fails
261
- - set_db_doc_by_type
332
+
333
+
334
+ =PUSH_OBJECTS
335
+ this method save data into a given user id and source name
336
+
337
+ RhoApi.push_objects("user_id","source_name","data")
338
+
339
+ params:
340
+ - USER ID :
341
+ - SOURCE NAME:
342
+ - DATA : Data should be a hash of hashes. {"0001"=>{"field1"=>"value","field2"=>"value2"},.....}
343
+ return:
344
+ this method will return nil if it fails
345
+
346
+ =PUSH_DELETES
347
+ this method deletes records in a given user id and source name
348
+
349
+ RhoApi.push_deletes("user_id","source_name","data")
350
+
351
+ params:
352
+ - USER ID :
353
+ - SOURCE NAME:
354
+ - DATA : Data should be an Array of objects IDs ["0001","0002"], could be also a string "0001"
355
+ return:
356
+ this method will return nil if it fails
357
+