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.
@@ -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
 
@@ -1,3 +1,3 @@
1
1
  module Rhosync
2
- VERSION = '2.0.0.beta7'
2
+ VERSION = '2.0.0.beta8'
3
3
  end
data/tasks/redis.rake CHANGED
@@ -58,7 +58,7 @@ class RedisRunner
58
58
  end
59
59
 
60
60
  def self.stop
61
- sh 'echo "SHUTDOWN" | nc localhost 6379'
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
- Dir.chdir('/tmp/')
164
- unless File.exists?('/tmp/dtach-0.8.tar.gz')
165
- require 'net/http'
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
- 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
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
- 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}"
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
- puts "Dtach successfully installed to #{bin_dir}"
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
- - beta7
10
- version: 2.0.0.beta7
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-25 00:00:00 -07:00
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
- description: Rhosync library and related command-line utilities for using Rhosync
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.6
541
+ rubygems_version: 1.3.7
487
542
  signing_key:
488
543
  specification_version: 3
489
- summary: Rhosync Server
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')