rhosync 2.0.0.beta7 → 2.0.0.beta8
Sign up to get free protection for your applications and to get access to all the features.
- data/CHANGELOG +4 -0
- data/Rakefile +3 -2
- data/bench/benchapp/Rakefile +3 -3
- data/bench/benchapp/application.rb +14 -0
- data/bench/benchapp/config.ru +5 -1
- data/bench/lib/bench/statistics.rb +1 -1
- data/bench/lib/bench.rb +11 -11
- data/bench/lib/testdata/5-data.txt +8 -10
- data/bench/scripts/cud_script.rb +6 -10
- data/bench/scripts/helpers.rb +4 -4
- data/bench/scripts/query_md_script.rb +3 -4
- data/bench/scripts/query_script.rb +4 -5
- data/doc/protocol.html +81 -81
- data/examples/simple/application.rb +14 -0
- data/lib/rhosync/app.rb +0 -13
- data/lib/rhosync/console/rhosync_api.rb +3 -2
- data/lib/rhosync/version.rb +1 -1
- data/tasks/redis.rake +17 -16
- metadata +62 -8
- data/bench/benchapp/vendor/rhosync/lib/rhosync.rb +0 -7
- data/examples/simple/vendor/rhosync/lib/rhosync.rb +0 -7
@@ -4,9 +4,23 @@ class Application < Rhosync::Base
|
|
4
4
|
true # do some interesting authentication here...
|
5
5
|
end
|
6
6
|
|
7
|
+
# Add hooks for application startup here
|
8
|
+
# Don't forget to call super at the end!
|
7
9
|
def initializer(path)
|
8
10
|
super
|
9
11
|
end
|
12
|
+
|
13
|
+
# Calling super here returns rack tempfile path:
|
14
|
+
# i.e. /var/folders/J4/J4wGJ-r6H7S313GEZ-Xx5E+++TI
|
15
|
+
# Note: This tempfile is removed when server stops or crashes...
|
16
|
+
# See http://rack.rubyforge.org/doc/Multipart.html for more info
|
17
|
+
#
|
18
|
+
# Override this by creating a copy of the file somewhere
|
19
|
+
# and returning the path to that file (then don't call super!):
|
20
|
+
# i.e. /mnt/myimages/soccer.png
|
21
|
+
def store_blob(blob)
|
22
|
+
super #=> returns blob[:tempfile]
|
23
|
+
end
|
10
24
|
end
|
11
25
|
end
|
12
26
|
|
data/lib/rhosync/app.rb
CHANGED
@@ -31,19 +31,6 @@ module Rhosync
|
|
31
31
|
end
|
32
32
|
end
|
33
33
|
|
34
|
-
# TODO: Do we need this anymore?
|
35
|
-
# def delete
|
36
|
-
# sources.members.each do |source_name|
|
37
|
-
# Source.load(source_name,{:app_id => self.name,
|
38
|
-
# :user_id => '*'}).delete
|
39
|
-
# end
|
40
|
-
# users.members.each do |user_name|
|
41
|
-
# User.load(user_name).delete
|
42
|
-
# end
|
43
|
-
# ReadState.delete(self.name)
|
44
|
-
# super
|
45
|
-
# end
|
46
|
-
|
47
34
|
def delegate
|
48
35
|
@delegate.nil? ? Object.const_get(camelize(self.name)) : @delegate
|
49
36
|
end
|
@@ -2,10 +2,11 @@ require 'rest_client'
|
|
2
2
|
|
3
3
|
module RhosyncApi
|
4
4
|
class << self
|
5
|
-
|
5
|
+
|
6
6
|
def get_token(server,login,password)
|
7
|
-
res = RestClient.post("#{server}/login",
|
7
|
+
res = RestClient.post("#{server}/login",
|
8
8
|
{:login => login, :password => password}.to_json, :content_type => :json)
|
9
|
+
res.cookies['rhosync_session'] = CGI.escape(res.cookies['rhosync_session'])
|
9
10
|
RestClient.post("#{server}/api/get_api_token",'',{:cookies => res.cookies})
|
10
11
|
end
|
11
12
|
|
data/lib/rhosync/version.rb
CHANGED
data/tasks/redis.rake
CHANGED
@@ -58,7 +58,7 @@ class RedisRunner
|
|
58
58
|
end
|
59
59
|
|
60
60
|
def self.stop
|
61
|
-
|
61
|
+
Redis.new.shutdown
|
62
62
|
end
|
63
63
|
|
64
64
|
end
|
@@ -159,24 +159,25 @@ namespace :dtach do
|
|
159
159
|
|
160
160
|
desc 'Install dtach 0.8 from source'
|
161
161
|
task :install => [:about] do
|
162
|
+
unless windows?
|
163
|
+
Dir.chdir('/tmp/')
|
164
|
+
unless File.exists?('/tmp/dtach-0.8.tar.gz')
|
165
|
+
require 'net/http'
|
162
166
|
|
163
|
-
|
164
|
-
|
165
|
-
|
167
|
+
url = 'http://downloads.sourceforge.net/project/dtach/dtach/0.8/dtach-0.8.tar.gz'
|
168
|
+
open('/tmp/dtach-0.8.tar.gz', 'wb') do |file| file.write(open(url).read) end
|
169
|
+
end
|
166
170
|
|
167
|
-
|
168
|
-
|
169
|
-
|
170
|
-
|
171
|
-
unless File.directory?('/tmp/dtach-0.8')
|
172
|
-
system('tar xzf dtach-0.8.tar.gz')
|
173
|
-
end
|
171
|
+
unless File.directory?('/tmp/dtach-0.8')
|
172
|
+
system('tar xzf dtach-0.8.tar.gz')
|
173
|
+
end
|
174
174
|
|
175
|
-
|
176
|
-
|
177
|
-
|
178
|
-
|
175
|
+
ENV['PREFIX'] and bin_dir = "#{ENV['PREFIX']}/bin" or bin_dir = "#{RedisRunner.prefix}bin"
|
176
|
+
Dir.chdir('/tmp/dtach-0.8/')
|
177
|
+
sh 'cd /tmp/dtach-0.8/ && ./configure && make'
|
178
|
+
sh "cp /tmp/dtach-0.8/dtach #{bin_dir}"
|
179
179
|
|
180
|
-
|
180
|
+
puts "Dtach successfully installed to #{bin_dir}"
|
181
|
+
end
|
181
182
|
end
|
182
183
|
end
|
metadata
CHANGED
@@ -1,13 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: rhosync
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
+
hash: -1848230044
|
4
5
|
prerelease: true
|
5
6
|
segments:
|
6
7
|
- 2
|
7
8
|
- 0
|
8
9
|
- 0
|
9
|
-
-
|
10
|
-
version: 2.0.0.
|
10
|
+
- beta8
|
11
|
+
version: 2.0.0.beta8
|
11
12
|
platform: ruby
|
12
13
|
authors:
|
13
14
|
- Rhomobile
|
@@ -15,16 +16,18 @@ autorequire:
|
|
15
16
|
bindir: bin
|
16
17
|
cert_chain: []
|
17
18
|
|
18
|
-
date: 2010-05-
|
19
|
+
date: 2010-05-26 00:00:00 -07:00
|
19
20
|
default_executable: rhosync
|
20
21
|
dependencies:
|
21
22
|
- !ruby/object:Gem::Dependency
|
22
23
|
name: json
|
23
24
|
prerelease: false
|
24
25
|
requirement: &id001 !ruby/object:Gem::Requirement
|
26
|
+
none: false
|
25
27
|
requirements:
|
26
28
|
- - <=
|
27
29
|
- !ruby/object:Gem::Version
|
30
|
+
hash: 3
|
28
31
|
segments:
|
29
32
|
- 1
|
30
33
|
- 4
|
@@ -36,9 +39,11 @@ dependencies:
|
|
36
39
|
name: log4r
|
37
40
|
prerelease: false
|
38
41
|
requirement: &id002 !ruby/object:Gem::Requirement
|
42
|
+
none: false
|
39
43
|
requirements:
|
40
44
|
- - ">="
|
41
45
|
- !ruby/object:Gem::Version
|
46
|
+
hash: 29
|
42
47
|
segments:
|
43
48
|
- 1
|
44
49
|
- 1
|
@@ -50,9 +55,11 @@ dependencies:
|
|
50
55
|
name: sqlite3-ruby
|
51
56
|
prerelease: false
|
52
57
|
requirement: &id003 !ruby/object:Gem::Requirement
|
58
|
+
none: false
|
53
59
|
requirements:
|
54
60
|
- - ">="
|
55
61
|
- !ruby/object:Gem::Version
|
62
|
+
hash: 21
|
56
63
|
segments:
|
57
64
|
- 1
|
58
65
|
- 2
|
@@ -64,9 +71,11 @@ dependencies:
|
|
64
71
|
name: rubyzip
|
65
72
|
prerelease: false
|
66
73
|
requirement: &id004 !ruby/object:Gem::Requirement
|
74
|
+
none: false
|
67
75
|
requirements:
|
68
76
|
- - ">="
|
69
77
|
- !ruby/object:Gem::Version
|
78
|
+
hash: 51
|
70
79
|
segments:
|
71
80
|
- 0
|
72
81
|
- 9
|
@@ -78,9 +87,11 @@ dependencies:
|
|
78
87
|
name: uuidtools
|
79
88
|
prerelease: false
|
80
89
|
requirement: &id005 !ruby/object:Gem::Requirement
|
90
|
+
none: false
|
81
91
|
requirements:
|
82
92
|
- - ">="
|
83
93
|
- !ruby/object:Gem::Version
|
94
|
+
hash: 9
|
84
95
|
segments:
|
85
96
|
- 2
|
86
97
|
- 1
|
@@ -92,9 +103,11 @@ dependencies:
|
|
92
103
|
name: redis
|
93
104
|
prerelease: false
|
94
105
|
requirement: &id006 !ruby/object:Gem::Requirement
|
106
|
+
none: false
|
95
107
|
requirements:
|
96
108
|
- - ~>
|
97
109
|
- !ruby/object:Gem::Version
|
110
|
+
hash: 23
|
98
111
|
segments:
|
99
112
|
- 1
|
100
113
|
- 0
|
@@ -106,9 +119,11 @@ dependencies:
|
|
106
119
|
name: resque
|
107
120
|
prerelease: false
|
108
121
|
requirement: &id007 !ruby/object:Gem::Requirement
|
122
|
+
none: false
|
109
123
|
requirements:
|
110
124
|
- - ">="
|
111
125
|
- !ruby/object:Gem::Version
|
126
|
+
hash: 49
|
112
127
|
segments:
|
113
128
|
- 1
|
114
129
|
- 8
|
@@ -120,9 +135,11 @@ dependencies:
|
|
120
135
|
name: rest-client
|
121
136
|
prerelease: false
|
122
137
|
requirement: &id008 !ruby/object:Gem::Requirement
|
138
|
+
none: false
|
123
139
|
requirements:
|
124
140
|
- - ">="
|
125
141
|
- !ruby/object:Gem::Version
|
142
|
+
hash: 3
|
126
143
|
segments:
|
127
144
|
- 1
|
128
145
|
- 4
|
@@ -134,9 +151,11 @@ dependencies:
|
|
134
151
|
name: sinatra
|
135
152
|
prerelease: false
|
136
153
|
requirement: &id009 !ruby/object:Gem::Requirement
|
154
|
+
none: false
|
137
155
|
requirements:
|
138
156
|
- - ">="
|
139
157
|
- !ruby/object:Gem::Version
|
158
|
+
hash: 15
|
140
159
|
segments:
|
141
160
|
- 1
|
142
161
|
- 0
|
@@ -147,9 +166,11 @@ dependencies:
|
|
147
166
|
name: templater
|
148
167
|
prerelease: false
|
149
168
|
requirement: &id010 !ruby/object:Gem::Requirement
|
169
|
+
none: false
|
150
170
|
requirements:
|
151
171
|
- - ">="
|
152
172
|
- !ruby/object:Gem::Version
|
173
|
+
hash: 23
|
153
174
|
segments:
|
154
175
|
- 1
|
155
176
|
- 0
|
@@ -161,9 +182,11 @@ dependencies:
|
|
161
182
|
name: rake
|
162
183
|
prerelease: false
|
163
184
|
requirement: &id011 !ruby/object:Gem::Requirement
|
185
|
+
none: false
|
164
186
|
requirements:
|
165
187
|
- - ">="
|
166
188
|
- !ruby/object:Gem::Version
|
189
|
+
hash: 49
|
167
190
|
segments:
|
168
191
|
- 0
|
169
192
|
- 8
|
@@ -175,9 +198,11 @@ dependencies:
|
|
175
198
|
name: jeweler
|
176
199
|
prerelease: false
|
177
200
|
requirement: &id012 !ruby/object:Gem::Requirement
|
201
|
+
none: false
|
178
202
|
requirements:
|
179
203
|
- - ">="
|
180
204
|
- !ruby/object:Gem::Version
|
205
|
+
hash: 7
|
181
206
|
segments:
|
182
207
|
- 1
|
183
208
|
- 4
|
@@ -189,9 +214,11 @@ dependencies:
|
|
189
214
|
name: rspec
|
190
215
|
prerelease: false
|
191
216
|
requirement: &id013 !ruby/object:Gem::Requirement
|
217
|
+
none: false
|
192
218
|
requirements:
|
193
219
|
- - ">="
|
194
220
|
- !ruby/object:Gem::Version
|
221
|
+
hash: 27
|
195
222
|
segments:
|
196
223
|
- 1
|
197
224
|
- 3
|
@@ -203,9 +230,11 @@ dependencies:
|
|
203
230
|
name: rcov
|
204
231
|
prerelease: false
|
205
232
|
requirement: &id014 !ruby/object:Gem::Requirement
|
233
|
+
none: false
|
206
234
|
requirements:
|
207
235
|
- - ">="
|
208
236
|
- !ruby/object:Gem::Version
|
237
|
+
hash: 43
|
209
238
|
segments:
|
210
239
|
- 0
|
211
240
|
- 9
|
@@ -217,9 +246,11 @@ dependencies:
|
|
217
246
|
name: faker
|
218
247
|
prerelease: false
|
219
248
|
requirement: &id015 !ruby/object:Gem::Requirement
|
249
|
+
none: false
|
220
250
|
requirements:
|
221
251
|
- - ">="
|
222
252
|
- !ruby/object:Gem::Version
|
253
|
+
hash: 17
|
223
254
|
segments:
|
224
255
|
- 0
|
225
256
|
- 3
|
@@ -231,9 +262,11 @@ dependencies:
|
|
231
262
|
name: rack-test
|
232
263
|
prerelease: false
|
233
264
|
requirement: &id016 !ruby/object:Gem::Requirement
|
265
|
+
none: false
|
234
266
|
requirements:
|
235
267
|
- - ">="
|
236
268
|
- !ruby/object:Gem::Version
|
269
|
+
hash: 13
|
237
270
|
segments:
|
238
271
|
- 0
|
239
272
|
- 5
|
@@ -241,7 +274,23 @@ dependencies:
|
|
241
274
|
version: 0.5.3
|
242
275
|
type: :development
|
243
276
|
version_requirements: *id016
|
244
|
-
|
277
|
+
- !ruby/object:Gem::Dependency
|
278
|
+
name: thor
|
279
|
+
prerelease: false
|
280
|
+
requirement: &id017 !ruby/object:Gem::Requirement
|
281
|
+
none: false
|
282
|
+
requirements:
|
283
|
+
- - ">="
|
284
|
+
- !ruby/object:Gem::Version
|
285
|
+
hash: 39
|
286
|
+
segments:
|
287
|
+
- 0
|
288
|
+
- 13
|
289
|
+
- 6
|
290
|
+
version: 0.13.6
|
291
|
+
type: :development
|
292
|
+
version_requirements: *id017
|
293
|
+
description: RhoSync Synchronization Framework and related command-line utilities
|
245
294
|
email: dev@rhomobile.com
|
246
295
|
executables:
|
247
296
|
- rhosync
|
@@ -263,7 +312,6 @@ files:
|
|
263
312
|
- bench/benchapp/settings/settings.yml
|
264
313
|
- bench/benchapp/sources/mock_adapter.rb
|
265
314
|
- bench/benchapp/sources/queue_mock_adapter.rb
|
266
|
-
- bench/benchapp/vendor/rhosync/lib/rhosync.rb
|
267
315
|
- bench/lib/bench.rb
|
268
316
|
- bench/lib/bench/cli.rb
|
269
317
|
- bench/lib/bench/logging.rb
|
@@ -455,6 +503,9 @@ files:
|
|
455
503
|
- spec/testdata/upload2.txt
|
456
504
|
- spec/user_spec.rb
|
457
505
|
- tasks/redis.rake
|
506
|
+
- examples/simple/application.rb
|
507
|
+
- examples/simple/sources/sample_adapter.rb
|
508
|
+
- examples/simple/sources/simple_adapter.rb
|
458
509
|
has_rdoc: true
|
459
510
|
homepage: http://rhomobile.com/products/rhosync
|
460
511
|
licenses: []
|
@@ -465,16 +516,20 @@ rdoc_options:
|
|
465
516
|
require_paths:
|
466
517
|
- lib
|
467
518
|
required_ruby_version: !ruby/object:Gem::Requirement
|
519
|
+
none: false
|
468
520
|
requirements:
|
469
521
|
- - ">="
|
470
522
|
- !ruby/object:Gem::Version
|
523
|
+
hash: 3
|
471
524
|
segments:
|
472
525
|
- 0
|
473
526
|
version: "0"
|
474
527
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
528
|
+
none: false
|
475
529
|
requirements:
|
476
530
|
- - ">"
|
477
531
|
- !ruby/object:Gem::Version
|
532
|
+
hash: 25
|
478
533
|
segments:
|
479
534
|
- 1
|
480
535
|
- 3
|
@@ -483,10 +538,10 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
483
538
|
requirements: []
|
484
539
|
|
485
540
|
rubyforge_project:
|
486
|
-
rubygems_version: 1.3.
|
541
|
+
rubygems_version: 1.3.7
|
487
542
|
signing_key:
|
488
543
|
specification_version: 3
|
489
|
-
summary:
|
544
|
+
summary: RhoSync Synchronization Framework
|
490
545
|
test_files:
|
491
546
|
- spec/api/api_helper.rb
|
492
547
|
- spec/api/create_client_spec.rb
|
@@ -552,4 +607,3 @@ test_files:
|
|
552
607
|
- examples/simple/application.rb
|
553
608
|
- examples/simple/sources/sample_adapter.rb
|
554
609
|
- examples/simple/sources/simple_adapter.rb
|
555
|
-
- examples/simple/vendor/rhosync/lib/rhosync.rb
|
@@ -1,7 +0,0 @@
|
|
1
|
-
|
2
|
-
# We're "vendoring" the rhosync/lib directory here so we can use the working copy of
|
3
|
-
# rhosync. Normally, you would require rhosync as a gem or vendor it here.
|
4
|
-
path = File.join(File.dirname(__FILE__),'..','..','..','..','..','lib')
|
5
|
-
$:.unshift path
|
6
|
-
require File.join(path,'rhosync','server')
|
7
|
-
require File.join(path,'rhosync','console','server')
|
@@ -1,7 +0,0 @@
|
|
1
|
-
|
2
|
-
# We're "vendoring" the rhosync/lib directory here so we can use the working copy of
|
3
|
-
# rhosync. Normally, you would require rhosync as a gem or vendor it here.
|
4
|
-
path = File.join(File.dirname(__FILE__),'..','..','..','..','..','lib')
|
5
|
-
$:.unshift path
|
6
|
-
require File.join(path,'rhosync','server')
|
7
|
-
require File.join(path,'rhosync','console','server')
|