rhoconnect 3.1.0.beta1 → 3.1.0.beta2

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 (40) hide show
  1. data/CHANGELOG.md +17 -0
  2. data/Gemfile +4 -1
  3. data/Gemfile.lock +28 -22
  4. data/Rakefile +6 -5
  5. data/bench/bench_runner.rb +2 -2
  6. data/bench/benchapp/Gemfile +1 -2
  7. data/bench/benchapp/Gemfile.lock +19 -42
  8. data/bench/benchapp/spec/spec_helper.rb +1 -1
  9. data/bench/blobapp/Gemfile +0 -1
  10. data/bench/blobapp/Gemfile.lock +52 -47
  11. data/bench/blobapp/spec/spec_helper.rb +1 -1
  12. data/bench/lib/bench/logging.rb +0 -2
  13. data/bench/lib/bench/utils.rb +3 -3
  14. data/bench/run_bench.sh +4 -3
  15. data/bench/spec/bench_spec_helper.rb +6 -0
  16. data/doc/benchmarks-running.txt +2 -0
  17. data/doc/client.txt +1 -1
  18. data/doc/cud-conflicts.txt +23 -23
  19. data/doc/java-plugin.txt +23 -23
  20. data/doc/net-plugin.txt +21 -10
  21. data/doc/rhoconnect-redis-stack.txt +4 -4
  22. data/doc/supported-platforms.txt +77 -0
  23. data/doc/tutorial.txt +11 -13
  24. data/generators/rhoconnect.rb +1 -1
  25. data/generators/templates/application/Gemfile +4 -4
  26. data/generators/templates/application/spec/spec_helper.rb +10 -8
  27. data/installer/unix-like/rho_connect_install_constants.rb +2 -2
  28. data/installer/utils/package_upload/repos.rake +22 -7
  29. data/installer/utils/package_upload/s3_upload.rb +50 -22
  30. data/installer/windows/rhosync.nsi +5 -5
  31. data/lib/rhoconnect/body_content_type_parser.rb +4 -1
  32. data/lib/rhoconnect/jobs/bulk_data_job.rb +3 -3
  33. data/lib/rhoconnect/tasks.rb +17 -21
  34. data/lib/rhoconnect/version.rb +1 -1
  35. data/rhoconnect.gemspec +2 -1
  36. data/spec/spec_helper.rb +15 -7
  37. data/spec/stats/middleware_spec.rb +0 -1
  38. data/spec/store_spec.rb +0 -1
  39. data/tasks/redis.rake +2 -2
  40. metadata +64 -47
@@ -6,14 +6,19 @@ require 'find'
6
6
 
7
7
  # CONSTANTS
8
8
 
9
- # ACCESS_KEY_FILE = '/home/vagrant/.s3/keys'
10
- START_DIR = ARGV[0]
11
- BUCKET = ARGV[1]
12
- S3_ACCESS_KEY = 'AKIAIFBP7PVF6WBEGLGA'
13
- S3_SECRET_ACCESS_KEY = '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'
9
+ START_DIR = ARGV[0]
10
+ BUCKET = ARGV[1]
11
+ USER_DATA = `wget -q -O - http://169.254.169.254/latest/user-data`.split("\n")
14
12
 
15
13
  # METHODS
16
14
 
15
+ # Facilitates easy use of system calls
16
+ def cmd(cmd)
17
+ puts cmd
18
+ system cmd
19
+ end #cmd
20
+
21
+ # Makes sure parameters are correctly formed
17
22
  def check_params
18
23
  if ARGV.size != 2 && ARGV.size != 3
19
24
  puts "Wrong number of arguments (#{ARGV.size} for 2)"
@@ -34,29 +39,28 @@ def check_params
34
39
  begin
35
40
  found = AWS::S3::Bucket.find(BUCKET)
36
41
  puts "#{BUCKET} is a valid bucket :)" unless @raked
37
- rescue
42
+ rescue => e
38
43
  puts "#{BUCKET} is not a valid bucket."
44
+ puts e.inspect
45
+ puts e.backtrace
39
46
  exit
40
47
  end
41
48
  end #check_params
42
49
 
50
+ # Retrieves S3 credential information
43
51
  def get_keys
