rhoconnect 3.3.5 → 3.3.6

Sign up to get free protection for your applications and to get access to all the features.
data/CHANGELOG.md CHANGED
@@ -1,3 +1,8 @@
1
+ ## 3.3.6 (2012-10-05)
2
+ * Fix issue with Rhoconnect.api_token for admin user
3
+ * Bump nginx to v1.3.6 and redis to v2.4.17, add http_stub_status_module and include "least_conn" directive to upstream section
4
+ * Adding support for latest (3.0.x) redis client and resque library
5
+
1
6
  ## 3.3.5 (2012-09-20)
2
7
  * merge changes from master to fix broken bench script helper
3
8
  * ZD-2866 - Issue with Apple Push when User has windows device as one of targeted devices 2 target devices
data/Gemfile.lock CHANGED
@@ -1,12 +1,12 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- rhoconnect (3.3.5)
4
+ rhoconnect (3.3.6)
5
5
  bundler (~> 1.0)
6
6
  json (~> 1.6.0)
7
7
  rake (~> 0.9.2.2)
8
- redis (>= 2.2.0)
9
- resque (~> 1.20.0)
8
+ redis (>= 3.0.1)
9
+ resque (>= 1.22.0)
10
10
  rest-client (~> 1.6.1)
11
11
  rubyzip (~> 0.9.4)
12
12
  sinatra (~> 1.3)
@@ -42,7 +42,7 @@ GEM
42
42
  daemons (1.1.9)
43
43
  diff-lcs (1.1.3)
44
44
  eventmachine (1.0.0)
45
- excon (0.16.3)
45
+ excon (0.16.4)
46
46
  execjs (1.4.0)
47
47
  multi_json (~> 1.0)
48
48
  extlib (0.9.15)
@@ -59,7 +59,7 @@ GEM
59
59
  nokogiri (~> 1.5.0)
60
60
  ruby-hmac
61
61
  formatador (0.2.3)
62
- fpm (0.4.17)
62
+ fpm (0.4.20)
63
63
  arr-pm (~> 0.0.7)
64
64
  backports (= 2.6.2)
65
65
  cabin (~> 0.4.3)
@@ -94,17 +94,17 @@ GEM
94
94
  rack-fiber_pool (0.9.2)
95
95
  rack-protection (1.2.0)
96
96
  rack
97
- rack-test (0.6.1)
97
+ rack-test (0.6.2)
98
98
  rack (>= 1.0)
99
99
  rainbow (1.1.4)
100
100
  rake (0.9.2.2)
101
101
  rcov (1.0.0)
102
- redis (2.2.2)
103
- redis-namespace (1.0.3)
104
- redis (< 3.0.0)
105
- resque (1.20.0)
102
+ redis (3.0.2)
103
+ redis-namespace (1.2.1)
104
+ redis (~> 3.0.0)
105
+ resque (1.23.0)
106
106
  multi_json (~> 1.0)
107
- redis-namespace (~> 1.0.2)
107
+ redis-namespace (~> 1.0)
108
108
  sinatra (>= 0.9.2)
109
109
  vegas (~> 0.1.2)
110
110
  rest-client (1.6.7)
@@ -116,7 +116,7 @@ GEM
116
116
  rspec-core (2.10.1)
117
117
  rspec-expectations (2.10.0)
118
118
  diff-lcs (~> 1.1.3)
119
- rspec-mocks (2.10.0)
119
+ rspec-mocks (2.10.1)
120
120
  ruby-hmac (0.4.0)
121
121
  rubyzip (0.9.9)
122
122
  selenium-webdriver (2.25.0)
@@ -142,7 +142,7 @@ GEM
142
142
  diff-lcs (>= 1.1.2)
143
143
  extlib (>= 0.9.5)
144
144
  highline (>= 1.4.0)
145
- thin (1.4.1)
145
+ thin (1.5.0)
146
146
  daemons (>= 1.0.9)
147
147
  eventmachine (>= 0.12.6)
