rhosync_api 0.0.5 → 0.0.6
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 +6 -5
- data/{LICENSE.txt → LICENSE} +5 -7
- data/README +261 -0
- data/lib/rhosync_api.rb +37 -30
- metadata +11 -10
data/History.txt
CHANGED
@@ -1,6 +1,7 @@
|
|
1
1
|
|
2
|
-
version 0.0.1 - 5 August 2011
|
3
|
-
version 0.0.2 - 5 August 2011
|
4
|
-
version 0.0.3 - 5 August 2011
|
5
|
-
version 0.0.4 - 6 August 2011
|
6
|
-
version 0.0.5 - 6 August 2011
|
2
|
+
version 0.0.1 - 5 August 2011 - firts test of the gem
|
3
|
+
version 0.0.2 - 5 August 2011 - fixing methods
|
4
|
+
version 0.0.3 - 5 August 2011 - added new api methods
|
5
|
+
version 0.0.4 - 6 August 2011 - error
|
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
|
data/{LICENSE.txt → LICENSE}
RENAMED
@@ -1,10 +1,8 @@
|
|
1
1
|
Created by Raul Mantilla Assia (2011)
|
2
|
-
|
3
2
|
|
4
|
-
|
5
3
|
Based on the rhomobile documentation
|
6
|
-
|
7
|
-
All the comments in this gem was copied from the Rhomobile web page, and
|
8
|
-
|
9
|
-
http://docs.rhomobile.com/rhosync/rest-api
|
10
|
-
|
4
|
+
|
5
|
+
All the comments in this gem was copied from the Rhomobile web page, and doesn't belong to the author.
|
6
|
+
|
7
|
+
http://docs.rhomobile.com/rhosync/rest-api
|
8
|
+
|
data/README
ADDED
@@ -0,0 +1,261 @@
|
|
1
|
+
= Rhosync_api
|
2
|
+
|
3
|
+
With this gem you can connect to the rhosync API very easy.
|
4
|
+
|
5
|
+
=INTALLATION
|
6
|
+
|
7
|
+
gem install rhosync_api
|
8
|
+
|
9
|
+
=HOW TO
|
10
|
+
|
11
|
+
require "rubygems"
|
12
|
+
require "rhosync_api"
|
13
|
+
|
14
|
+
RhosyncApi."method"
|
15
|
+
|
16
|
+
=METHODS
|
17
|
+
|
18
|
+
- login
|
19
|
+
- logout
|
20
|
+
- get_api_token
|
21
|
+
- get_license_info
|
22
|
+
- reset
|
23
|
+
- ping
|
24
|
+
- list_users
|
25
|
+
- create_user
|
26
|
+
- delete_user
|
27
|
+
- list_clients
|
28
|
+
- create_client
|
29
|
+
- delete_client
|
30
|
+
- get_client_params
|
31
|
+
- list_sources
|
32
|
+
- get_source_params
|
33
|
+
- list_source_docs
|
34
|
+
- get_db_doc
|
35
|
+
- set_db_doc
|
36
|
+
- list_client_docs
|
37
|
+
- get_db_doc_by_type
|
38
|
+
- set_db_doc_by_type
|
39
|
+
|
40
|
+
|
41
|
+
=LOGIN
|
42
|
+
this method is used to authenticate with rhosync server
|
43
|
+
|
44
|
+
RhosyncApi.login("http://localhost:3000","rhoadmin","")
|
45
|
+
|
46
|
+
params:
|
47
|
+
- RHOSYNC URL
|
48
|
+
- USERNAME
|
49
|
+
- PASSWORD
|
50
|
+
return:
|
51
|
+
this method will return a token is the authentication is correct
|
52
|
+
this method will return nil if the authentication is incorrect
|
53
|
+
|
54
|
+
=LOGOUT
|
55
|
+
This method set token variable to nil
|
56
|
+
RhosyncApi.logout
|
57
|
+
|
58
|
+
|
59
|
+
=GET_API_TOKEN
|
60
|
+
|
61
|
+
RhosyncApi.get_api_token
|
62
|
+
|
63
|
+
return:
|
64
|
+
this method returns the rhosync token, with this token you can authenticate to rhosync
|
65
|
+
|
66
|
+
|
67
|
+
=GET_LICENSE_INFO
|
68
|
+
|
69
|
+
RhosyncApi.get_license_info
|
70
|
+
|
71
|
+
return:
|
72
|
+
this method returns all the information about the rhosync license
|
73
|
+
|
74
|
+
=RESET
|
75
|
+
|
76
|
+
RhosyncApi.reset
|
77
|
+
|
78
|
+
this method will reset all the redis information in rhosync
|
79
|
+
|
80
|
+
=PING
|
81
|
+
this method is used to send alerts to devices using rhosync settings
|
82
|
+
|
83
|
+
RhosyncApi.ping(user_id,ping_params)
|
84
|
+
|
85
|
+
params
|
86
|
+
- USER_ID
|
87
|
+
the rhosync user id
|
88
|
+
- PING_PARAMS
|
89
|
+
ping_params => { :message => "this is a test", :sound=>"hello.mp3" }
|
90
|
+
# :message - message which will be used to display notification popup dialog on the device
|
91
|
+
# :badge - iphone specific badge
|
92
|
+
# :sound - name of the sound file to play upon receiving PUSH notification
|
93
|
+
# :vibrate - number of seconds to vibrate upon receiving PUSH notification
|
94
|
+
# :sources - list of data source names to be synced upon receiving PUSH notification
|
95
|
+
|
96
|
+
|
97
|
+
=LIST_USERS
|
98
|
+
|
99
|
+
RhosyncApi.list_users
|
100
|
+
|
101
|
+
return:
|
102
|
+
this method returns an ARRAY of users ID.
|
103
|
+
|
104
|
+
=CREATE_USER
|
105
|
+
with this method you can create a new user in rhosync
|
106
|
+
|
107
|
+
RhosyncApi.create_user("username","password")
|
108
|
+
|
109
|
+
params:
|
110
|
+
- USERNAME
|
111
|
+
- PASSWORD
|
112
|
+
return:
|
113
|
+
this method will return nil if it fails
|
114
|
+
|
115
|
+
=DELETE_USER
|
116
|
+
with this method you can delete an existing user in rhosync
|
117
|
+
|
118
|
+
RhosyncApi.delete_user("user_id")
|
119
|
+
|
120
|
+
params:
|
121
|
+
- USERID
|
122
|
+
return:
|
123
|
+
this method will return nil if it fails
|
124
|
+
|
125
|
+
=LIST_CLIENTS
|
126
|
+
this method returns a list of devices for a given user ID
|
127
|
+
|
128
|
+
RhosyncApi.list_clients("user_id")
|
129
|
+
|
130
|
+
params:
|
131
|
+
- USERID
|
132
|
+
return:
|
133
|
+
this method will return nil if it fails
|
134
|
+
|
135
|
+
=CREATE_CLIENT
|
136
|
+
this method create a device for a given user ID
|
137
|
+
|
138
|
+
RhosyncApi.create_client("user_id")
|
139
|
+
|
140
|
+
params:
|
141
|
+
- USERID
|
142
|
+
return:
|
143
|
+
this method will return nil if it fails
|
144
|
+
|
145
|
+
=DELETE_CLIENT
|
146
|
+
this method deletes a device for a given user ID and device ID
|
147
|
+
|
148
|
+
RhosyncApi.delete_client("user_id","device_id")
|
149
|
+
|
150
|
+
params:
|
151
|
+
- USERID
|
152
|
+
- DEVICE_ID
|
153
|
+
return:
|
154
|
+
this method will return nil if it fails
|
155
|
+
|
156
|
+
=GET_CLIENT_PARAMS
|
157
|
+
this method returns the attributes of a given device ID, such as device_type, device_pin, device_port.
|
158
|
+
|
159
|
+
RhosyncApi.get_client_params("device_id")
|
160
|
+
|
161
|
+
params:
|
162
|
+
- DEVICE_ID
|
163
|
+
return:
|
164
|
+
this method will return nil if it fails
|
165
|
+
|
166
|
+
|
167
|
+
=LIST_SOURCES
|
168
|
+
this method returns a list rhosync source adapters for a given partition
|
169
|
+
|
170
|
+
RhosyncApi.list_sources("partition")
|
171
|
+
RhosyncApi.list_sources
|
172
|
+
|
173
|
+
params:
|
174
|
+
- PARTITION : this could be "user" or "app" by default if use "user" partition
|
175
|
+
return:
|
176
|
+
this method will return nil if it fails
|
177
|
+
|
178
|
+
=GET_SOURCE_PARAMS
|
179
|
+
this method returns the attributes of a given source adapter
|
180
|
+
such as name, poll_interval, partition_type, sync_type, queue, query_queue, cud_queue
|
181
|
+
|
182
|
+
RhosyncApi.get_source_params("source name")
|
183
|
+
|
184
|
+
params:
|
185
|
+
- SOURCE NAME
|
186
|
+
return:
|
187
|
+
this method will return nil if it fails
|
188
|
+
|
189
|
+
=LIST_SOURCE_DOCS
|
190
|
+
this method returns a list of document keys associated with given source and user.
|
191
|
+
such as md, md_size, md_copy, errors
|
192
|
+
|
193
|
+
RhosyncApi.list_source_docs("user_id","source_name")
|
194
|
+
|
195
|
+
params:
|
196
|
+
- USER ID
|
197
|
+
- SOURCE NAME
|
198
|
+
return:
|
199
|
+
this method will return nil if it fails
|
200
|
+
|
201
|
+
=GET_DB_DOC
|
202
|
+
this method returns the content of a given document key.
|
203
|
+
|
204
|
+
RhosyncApi.get_db_doc("document key","data_type")
|
205
|
+
RhosyncApi.get_db_doc("document key")
|
206
|
+
|
207
|
+
params:
|
208
|
+
- DOCUMENT KEY : this is the document key listed in the LIST_SOURCE_DOCS method
|
209
|
+
- DATA TYPE: could be "string" or nil
|
210
|
+
return:
|
211
|
+
this method will return nil if it fails
|
212
|
+
|
213
|
+
=SET_DB_DOC
|
214
|
+
this method set content of a given document key
|
215
|
+
|
216
|
+
RhosyncApi.set_db_doc("document key","data","data_type")
|
217
|
+
RhosyncApi.set_db_doc("document key","data")
|
218
|
+
|
219
|
+
params:
|
220
|
+
- DOCUMENT KEY : this is the document key listed in the LIST_SOURCE_DOCS method
|
221
|
+
- DATA : Data should be either a string or hash of hashes.
|
222
|
+
- DATA TYPE: could be type "string" or nil
|
223
|
+
return:
|
224
|
+
this method will return nil if it fails
|
225
|
+
|
226
|
+
=LIST_CLIENT_DOC
|
227
|
+
this method returns a list of document keys associated with particular device.
|
228
|
+
|
229
|
+
RhosyncApi.list_client_docs("device_id","source_name")
|
230
|
+
|
231
|
+
params:
|
232
|
+
- DEVICE_ID :
|
233
|
+
- SOURCE NAME:
|
234
|
+
return:
|
235
|
+
this method will return nil if it fails
|
236
|
+
|
237
|
+
=GET_DB_DOC_BY_TYPE
|
238
|
+
this method returns the content of a given document user and source name.
|
239
|
+
|
240
|
+
RhosyncApi.get_db_doc("user_id","source_name","type_doc")
|
241
|
+
|
242
|
+
params:
|
243
|
+
- USER ID :
|
244
|
+
- SOURCE NAME:
|
245
|
+
- TYPE DOC : such as md, md_size, md_copy, errors
|
246
|
+
return:
|
247
|
+
this method will return nil if it fails
|
248
|
+
|
249
|
+
=SET_DB_DOC_BY_TYPE
|
250
|
+
this method set content of a given user id and source name
|
251
|
+
|
252
|
+
RhosyncApi.set_db_doc_by_type("user_id","source_name","data","type_doc")
|
253
|
+
|
254
|
+
params:
|
255
|
+
- USER ID :
|
256
|
+
- SOURCE NAME:
|
257
|
+
- DATA : Data should be a hash of hashes.
|
258
|
+
- TYPE DOC : such as md, md_size, md_copy, errors
|
259
|
+
return:
|
260
|
+
this method will return nil if it fails
|
261
|
+
- set_db_doc_by_type
|
data/lib/rhosync_api.rb
CHANGED
@@ -4,25 +4,27 @@
|
|
4
4
|
require 'rest_client'
|
5
5
|
require 'json'
|
6
6
|
|
7
|
-
|
8
|
-
|
9
|
-
def initialize
|
10
|
-
$server = ""
|
11
|
-
$username = ""
|
12
|
-
$password = ""
|
13
|
-
$token = ""
|
14
|
-
end
|
7
|
+
module RhosyncApi
|
15
8
|
|
16
9
|
#login -- rhosync
|
17
|
-
def login(server,admin,password)
|
10
|
+
def self.login(server,admin,password)
|
18
11
|
$server = server
|
19
12
|
$username = admin
|
20
13
|
$password = password
|
21
14
|
$token = get_api_token
|
22
15
|
end
|
16
|
+
|
17
|
+
#logout -- rhosync
|
18
|
+
def self.logout
|
19
|
+
$server = nil
|
20
|
+
$username = nil
|
21
|
+
$password = nil
|
22
|
+
$token = nil
|
23
|
+
true
|
24
|
+
end
|
23
25
|
|
24
26
|
#Before you can use RhoSync API you should get API token:
|
25
|
-
def get_api_token
|
27
|
+
def self.get_api_token
|
26
28
|
uri = URI.parse($server)
|
27
29
|
http = Net::HTTP.new(uri.host,uri.port)
|
28
30
|
begin
|
@@ -38,7 +40,7 @@ class RhosyncApi
|
|
38
40
|
end
|
39
41
|
|
40
42
|
#Returns license information of the currently used license
|
41
|
-
def get_license_info
|
43
|
+
def self.get_license_info
|
42
44
|
unless $token.nil?
|
43
45
|
begin
|
44
46
|
license_info = RestClient.post(
|
@@ -55,7 +57,7 @@ class RhosyncApi
|
|
55
57
|
end
|
56
58
|
|
57
59
|
#Reset the server: flush db and re-bootstrap server
|
58
|
-
def reset
|
60
|
+
def self.reset
|
59
61
|
unless $token.nil?
|
60
62
|
begin
|
61
63
|
RestClient.post("#{$server}/api/reset",
|
@@ -75,7 +77,7 @@ class RhosyncApi
|
|
75
77
|
# :sound - name of the sound file to play upon receiving PUSH notification
|
76
78
|
# :vibrate - number of seconds to vibrate upon receiving PUSH notification
|
77
79
|
# :sources - list of data source names to be synced upon receiving PUSH notification
|
78
|
-
def ping(user_id,ping_params)
|
80
|
+
def self.ping(user_id,ping_params)
|
79
81
|
unless $token.nil?
|
80
82
|
unless user_id.nil?
|
81
83
|
begin
|
@@ -96,7 +98,7 @@ class RhosyncApi
|
|
96
98
|
end
|
97
99
|
|
98
100
|
#List users registered with this RhoSync application.
|
99
|
-
def list_users
|
101
|
+
def self.list_users
|
100
102
|
unless $token.nil?
|
101
103
|
begin
|
102
104
|
users = RestClient.post(
|
@@ -114,7 +116,7 @@ class RhosyncApi
|
|
114
116
|
end
|
115
117
|
|
116
118
|
#Create a user in this RhoSync application.
|
117
|
-
def create_user(login,password)
|
119
|
+
def self.create_user(login,password)
|
118
120
|
unless $token.nil?
|
119
121
|
unless login.nil?
|
120
122
|
begin
|
@@ -141,7 +143,7 @@ class RhosyncApi
|
|
141
143
|
end
|
142
144
|
|
143
145
|
#Delete User and all associated devices from the RhoSync application.
|
144
|
-
def delete_user(user_id)
|
146
|
+
def self.delete_user(user_id)
|
145
147
|
unless $token.nil?
|
146
148
|
unless user_id.nil?
|
147
149
|
begin
|
@@ -166,7 +168,7 @@ class RhosyncApi
|
|
166
168
|
end
|
167
169
|
|
168
170
|
#List clients (devices) associated with given user.
|
169
|
-
def list_clients(user_id)
|
171
|
+
def self.list_clients(user_id)
|
170
172
|
unless $token.nil?
|
171
173
|
begin
|
172
174
|
clients = RestClient.post("#{$server}/api/list_clients",
|
@@ -186,7 +188,7 @@ class RhosyncApi
|
|
186
188
|
end
|
187
189
|
|
188
190
|
#Creates a client (device) for a given user.
|
189
|
-
def create_client(user_id)
|
191
|
+
def self.create_client(user_id)
|
190
192
|
unless $token.nil?
|
191
193
|
unless user_id.nil?
|
192
194
|
begin
|
@@ -211,7 +213,7 @@ class RhosyncApi
|
|
211
213
|
end
|
212
214
|
|
213
215
|
#Deletes the specified client (device).
|
214
|
-
def delete_client(user_id,client_id)
|
216
|
+
def self.delete_client(user_id,client_id)
|
215
217
|
unless $token.nil?
|
216
218
|
unless user_id.nil? and client_id.nil?
|
217
219
|
begin
|
@@ -237,7 +239,7 @@ class RhosyncApi
|
|
237
239
|
end
|
238
240
|
|
239
241
|
#Returns client (device) attributes, such as device_type, device_pin, device_port. These attributes used by RhoSync push.
|
240
|
-
def get_client_params(client_id)
|
242
|
+
def self.get_client_params(client_id)
|
241
243
|
unless $token.nil?
|
242
244
|
begin
|
243
245
|
client_params = RestClient.post(
|
@@ -258,7 +260,7 @@ class RhosyncApi
|
|
258
260
|
end
|
259
261
|
|
260
262
|
#Return list of source adapters for this RhoSync application.
|
261
|
-
def list_sources(partition = nil)
|
263
|
+
def self.list_sources(partition = nil)
|
262
264
|
unless $token.nil?
|
263
265
|
partition = "user" if partition.nil?
|
264
266
|
begin
|
@@ -288,7 +290,7 @@ class RhosyncApi
|
|
288
290
|
# queue � name of the queue for both query and create/update/delete (CUD) jobs (used if no specific queues not specified)
|
289
291
|
# query_queue � name of query queue
|
290
292
|
# cud_queue � name of CUD queue
|
291
|
-
def get_source_params(source_id)
|
293
|
+
def self.get_source_params(source_id)
|
292
294
|
unless $token.nil?
|
293
295
|
begin
|
294
296
|
attributes = RestClient.post("#{$server}/api/get_source_params",
|
@@ -310,7 +312,7 @@ class RhosyncApi
|
|
310
312
|
# Return list of document keys associated with given source and user.
|
311
313
|
# If :user_id set to �*�, this call will return list of keys for �shared� documents.
|
312
314
|
# MD(:md) � master document; represents state of the backend (set of all objects for the given app/user/source on the backend service).
|
313
|
-
def list_source_docs(user_id,source_id)
|
315
|
+
def self.list_source_docs(user_id,source_id)
|
314
316
|
unless $token.nil?
|
315
317
|
begin
|
316
318
|
docs = RestClient.post(
|
@@ -332,7 +334,7 @@ class RhosyncApi
|
|
332
334
|
end
|
333
335
|
|
334
336
|
#Return content of a given document (client or source).
|
335
|
-
def get_db_doc(doc,data_type = nil)
|
337
|
+
def self.get_db_doc(doc,data_type = nil)
|
336
338
|
unless $token.nil?
|
337
339
|
begin
|
338
340
|
res = RestClient.post(
|
@@ -355,8 +357,13 @@ class RhosyncApi
|
|
355
357
|
|
356
358
|
#Sets the content of the specified server document.
|
357
359
|
#Data should be either a string or hash of hashes. Data type should be set accordingly.
|
358
|
-
def set_db_doc(doc,data
|
360
|
+
def self.set_db_doc(doc,data)
|
359
361
|
unless $token.nil?
|
362
|
+
if data.class == "String"
|
363
|
+
data_type = "string"
|
364
|
+
else
|
365
|
+
data_type = nil
|
366
|
+
end
|
360
367
|
begin
|
361
368
|
RestClient.post(
|
362
369
|
"#{$server}/api/set_db_doc",
|
@@ -379,7 +386,7 @@ class RhosyncApi
|
|
379
386
|
#Returns list of document keys associated with particular client.
|
380
387
|
#These documents are used by the server to sync data with the client.
|
381
388
|
#CD (:cd) � client document; represents the state of the client (set of all objects on the given client).
|
382
|
-
def list_client_docs(client_id,source_id)
|
389
|
+
def self.list_client_docs(client_id,source_id)
|
383
390
|
unless $token.nil?
|
384
391
|
begin
|
385
392
|
docs = RestClient.post(
|
@@ -402,7 +409,7 @@ class RhosyncApi
|
|
402
409
|
|
403
410
|
#NEW METHODS IN THE GEM
|
404
411
|
#Return content of a given document
|
405
|
-
def get_db_doc_by_type(user_id,source_id,type_doc)
|
412
|
+
def self.get_db_doc_by_type(user_id,source_id,type_doc)
|
406
413
|
unless $token.nil?
|
407
414
|
begin
|
408
415
|
docs = list_source_docs(user_id,source_id)
|
@@ -425,7 +432,7 @@ class RhosyncApi
|
|
425
432
|
end
|
426
433
|
|
427
434
|
#set content of a given document
|
428
|
-
def set_db_doc_by_type(user_id,source_id,data,type_doc)
|
435
|
+
def self.set_db_doc_by_type(user_id,source_id,data,type_doc)
|
429
436
|
unless $token.nil?
|
430
437
|
begin
|
431
438
|
docs = list_source_docs(user_id,source_id)
|
@@ -438,12 +445,12 @@ class RhosyncApi
|
|
438
445
|
end
|
439
446
|
end
|
440
447
|
|
441
|
-
def access_denied
|
448
|
+
def self.access_denied
|
442
449
|
puts "you don't have access, please login in"
|
443
450
|
nil
|
444
451
|
end
|
445
452
|
|
446
|
-
def cant_connect_rhosync(e)
|
453
|
+
def self.cant_connect_rhosync(e)
|
447
454
|
puts "rhosync error : #{e.inspect}"
|
448
455
|
nil
|
449
456
|
end
|
metadata
CHANGED
@@ -1,19 +1,19 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: rhosync_api
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.6
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
8
|
-
- Raul Mantilla
|
8
|
+
- Raul Mantilla Assia
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2011-08-
|
12
|
+
date: 2011-08-07 00:00:00.000000000Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: rest-client
|
16
|
-
requirement: &
|
16
|
+
requirement: &21336504 !ruby/object:Gem::Requirement
|
17
17
|
none: false
|
18
18
|
requirements:
|
19
19
|
- - ! '>='
|
@@ -21,10 +21,10 @@ dependencies:
|
|
21
21
|
version: 1.6.1
|
22
22
|
type: :runtime
|
23
23
|
prerelease: false
|
24
|
-
version_requirements: *
|
24
|
+
version_requirements: *21336504
|
25
25
|
- !ruby/object:Gem::Dependency
|
26
26
|
name: json
|
27
|
-
requirement: &
|
27
|
+
requirement: &21336216 !ruby/object:Gem::Requirement
|
28
28
|
none: false
|
29
29
|
requirements:
|
30
30
|
- - ! '>='
|
@@ -32,7 +32,7 @@ dependencies:
|
|
32
32
|
version: 1.4.2
|
33
33
|
type: :runtime
|
34
34
|
prerelease: false
|
35
|
-
version_requirements: *
|
35
|
+
version_requirements: *21336216
|
36
36
|
description: ''
|
37
37
|
email:
|
38
38
|
- rmantilla26@hotmail.com
|
@@ -41,15 +41,16 @@ extensions: []
|
|
41
41
|
extra_rdoc_files:
|
42
42
|
- History.txt
|
43
43
|
files:
|
44
|
+
- README
|
44
45
|
- History.txt
|
45
|
-
- LICENSE
|
46
|
+
- LICENSE
|
46
47
|
- lib/rhosync_api.rb
|
47
48
|
homepage:
|
48
49
|
licenses: []
|
49
50
|
post_install_message:
|
50
51
|
rdoc_options:
|
51
52
|
- --main
|
52
|
-
- README
|
53
|
+
- README
|
53
54
|
require_paths:
|
54
55
|
- lib
|
55
56
|
required_ruby_version: !ruby/object:Gem::Requirement
|
@@ -69,5 +70,5 @@ rubyforge_project: rhosync_api
|
|
69
70
|
rubygems_version: 1.7.2
|
70
71
|
signing_key:
|
71
72
|
specification_version: 3
|
72
|
-
summary:
|
73
|
+
summary: Rhosync Api helps you connect to Rhosync Server
|
73
74
|
test_files: []
|