44
- # lines = IO.readlines ACCESS_KEY_FILE
45
- # @access_key = lines.first.strip
46
- # @secret_access_key = lines.last.strip
47
- @access_key = S3_ACCESS_KEY
48
- @secret_access_key = S3_SECRET_ACCESS_KEY
49
-
52
+ access_key = USER_DATA[0].to_s.strip
53
+ secret_access_key = USER_DATA[1].to_s.strip
54
+ keys = { :access_key_id => access_key,
55
+ :secret_access_key => secret_access_key}
50
56
  end #get_keys
51
57
 
58
+ # Establishes S3 connection
52
59
  def establish_s3_connection
53
- get_keys
54
- @s3_connection = AWS::S3::Base.establish_connection!(
55
- :access_key_id => @access_key,
56
- :secret_access_key => @secret_access_key
57
- )
60
+ @s3_connection = AWS::S3::Base.establish_connection!(get_keys)
58
61
  end #establish_s3_connection
59
62
 
63
+ # Uploads given file to the specified S3 bucket
60
64
  def upload(file)
61
65
  puts "Uploading #{file} to bucket #{BUCKET}..." unless @raked
62
66
  # Upload the given file
@@ -70,6 +74,7 @@ def upload(file)
70
74
  puts unless @raked
71
75
  end #upload
72
76
 
77
+ # Traverses list of file to upload and calls Upload to upload them
73
78
  def upload_files
74
79
  # Get list of files do be added
75
80
  number_of_files = 0
@@ -102,8 +107,31 @@ def upload_files
102
107
  end #if
103
108
  end #upload_files
104
109
 
105
- establish_s3_connection
106
-
107
- check_params
108
-
109
- upload_files
110
+ # SCRIPT
111
+
112
+ begin
113
+ establish_s3_connection
114
+ rescue => e
115
+ puts "Error Connecting to S3!!"
116
+ puts e.inspect
117
+ puts e.backtrace
118
+ exit 1
119
+ end #begin
120
+
121
+ begin
122
+ check_params
123
+ rescue => e
124
+ puts "Error Checking Parameters!!"
125
+ puts e.inspect
126
+ puts e.backtrace
127
+ exit 2
128
+ end #begin
129
+
130
+ begin
131
+ upload_files
132
+ rescue => e
133
+ puts "Error Uploading files!!"
134
+ puts e.inspect
135
+ puts e.backtrace
136
+ exit 3
137
+ end #begin
@@ -99,7 +99,7 @@ section "uninstall"
99
99
  Push "PATH"
100
100
  Push "R"
101
101
  Push "HKLM"
102
- Push "$INSTDIR\redis-2.4.5"
102
+ Push "$INSTDIR\redis-2.4.6"
103
103
  Call un.EnvVarUpdate
104
104
  Pop $R0
105
105
 
@@ -170,25 +170,25 @@ Section "Redis" redisSection
170
170
 
171
171
  SetOutPath $INSTDIR
172
172
 
173
- File /r "redis-2.4.5"
173
+ File /r "redis-2.4.6"
174
174
 
175
175
  ;add to path here
176
176
 
177
177
  Push "PATH"
178
178
  Push "P"
179
179
  Push "HKLM"
180
- Push "$INSTDIR\redis-2.4.5"
180
+ Push "$INSTDIR\redis-2.4.6"
181
181
  Call EnvVarUpdate
182
182
  Pop $R0
183
183
 
184
184
  Push "REDIS_HOME"
185
185
  Push "P"
186
186
  Push "HKLM"
187
- Push "$INSTDIR\redis-2.4.5"
187
+ Push "$INSTDIR\redis-2.4.6"
188
188
  Call EnvVarUpdate
189
189
  Pop $R0
190
190
 
191
- ExecWait '$INSTDIR\redis-2.4.5\redis-service.exe install' $0
191
+ ExecWait '$INSTDIR\redis-2.4.6\redis-service.exe install' $0
192
192
  StrCmp $0 "0" continue wrong
193
193
 
194
194
  wrong:
@@ -13,9 +13,12 @@ module Rhoconnect
13
13
  end
14
14
 
15
15
  def call(env)
16
- if env['CONTENT_TYPE'] && env['CONTENT_TYPE'].match(/^application\/json/)
16
+ if env[CONTENT_TYPE] && env[CONTENT_TYPE].match(/^application\/json/)
17
17
  begin
18
18
  if (body = env[POST_BODY].read).length != 0