148
148
  rack (>= 1.0.0)
@@ -151,7 +151,7 @@ GEM
151
151
  uuidtools (2.1.3)
152
152
  vegas (0.1.11)
153
153
  rack (>= 1.0.0)
154
- webmock (1.8.10)
154
+ webmock (1.8.11)
155
155
  addressable (>= 2.2.7)
156
156
  crack (>= 0.1.7)
157
157
  xml-simple (1.1.1)
data/doc/deploying.txt CHANGED
@@ -122,6 +122,7 @@ Default setup of Nginx server is to deal with back-end servers (called "upstream
122
122
  # /opt/nginx/conf/conf.d/rhoconnect.conf file
123
123
 
124
124
  upstream thin_cluster {
125
+ least_conn;
125
126
  server unix:/tmp/thin.0.sock;
126
127
  server unix:/tmp/thin.1.sock;
127
128
  #server unix:/tmp/thin.2.sock;
@@ -142,8 +143,8 @@ Thin application server runs as a cluster with /etc/thin/rhoapp.yml configuratio
142
143
  chdir: /opt/nginx/html/rhoapp
143
144
  environment: production
144
145
  timeout: 30
145
- log: /opt/nginx/logs/thin.log
146
- pid: /var/run/thin.pid
146
+ log: /var/log/thin/thin.log
147
+ pid: /var/run/thin/thin.pid
147
148
  max_conns: 1024
148
149
  max_persistent_conns: 512
149
150
  require: []
@@ -155,7 +156,7 @@ Thin application server runs as a cluster with /etc/thin/rhoapp.yml configuratio
155
156
  Configuration file is generated by this command:
156
157
 
157
158
  :::term
158
- $ thin config -C /etc/thin/rhoapp.yml -c /opt/nginx/html/rhoapp/ --socket /tmp/thin.sock --servers 2 --log /opt/nginx/logs/thin.log --pid /var/run/thin.pid -e production
159
+ $ thin config -C /etc/thin/rhoapp.yml -c /opt/nginx/html/rhoapp/ --socket /tmp/thin.sock --servers 2 --log /var/log/thin/thin.log --pid /var/run/thin/thin.pid -e production
159
160
 
160
161
  ### Development and deployment of RhoConnect applications
161
162
 
@@ -205,8 +206,8 @@ e) Edit Thin `/etc/thin/rhoapp.yml` configuration file directly
205
206
  :::term
206
207
  $ env PATH=/opt/rhoconnect/bin:$PATH thin config -C /etc/thin/your_rhoconnect_app.yml \
207
208
  -c /opt/nginx/html/your_rhoconnect_app/ \
208
- --socket /tmp/thin.sock --servers 2 --log /opt/nginx/logs/thin.log \
209
- --pid /var/run/thin.pid -e production
209
+ --socket /tmp/thin.sock --servers 2 --log /var/log/thin/thin.log \
210
+ --pid /var/run/thin/thin.pid -e production
210
211
 
211
212
  f) As root user restart Nginx, and Thin servers
212
213
 
data/install.sh CHANGED
@@ -1,25 +1,8 @@
1
1
  #!/bin/bash
2
2
 
3
- # DO FIRST
4
-
5
- # make sure only run as root
6
- if [ "$(id -u)" != "0" ]; then
7
- echo "This script must be run as root"
8
- exit 1
9
- fi
10
-
11
- # Check if web server is running on port 80
12
- if [[ `echo "close" | telnet localhost 80 2>&1 | grep "Connected"` ]]; then
13
- echo "Web server on port 80 is running."
14
- echo "Please stop it and then re-run the installation script."
15
- exit 1
16
- fi
17
-
18
3
  timeInitial=`date +%H%M%S`
19
4
  installTime=$timeInitial
20
5
 
21
- # CONSTANTS
22
-
23
6
  DEPS=(gcc tar make wget)
24
7
 
25
8
  # FUNCTIONS
@@ -58,9 +41,9 @@ checkDeps ()
58
41
  echo "Dependencies Missing: " | tee -a $log
59
42
  echo "${missingDeps}" | tee -a $log
60
43
  echo "These must be installed before setup can continue..." | tee -a $log
61
- exit
44
+ exit 1
62
45
  fi
63
- } #end checkDeps
46
+ }
64
47
 
65
48
  # determinePkgMgr
66
49
  # Determines if the system is currently using rpm or
@@ -76,9 +59,9 @@ determinePkgMgr ()
76
59
  else
77
60
  echo "No supported package manager." | tee -a $log
78
61
  echo "Please install apt-get or yum to continue..." | tee -a $log
79
- exit
62
+ exit 1
80
63
  fi
81
- } #end determinePkgMgr
64
+ }
82
65
 
83
66
  # parseOpts
84
67
  # Parses options passed to the install script
@@ -134,7 +117,7 @@ parseOpts ()
134
117
  ;;
135
118
  esac
136
119
  done
137
- } #end parseOpts
120
+ }
138
121
 
139
122
  cleanPrefix ()
140
123
  {
@@ -150,7 +133,7 @@ cleanPrefix ()
150
133
  if ! [ -d $prefix ]; then
151
134
  mkdir -p $prefix
152
135
  fi
153
- } #end cleanPrefix
136
+ }
154
137
 
155
138
  setPrefixDependantPaths ()
156
139
  {
@@ -176,7 +159,7 @@ setPrefixDependantPaths ()
176
159
  if ! [ -e "${prefix}/info.dat" ]; then
177
160
  mv info.dat "${prefix}/info.dat"
178
161
  fi
179
- } #end setPrefixDependantPaths
162
+ }
180
163
 
181
164
  setDefaults ()
182
165
  {
@@ -189,13 +172,13 @@ setDefaults ()
189
172
  if [$webServer == ""]; then
190
173
  webServer="nginx"
191
174
  fi
192
- } #end setDefaults
175
+ }
193
176
 
194
177
  logAndPrint ()
195
178
  {
196
179
  $1 > $log 2>&1
197
180
  exitStatus=$?
198
- } #end logAndPrint
181
+ }
199
182
 
200
183
  setRubyVars ()
201
184
  {
@@ -215,7 +198,7 @@ setRubyVars ()
215
198
  rubyURL="http://ftp.ruby-lang.org/pub/ruby/1.9/${rubyTar}"
216
199
  else
217
200
  echo "${rubyVersion} is not a valid ruby version" | tee -a $log
218
- exit
201
+ exit 1
219
202
  fi
220
203
  }
221
204
 
@@ -255,7 +238,7 @@ installRuby ()
255
238
  ;;
256
239
  *)
257
240
  logAndPrint "echo \"${rubyVersion} is not a supported ruby version\""
258
- exit
241
+ exit 1
259
242
  ;;
260
243
  esac
261
244
 
@@ -263,7 +246,7 @@ installRuby ()
263
246
  echo "Some dependencies not installed..." | tee -a $log
264
247
  echo "Please install them and then re-run the installation script." | tee -a $log
265
248
  echo "For troubleshooting see file $log ..." | tee -a $log
266
- exit
249
+ exit 1
267
250
  fi
268
251
 
269
252
  echo -e "$rubyDir is successfully installed.\n" | tee -a $log
@@ -271,6 +254,23 @@ installRuby ()
271
254
 
272
255
  # SCRIPT
273
256
 
257
+ # define log file name
258
+ DATEFILE=`date +%Y%m%d%H%M%S`
259
+ log=rhoconnect_$(date +$DATEFILE).log
260
+
261
+ # make sure only run as root
262
+ if [ "$(id -u)" != "0" ]; then
263
+ echo "This script must be run as root" | tee -a $log
264
+ exit 1
265
+ fi
266
+
267
+ # Check if web server is running on port 80
268
+ if [[ `echo "close" | telnet localhost 80 2>&1 | grep "Connected"` ]]; then
269
+ echo "Web server on port 80 is running." | tee -a $log
270
+ echo "Please stop it and then re-run the installation script." | tee -a $log
271
+ exit 1
272
+ fi
273
+
274
274
  # Get starting directory