19
+ # for some reason , if we do not do this
20
+ # Ruby 1.9 will fail
21
+ env[POST_BODY] = StringIO.new(body)
19
22
  env.update(FORM_HASH => JSON.parse(body), FORM_INPUT => env[POST_BODY])
20
23
  end
21
24
  rescue JSON::ParserError => jpe
@@ -71,9 +71,9 @@ module Rhoconnect
71
71
  data.each do |obj,row|
72
72
  args = [obj]
73
73
  columns.each { |col| args << row[col] }
74
- # FIXME: The * is used to expand an array into individual arguments for 'execute' method.
75
- # JRuby (1.6.0) won't work without asterisk, but MRI and 1.9.2 are both doing well!
76
- stmt.execute(*args) # FIXME: !!!
74
+ # The * is used to expand an array into individual arguments for 'execute' method.
75
+ # JRuby (1.6.0) won't work without asterisk, but other rubies doing well!
76
+ stmt.execute(*args)
77
77
  end
78
78
  end
79
79
 
@@ -3,6 +3,7 @@ require 'zip/zip'
3
3
  require 'uri'
4
4
  require File.join(File.dirname(__FILE__),'console','rhoconnect_api')
5
5
 
6
+
6
7
  module Rhoconnect
7
8
  module TaskHelper
8
9
  def post(path,params)
@@ -230,7 +231,6 @@ namespace :rhoconnect do
230
231
 
231
232
  begin
232
233
  require 'rspec/core/rake_task'
233
- require 'rcov/rcovtask' unless (windows? || ruby19?)
234
234
 
235
235
  desc "Run source adapter specs"
236
236
  task :spec do
@@ -238,20 +238,10 @@ namespace :rhoconnect do
238
238
  RSpec::Core::RakeTask.new('rhoconnect:spec') do |t|
239
239
  t.pattern = FileList[files]
240
240
  t.rspec_opts = %w(-fn -b --color)
241
- unless (windows? || ruby19?)
242
- t.rcov = true
243
- t.rcov_opts = ['--exclude', 'spec/*,gems/*']
244
- end
245
241
  end
246
242
  end
247
- rescue LoadError
248
- if windows?
249
- puts "rspec not available. Install it with: "
250
- puts "gem install rspec\n\n"
251
- else
252
- puts "rspec / rcov not available. Install it with: "
253
- puts "gem install rspec rcov\n\n"
254
- end
243
+ rescue Exception => e
244
+ puts "Run source adapter specs error: #{e.inspect}"
255
245
  end
256
246
 
257
247
  desc "Start rhoconnect server"
@@ -273,18 +263,21 @@ namespace :rhoconnect do
273
263
  # desc "Start rhoconnect server in bg mode (Rhostudio) - this is an internal command"
274
264
  task :startbg do
275
265
  cmd = (jruby?) ? trinidad? : (thin? || mongrel? || report_missing_server)
276
- Thread.new {
266
+ require 'win32/process' if windows?
267
+
268
+ p1 = Process.fork {
277
269
  if windows?
278
- puts 'Starting rhoconnect...'
270
+ puts 'Starting rhoconnect ...'
279
271
  system("#{cmd} config.ru -P #{rhoconnect_pid}")
280
272
  elsif jruby?
281
273
  puts 'Starting rhoconnect in jruby environment...'
282
274
  system("#{cmd}")
283
275
  else
284
- system("#{cmd} config.ru -P #{rhoconnect_pid}")
276
+ system("bundle exec #{cmd} config.ru -P #{rhoconnect_pid}")
285
277
  end
286
278
  }
287
-
279
+ Process.detach(p1)
280
+
288
281
  exit
289
282
  end
290
283
 
@@ -292,18 +285,21 @@ namespace :rhoconnect do
292
285
  task :startdebug do
293
286
  cmd = (jruby?) ? trinidad? : (thin? || mongrel? || report_missing_server)
294
287
  ENV['DEBUG'] = 'yes'
295
- Thread.new {
288
+ require 'win32/process' if windows?
289
+
290
+ p1 = Process.fork {
296
291
  if windows?
297
- puts 'Starting rhoconnect...'
292
+ puts 'Starting rhoconnect ...'
298
293
  system("#{cmd} config.ru -P #{rhoconnect_pid}")
299
294
  elsif jruby?
300
295
  puts 'Starting rhoconnect in jruby environment...'
301
296
  system("#{cmd}")
302
297
  else
303
- system("#{cmd} config.ru -P #{rhoconnect_pid}")
298
+ system("bundle exec #{cmd} config.ru -P #{rhoconnect_pid}")
304
299
  end
305
300
  }
306
-
301
+ Process.detach(p1)
302
+
307
303
  exit
308
304
  end
309
305
 
@@ -1,3 +1,3 @@
1
1
  module Rhoconnect
2
- VERSION = '3.1.0.beta1'
2
+ VERSION = '3.1.0.beta2'
3
3
  end
data/rhoconnect.gemspec CHANGED
@@ -37,9 +37,10 @@ Gem::Specification.new do |s|
37
37
  ]
38
38
 
39
39
  s.add_dependency('bundler', '~> 1.0')
40
+ s.add_dependency("rack", '~> 1.4.1')
40
41
  s.add_dependency("sinatra", '~> 1.3')
41
42
  s.add_dependency('rake', '~> 0.9.2')
42
- s.add_dependency('json', '~> 1.5.0')
43
+ s.add_dependency('json', '~> 1.6.0')
43
44
  s.add_dependency('rubyzip', '~> 0.9.4')
44
45
  s.add_dependency('uuidtools', '>= 2.1.1')
45
46
  s.add_dependency('redis', '>= 2.2.0')
data/spec/spec_helper.rb CHANGED
@@ -1,6 +1,12 @@
1
1
  require 'rubygems'
2
2
  require 'webmock/rspec'
3
3
  require 'rspec'
4
+
5
+ if RUBY_VERSION =~ /1.9/ || defined?(JRUBY_VERSION)
6
+ require 'simplecov'
7
+ SimpleCov.start
8
+ end
9
+
4
10
  require 'rhoconnect'
5
11
  include Rhoconnect
6
12
  ENV['RACK_ENV'] = 'test'
@@ -8,13 +14,15 @@ ENV['RACK_ENV'] = 'test'
8
14
  ERROR = '0_broken_object_id' unless defined? ERROR
9
15
 
10
16
  # Monkey patch to fix the following issue:
11
- # /Library/Ruby/Gems/1.8/gems/rspec-core-2.5.1/lib/rspec/core/shared_example_group.rb:45:
12
- # in `ensure_shared_example_group_name_not_taken': Shared example group '...' already exists (ArgumentError)
13
- module RSpec
14
- module Core
15
- module SharedExampleGroup
16
- private
17
- def ensure_shared_example_group_name_not_taken(name)
17
+ # /usr/local/rvm/gems/ruby-1.8.7-p352/gems/rspec-core-2.6.4/lib/rspec/core/shared_example_group.rb:59:
18
+ # in `ensure_shared_example_group_name_not_taken': Shared example group 'SharedRhoconnectHelper' already exists (ArgumentError)
19
+ if RUBY_VERSION =~ /1.8/
20
+ module RSpec
21
+ module Core
22
+ module SharedExampleGroup
23
+ private
24
+ def ensure_shared_example_group_name_not_taken(name)
25
+ end
18
26
  end
19
27
  end
20
28
  end
@@ -30,7 +30,6 @@ describe "Middleware" do
30
30
  metric = 'http:GET:/api/application/query:SampleAdapter'
31
31
  Record.key(metric).should == "stat:#{metric}"
32
32
 
33
- # FIXME:
34
33
  # The conversion algorithm (float to string) currently checks two precisions.
35
34
  # In Ruby 1.9, it tries 16 digits and if that's not enough it then uses 17.
36
35
  # In 1.8, it's the same but with 15 and 16.
data/spec/store_spec.rb CHANGED
@@ -225,7 +225,6 @@ describe "Store" do
225
225
  end
226
226
 
227
227
  if defined?(JRUBY_VERSION)
228
- # FIXME:
229
228
  it "should lock document" do
230
229
  doc = "locked_data"
231
230
  m_lock = Store.get_lock(doc)
data/tasks/redis.rake CHANGED
@@ -7,7 +7,7 @@ def windows?
7
7
  end
8
8
 
9
9
  if windows?
10
- $redis_ver = "redis-2.4.5"
10
+ $redis_ver = "redis-2.4.6"
11
11
  $redis_zip = "C:/#{$redis_ver}.zip"
12
12
  $redis_dest = "C:/"
13
13
  end
@@ -181,7 +181,7 @@ namespace :redis do
181
181
  else
182
182
  sh 'rm -rf /tmp/redis/' if File.exists?("#{RedisRunner.redisdir}")
183
183
  sh 'git clone git://github.com/antirez/redis.git /tmp/redis -n'
184
- sh "cd #{RedisRunner.redisdir} && git reset --hard && git checkout 2.4.5"
184
+ sh "cd #{RedisRunner.redisdir} && git reset --hard && git checkout 2.4.6"
185
185
  end
186
186
  end
187
187
 
metadata CHANGED
@@ -1,15 +1,15 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rhoconnect
3
3
  version: !ruby/object:Gem::Version
4
- hash: 62196433
4
+ hash: 62196439
5
5
  prerelease: 6
6
6
  segments:
7
7
  - 3
8
8
  - 1
9
9
  - 0
10
10
  - beta
11
- - 1
12
- version: 3.1.0.beta1
11
+ - 2
12
+ version: 3.1.0.beta2
13
13
  platform: ruby
14
14
  authors:
15
15
  - Rhomobile
@@ -17,12 +17,12 @@ autorequire:
17
17
  bindir: bin
18
18
  cert_chain: []
19
19
 
20
- date: 2011-12-29 00:00:00 Z
20
+ date: 2012-01-24 00:00:00 Z
21
21
  dependencies:
22
22
  - !ruby/object:Gem::Dependency
23
23
  prerelease: false
24
- name: bundler
25
- version_requirements: &id001 !ruby/object:Gem::Requirement
24
+ type: :runtime
25
+ requirement: &id001 !ruby/object:Gem::Requirement
26
26
  none: false
27
27
  requirements:
28
28
  - - ~>
@@ -32,12 +32,28 @@ dependencies:
32
32
  - 1
33
33
  - 0
34
34
  version: "1.0"
35
+ name: bundler
36
+ version_requirements: *id001
37
+ - !ruby/object:Gem::Dependency
38
+ prerelease: false
35
39
  type: :runtime
36
- requirement: *id001
40
+ requirement: &id002 !ruby/object:Gem::Requirement
41
+ none: false
42
+ requirements:
43
+ - - ~>
44
+ - !ruby/object:Gem::Version
45
+ hash: 5
46
+ segments:
47
+ - 1
48
+ - 4
49
+ - 1
50
+ version: 1.4.1
51
+ name: rack
52
+ version_requirements: *id002
37
53
  - !ruby/object:Gem::Dependency
38
54
  prerelease: false
39
- name: sinatra
40
- version_requirements: &id002 !ruby/object:Gem::Requirement
55
+ type: :runtime
56
+ requirement: &id003 !ruby/object:Gem::Requirement
41
57
  none: false
42
58
  requirements:
43
59
  - - ~>
@@ -47,12 +63,12 @@ dependencies:
47
63
  - 1
48
64
  - 3
49
65
  version: "1.3"
50
- type: :runtime
51
- requirement: *id002
66
+ name: sinatra
67
+ version_requirements: *id003
52
68
  - !ruby/object:Gem::Dependency
53
69
  prerelease: false
54
- name: rake
55
- version_requirements: &id003 !ruby/object:Gem::Requirement
70
+ type: :runtime
71
+ requirement: &id004 !ruby/object:Gem::Requirement
56
72
  none: false
57
73
  requirements:
58
74
  - - ~>
@@ -63,28 +79,28 @@ dependencies:
63
79
  - 9
64
80
  - 2
65
81
  version: 0.9.2
66
- type: :runtime
67
- requirement: *id003
82
+ name: rake
83
+ version_requirements: *id004
68
84
  - !ruby/object:Gem::Dependency
69
85
  prerelease: false
70
- name: json
71
- version_requirements: &id004 !ruby/object:Gem::Requirement
86
+ type: :runtime
87
+ requirement: &id005 !ruby/object:Gem::Requirement
72
88
  none: false
73
89
  requirements:
74
90
  - - ~>
75
91
  - !ruby/object:Gem::Version
76
- hash: 3
92
+ hash: 15
77
93
  segments:
78
94
  - 1
79
- - 5
95
+ - 6
80
96
  - 0
81
- version: 1.5.0
82
- type: :runtime
83
- requirement: *id004
97
+ version: 1.6.0
98
+ name: json
99
+ version_requirements: *id005
84
100
  - !ruby/object:Gem::Dependency
85
101
  prerelease: false
86
- name: rubyzip
87
- version_requirements: &id005 !ruby/object:Gem::Requirement
102
+ type: :runtime
103
+ requirement: &id006 !ruby/object:Gem::Requirement
88
104
  none: false
89
105
  requirements:
90
106
  - - ~>
@@ -95,12 +111,12 @@ dependencies:
95
111
  - 9
96
112
  - 4
97
113
  version: 0.9.4
98
- type: :runtime
99
- requirement: *id005
114
+ name: rubyzip
115
+ version_requirements: *id006
100
116
  - !ruby/object:Gem::Dependency
101
117
  prerelease: false
102
- name: uuidtools
103
- version_requirements: &id006 !ruby/object:Gem::Requirement
118
+ type: :runtime
119
+ requirement: &id007 !ruby/object:Gem::Requirement
104
120
  none: false
105
121
  requirements:
106
122
  - - ">="
@@ -111,12 +127,12 @@ dependencies:
111
127
  - 1
112
128
  - 1
113
129
  version: 2.1.1
114
- type: :runtime
115
- requirement: *id006
130
+ name: uuidtools
131
+ version_requirements: *id007
116
132
  - !ruby/object:Gem::Dependency
117
133
  prerelease: false
118
- name: redis
119
- version_requirements: &id007 !ruby/object:Gem::Requirement
134
+ type: :runtime
135
+ requirement: &id008 !ruby/object:Gem::Requirement
120
136
  none: false
121
137
  requirements:
122
138
  - - ">="
@@ -127,12 +143,12 @@ dependencies:
127
143
  - 2
128
144
  - 0
129
145
  version: 2.2.0
130
- type: :runtime
131
- requirement: *id007
146
+ name: redis
147
+ version_requirements: *id008
132
148
  - !ruby/object:Gem::Dependency
133
149
  prerelease: false
134
- name: resque
135
- version_requirements: &id008 !ruby/object:Gem::Requirement
150
+ type: :runtime
151
+ requirement: &id009 !ruby/object:Gem::Requirement
136
152
  none: false
137
153
  requirements:
138
154
  - - ~>
@@ -143,12 +159,12 @@ dependencies:
143
159
  - 19
144
160
  - 0
145
161
  version: 1.19.0
146
- type: :runtime
147
- requirement: *id008
162
+ name: resque
163
+ version_requirements: *id009
148
164
  - !ruby/object:Gem::Dependency
149
165
  prerelease: false
150
- name: rest-client
151
- version_requirements: &id009 !ruby/object:Gem::Requirement
166
+ type: :runtime
167
+ requirement: &id010 !ruby/object:Gem::Requirement
152
168
  none: false
153
169
  requirements:
154
170
  - - ~>
@@ -159,12 +175,12 @@ dependencies:
159
175
  - 6
160
176
  - 1
161
177
  version: 1.6.1
162
- type: :runtime
163
- requirement: *id009
178
+ name: rest-client
179
+ version_requirements: *id010
164
180
  - !ruby/object:Gem::Dependency
165
181
  prerelease: false
166
- name: templater
167
- version_requirements: &id010 !ruby/object:Gem::Requirement
182
+ type: :runtime
183
+ requirement: &id011 !ruby/object:Gem::Requirement
168
184
  none: false
169
185
  requirements:
170
186
  - - ~>
@@ -175,8 +191,8 @@ dependencies:
175
191
  - 0
176
192
  - 0
177
193
  version: 1.0.0
178
- type: :runtime
179
- requirement: *id010
194
+ name: templater
195
+ version_requirements: *id011
180
196
  description: RhoConnect App Integration Server and related command-line utilities
181
197
  email: dev@rhomobile.com
182
198
  executables:
@@ -311,6 +327,7 @@ files:
311
327
  - doc/settings.txt
312
328
  - doc/source-adapters.txt
313
329
  - doc/stats-middleware.txt
330
+ - doc/supported-platforms.txt
314
331
  - doc/testing.txt
315
332
  - doc/tutorial.txt
316
333
  - doc/web-console.txt
@@ -617,7 +634,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
617
634
  requirements: []
618
635
 
619
636
  rubyforge_project:
620
- rubygems_version: 1.8.13
637
+ rubygems_version: 1.8.15
621
638
  signing_key:
622
639
  specification_version: 3
623
640
  summary: RhoConnect App Integration Server