275
275
  startDir=`pwd`
276
276
  if [[ $startDir = "/opt/rhoconnect/installer" ]]; then #FIXME:
@@ -279,10 +279,6 @@ else
279
279
  INSTALL_DIR="./installer"
280
280
  fi
281
281
 
282
- # define log file name
283
- DATEFILE=`date +%Y%m%d%H%M%S`
284
- log=rhoconnect_$(date +$DATEFILE).log
285
-
286
282
  # Make sure basic system dependencies are installed
287
283
  checkDeps
288
284
 
@@ -347,6 +343,7 @@ if [[ $installedSoftware -eq ${#INSTALL_ARRAY[@]} ]]; then
347
343
 
348
344
  if (( $rho_status )) ; then
349
345
  echo "Installation failed. For troubleshooting see file $log ..." | tee -a $log
346
+ exit 1
350
347
  else
351
348
  opts=" -d $dist -l $log"
352
349
  ${prefix}/bin/ruby ${INSTALL_DIR}/unix-like/create_texts.rb ${opts}
@@ -325,7 +325,7 @@ def create_nginx_logrotate
325
325
  sharedscripts
326
326
  postrotate
327
327
  test ! -f /opt/nginx/logs/nginx.pid || kill -USR1 `cat /opt/nginx/logs/nginx.pid`
328
- endscript
328
+ endscript
329
329
  }
330
330
  _NGINX_LOGRORATE_CONF_
331
331
 
@@ -348,8 +348,15 @@ http {
348
348
  include mime.types;
349
349
  default_type application/octet-stream;
350
350
 
351
+ log_format time_combined '$remote_addr - $remote_user [$time_local] "$request" '
352
+ '$status $body_bytes_sent "$http_referer" '
353
+ '"$http_user_agent" "$http_x_forwarded_for" "$request_time"';
354
+ access_log logs/access.log time_combined;
355
+
351
356
  sendfile on;
352
- keepalive_timeout 65;
357
+ keepalive_timeout 120;
358
+ client_max_body_size 4m;
359
+ client_body_buffer_size 128k;
353
360
  #gzip on;
354
361
 
355
362
  include /opt/nginx/conf/conf.d/*.conf;
@@ -373,15 +380,18 @@ _NGINX_CONF_
373
380
  Dir.mkdir "/opt/nginx/conf/conf.d" unless File.exist? "/opt/nginx/conf/conf.d"
374
381
  rho_vhost_conf = <<_VHOST_CONF_
375
382
  upstream thin_cluster {
376
- ip_hash;
383
+ least_conn;
377
384
  server unix:/tmp/thin.0.sock;
378
385
  server unix:/tmp/thin.1.sock;
379
- # server unix:/tmp/thin.2.sock;
380
- # server unix:/tmp/thin.3.sock;
386
+ # Add additional copies if need more Thin servers
387
+ #server unix:/tmp/thin.2.sock;
388
+ #server unix:/tmp/thin.3.sock;
381
389
  }
382
390
 
383
391
  server {
384
- listen 80;
392
+ listen 80; # listen for ipv4
393
+ # listen [::]:80 default ipv6only=on; # listen for ipv6
394
+
385
395
  root /opt/nginx/html/#{app_name}/public; # <-- be sure to point to 'public' folder of your application!
386
396
  # access_log off; # <-- disable access logging
387
397
  # error_log /dev/null crit; # <-- disable error logging, but critical errors only
@@ -399,6 +409,15 @@ server {
399
409
  location = /50x.html {
400
410
  root html;
401
411
  }
412
+
413
+ # Uncomment the following location to get some status from nginx
414
+ # location /nginx_status {
415
+ # stub_status on;
416
+ # access_log off;
417
+ # allow 127.0.0.1;
418
+ # allow SOME.IP.ADD.RESS;
419
+ # deny all;
420
+ # }
402
421
  }
403
422
  _VHOST_CONF_
404
423
 
@@ -524,8 +543,9 @@ To deploy and develop your rhoconnect app on nginx and thin servers:
524
543
  or as root user generate a new one
525
544
  $ env PATH=/opt/rhoconnect/bin:$PATH thin config -C /etc/thin/your_rhoconnect_app.yml \
526
545
  -c /opt/nginx/html/your_rhoconnect_app/ \
527
- --socket /tmp/thin.sock --servers 2 --log /opt/nginx/logs/thin.log \
528
- --pid /var/run/thin.pid -e production
546
+ --socket /tmp/thin.sock --servers 2 \
547
+ --user nginx --group nginx \
548
+ --log /var/log/thin/thin.log --pid /var/run/thin/thin.pid -e production`
529
549
 
530
550
  f) As root user restart Nginx, and Thin servers
531
551
  /etc/init.d/nginx restart
@@ -550,27 +570,8 @@ def generate_rhoapp(rho_path)
550
570
  `chown -R nginx:nginx rhoapp/`
551
571
  end
552
572
 
553
- def copy_benchapp(rho_path)
554
- puts "Copy bench rhoconnect application to /opt/nginx/html directory ..."
555
- Dir.chdir "#{rho_path}/installer"
556
- `tar xzf bench.tar.gz -C #{rho_path}`
557
- `rm -rf bench.tar.gz`
558
-
559
- `#{rho_path}/bin/gem install ffaker --no-ri --no-rdoc`
560
- `#{rho_path}/bin/gem install thor --no-ri --no-rdoc`
561
-
562
- Dir.chdir "#{rho_path}/bench"
563
- `cp -r benchapp /opt/nginx/html`
564
- Dir.chdir "/opt/nginx/html/benchapp"
565
- `rm -rf Gemfile.lock`
566
- `#{rho_path}/bin/bundle install --without=test development`
567
- Dir.chdir "../"
568
- `chown -R nginx:nginx benchapp/`
569
- end
570
-
571
573
  def config_and_install_thin_scripts(rho_path)
572
574
  puts "Configuring and installing thin scripts ..."
573
- #`env PATH=#{rho_path}/bin:$PATH thin install`
574
575
  thin_script = <<'_THIN_INIT_'
575
576
  #!/bin/sh
576
577
  ### BEGIN INIT INFO
@@ -613,14 +614,45 @@ esac
613
614
 
614
615
  :
615
616
  _THIN_INIT_
617
+
616
618
  thin_init_script="/etc/init.d/thin"
617
619
  File.open(thin_init_script, 'w') { |f| f << thin_script }
618
620
  `chmod +x #{thin_init_script}`
619
621
  Dir.mkdir "/etc/thin" unless File.exist? "/etc/thin"
620
- `env PATH=#{rho_path}/bin:$PATH thin config -C /etc/thin/rhoapp.yml -c /opt/nginx/html/rhoapp/ --socket /tmp/thin.sock --servers 2 --log /opt/nginx/logs/thin.log --pid /var/run/thin.pid -e production`
622
+ Dir.mkdir "/var/run/thin" unless File.exist? "/var/run/thin"
623
+ `chown nginx:nginx /var/run/thin`
624
+
625
+ `env PATH=#{rho_path}/bin:$PATH \
626
+ thin config -C /etc/thin/rhoapp.yml -c /opt/nginx/html/rhoapp/ \
627
+ --socket /tmp/thin.sock --servers 2 \
628
+ --user nginx --group nginx \
629
+ --log /var/log/thin/thin.log --pid /var/run/thin/thin.pid -e production`
630
+
621
631
  raise "Thin failed to configure rhoconnect application" if $? != 0
622
632
  end
623
633
 
634
+ def config_thin_logrotate
635
+ Dir.mkdir "/var/log/thin" unless File.exist? "/var/log/thin"
636
+ `chown nginx:nginx /var/log/thin`
637
+
638
+ thin_logrorate_conf = <<'_THIN_LOGRORATE_CONF_'
639
+ /var/log/thin/*.log {
640
+ daily
641
+ missingok
642
+ rotate 4
643
+ compress
644
+ delaycompress
645
+ notifempty
646
+ # create 640 root adm
647
+ sharedscripts
648
+ postrotate
649
+ /etc/init.d/thin restart >/dev/null
650
+ endscript
651
+ }
652
+ _THIN_LOGRORATE_CONF_
653
+ File.open('/etc/logrotate.d/thin', 'w') { |f| f << thin_logrorate_conf }
654
+ end
655
+
624
656
  def create_texts
625
657
  if @redis
626
658
  create_redis_init
@@ -635,6 +667,8 @@ def create_texts
635
667
  generate_rhoapp @prefix
636
668
 
637
669
  config_and_install_thin_scripts(@prefix)
670
+ config_thin_logrotate
671
+
638
672
  distro_info = nginx_readme
639
673
  end
640
674
 
@@ -685,4 +719,11 @@ _NGINX_TO_DO_
685
719
 
686
720
  end
687
721
 
688
- create_texts
722
+ begin
723
+ create_texts
724
+ rescue => ex
725
+ File.open("#{@log_file}", 'a') { |f| f << ex.message } if @log_file
726
+ puts
727
+ puts "#{ex.message}"
728
+ exit(1)
729
+ end
@@ -9,9 +9,9 @@ module Constants
9
9
  "dtach"]
10
10
 
11
11
  RUBY = "ruby-1.9.3-p194"
12
- REDIS = "redis-2.4.13"
12
+ REDIS = "redis-2.4.17"
13
13
  SQLITE3 = "sqlite-autoconf-3071000"
14
- NGINX = "nginx-1.3.0"
14
+ NGINX = "nginx-1.3.6"
15
15
  PASSENGER_ROOT = "/opt/rhoconnect/lib/ruby/gems/1.9.1/gems/passenger"
16
16
 
17
17
  SOFTWARE = [ REDIS, SQLITE3, RUBY, NGINX ]
@@ -12,7 +12,7 @@ module Installers
12
12
  if @options[:web_server] && @options[:web_server] == "nginx"
13
13
  print_header "Installing Nginx web server ..."
14
14
  Dir.chdir("#{@options[:prefix]}/#{NGINX}")
15
- cmd "./configure --prefix=/opt/nginx --with-http_ssl_module --with-http_gzip_static_module --user=nginx --group=nginx"
15
+ cmd "./configure --prefix=/opt/nginx --with-http_ssl_module --with-http_gzip_static_module --with-http_stub_status_module --user=nginx --group=nginx"
16
16
  cmd "make 2>&1; make install"
17
17
  else
18
18
  raise "Inernal error: only nginx is supported."
@@ -362,7 +362,7 @@ module Rhoconnect
362
362
  flush_zdata(dockey) unless append
363
363
  current_score = 0
364
364
  current_score_data = Store.db.zrevrange(dockey,0,0,:with_scores => true)
365
- current_score = current_score_data[-1].to_i if current_score_data
365
+ current_score = current_score_data[-1][1].to_i if current_score_data and current_score_data[-1]
366
366
  current_score += 1
367
367
  data.each do |key,hash_value|
368
368
  unique_record_key = setelement(current_score,assoc_key, key)
@@ -1,3 +1,3 @@
1
1
  module Rhoconnect
2
- VERSION = '3.3.5'
2
+ VERSION = '3.3.6'
3
3
  end
data/lib/rhoconnect.rb CHANGED
@@ -125,6 +125,8 @@ module Rhoconnect
125
125
  admin.password = ENV['PSWRD'] || ''
126
126
  admin.create_token
127
127
  end
128
+ admin = User.load('rhoadmin')
129
+ Rhoconnect.api_token = admin.token_id
128
130
  end
129
131
 
130
132
  # Add path to load_path unless it has been added already
data/rhoconnect.gemspec CHANGED
@@ -14,9 +14,9 @@ Gem::Specification.new do |s|
14
14
  s.description = %q{RhoConnect App Integration Server and related command-line utilities}
15
15
 
16
16
  s.rubyforge_project = nil
17
-
18
- s.files = %w(
19
- CHANGELOG.md CREDITS Gemfile Gemfile.lock install.sh README.md Rakefile LICENSE Rakefile rhoconnect.gemspec
17
+
18
+ s.files = %w(
19
+ CHANGELOG.md CREDITS Gemfile Gemfile.lock install.sh README.md Rakefile LICENSE Rakefile rhoconnect.gemspec
20
20
  )
21
21
  s.files += Dir.glob("bench/**/*")
22
22
  s.files += Dir.glob("commands/**/*")
@@ -37,14 +37,14 @@ Gem::Specification.new do |s|
37
37
  "README.md"
38
38
  ]
39
39
 
40
- s.add_dependency('bundler', '~> 1.0')
40
+ s.add_dependency('bundler', '~> 1.0')
41
41
  s.add_dependency("sinatra", '~> 1.3')
42
42
  s.add_dependency('rake', '~> 0.9.2.2')
43
43
  s.add_dependency('json', '~> 1.6.0')
44
44
  s.add_dependency('rubyzip', '~> 0.9.4')
45
45
  s.add_dependency('uuidtools', '>= 2.1.1')
46
- s.add_dependency('redis', '>= 2.2.0')
47
- s.add_dependency('resque', '~> 1.20.0')
46
+ s.add_dependency('redis', '>= 3.0.1')
47
+ s.add_dependency('resque', '>= 1.22.0')
48
48
  s.add_dependency('rest-client', '~> 1.6.1')
49
49
  s.add_dependency('templater', '~> 1.0.0')
50
50
  s.add_dependency('thor', '~> 0.15.0')
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rhoconnect
3
3
  version: !ruby/object:Gem::Version
4
- version: 3.3.5
4
+ version: 3.3.6
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2012-09-21 00:00:00.000000000 Z
12
+ date: 2012-10-05 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: bundler
@@ -114,7 +114,7 @@ dependencies:
114
114
  requirements:
115
115
  - - ! '>='
116
116
  - !ruby/object:Gem::Version
117
- version: 2.2.0
117
+ version: 3.0.1
118
118
  type: :runtime
119
119
  prerelease: false
120
120
  version_requirements: !ruby/object:Gem::Requirement
@@ -122,23 +122,23 @@ dependencies:
122
122
  requirements:
123
123
  - - ! '>='
124
124
  - !ruby/object:Gem::Version
125
- version: 2.2.0
125
+ version: 3.0.1
126
126
  - !ruby/object:Gem::Dependency
127
127
  name: resque
128
128
  requirement: !ruby/object:Gem::Requirement
129
129
  none: false
130
130
  requirements:
131
- - - ~>
131
+ - - ! '>='
132
132
  - !ruby/object:Gem::Version
133
- version: 1.20.0
133
+ version: 1.22.0
134
134
  type: :runtime
135
135
  prerelease: false
136
136
  version_requirements: !ruby/object:Gem::Requirement
137
137
  none: false
138
138
  requirements:
139
- - - ~>
139
+ - - ! '>='
140
140
  - !ruby/object:Gem::Version
141
- version: 1.20.0
141
+ version: 1.22.0
142
142
  - !ruby/object:Gem::Dependency
143
143
  name: rest-client
144
144
  requirement: !ruby/object:Gem::Requirement
@@ -690,7 +690,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
690
690
  version: '0'
691
691
  segments:
692
692
  - 0
693
- hash: -4047375219147671173
693
+ hash: -1009647506811252622
694
694
  required_rubygems_version: !ruby/object:Gem::Requirement
695
695
  none: false
696
696
  requirements: