rconf 0.9.18 → 0.9.19

Sign up to get free protection for your applications and to get access to all the features.
Files changed (48) hide show
  1. data/README.rdoc +77 -22
  2. data/Rakefile +4 -4
  3. data/bin/rconf +2 -2
  4. data/lib/rconf/command.rb +5 -5
  5. data/lib/rconf/configurator_registry.rb +1 -1
  6. data/lib/rconf/configurators/build_configurator.rb +2 -2
  7. data/lib/rconf/configurators/bundler_configurator.rb +3 -3
  8. data/lib/rconf/configurators/cassandra_configurator.rb +4 -4
  9. data/lib/rconf/configurators/execute_configurator.rb +1 -1
  10. data/lib/rconf/configurators/git_repo_configurator.rb +4 -4
  11. data/lib/rconf/configurators/mercurial_configurator.rb +2 -2
  12. data/lib/rconf/configurators/packages_configurator.rb +1 -1
  13. data/lib/rconf/configurators/passenger_configurator.rb +26 -26
  14. data/lib/rconf/configurators/ruby_configurator.rb +1 -1
  15. data/lib/rconf/language.rb +2 -2
  16. data/lib/rconf/platform.rb +3 -3
  17. data/lib/rconf/platforms/darwin.rb +0 -1
  18. data/lib/rconf/platforms/linux.rb +1 -1
  19. data/lib/rconf/platforms/windows.rb +1 -1
  20. data/lib/rconf/profile.rb +3 -3
  21. data/lib/rconf/progress_reporter.rb +2 -2
  22. data/lib/rconf/progress_reporters/base_reporter.rb +2 -2
  23. data/lib/rconf/progress_reporters/file_reporter.rb +1 -1
  24. data/lib/rconf/progress_reporters/stdout_reporter.rb +1 -1
  25. data/lib/rconf/ruby_extensions.rb +3 -3
  26. data/lib/rconf/support/brew_installer.rb +3 -3
  27. data/lib/rconf/support/environment_updater.rb +2 -2
  28. data/lib/rconf/support/package_installer.rb +6 -6
  29. data/lib/rconf/trollop.rb +4 -4
  30. data/lib/rconf/version.rb +2 -2
  31. data/lib/rconf.rb +1 -1
  32. data/rconf.rconf +2 -2
  33. data/spec/command_spec.rb +2 -3
  34. data/spec/configurator_spec.rb +2 -4
  35. data/spec/configurators/build_configurator_spec.rb +1 -1
  36. data/spec/configurators/bundler_configurator_spec.rb +2 -3
  37. data/spec/configurators/git_repo_configurator_spec.rb +1 -2
  38. data/spec/configurators/packages_configurator_spec.rb +2 -2
  39. data/spec/configurators/passenger_configurator_spec.rb +1 -1
  40. data/spec/configurators/ruby_configurator_spec.rb +1 -1
  41. data/spec/language_spec.rb +1 -2
  42. data/spec/progress_reporters/base_reporter_spec.rb +2 -1
  43. data/spec/progress_reporters/file_reporter_spec.rb +1 -2
  44. data/spec/progress_reporters/stdout_reporter_spec.rb +1 -1
  45. data/spec/ruby_extensions_spec.rb +1 -1
  46. data/spec/spec_helper.rb +3 -3
  47. data/spec/support/package_installer_spec.rb +2 -2
  48. metadata +22 -13
data/README.rdoc CHANGED
@@ -1,4 +1,6 @@
1
- = right_env
1
+
2
+ = rconf
3
+
2
4
 
3
5
  == INTRODUCTION
4
6
 
@@ -11,9 +13,9 @@ application to another for development in particular is quickly becoming
11
13
  close to impossible.
12
14
 
13
15
  rconf aims at addressing some of these difficulties by providing a uniform
14
- and consistent mechanism for applications developed at RightScale to
16
+ and consistent mechanism for applications developed at RightScale to
15
17
  declaratively specify the tools they depend on various platforms (linux, darwin
16
- and potentially windows).
18
+ and potentially windows).
17
19
 
18
20
  rconf uses a DSL close to Chef recipes for defining an application configuration.
19
21
  Each application must be equipped with a definition that must reside at the top
@@ -21,37 +23,76 @@ level directory of the application and use the '.rconf' file extension. When run
21
23
  for the first time rconf sets up a .rvmrc file which gets invoked and sets up
22
24
  the environment each time the application directory gets 'cd-ed' into.
23
25
 
24
- Internally rconf relies on 'configurators' to configure the machine
26
+ Internally rconf relies on 'configurators' to configure the machine
25
27
  appropriately. There is one configurator per tool that needs configuration.
26
28
  Each configurator is dynamically instantiated by rconf as it reads the
27
29
  application configuration file. This makes for an extensible system where new
28
- configurator may be added to configure new tools that new applications may
30
+ configurator may be added to configure new tools that new applications may
29
31
  rely on.
30
32
 
31
- == REQUIREMENTS
32
33
 
33
- === Running
34
+ == REQUIREMENTS
34
35
 
35
- ==== Linux and Mac OS X
36
+ === Linux and Mac OS X
36
37
 
37
38
  - ruby >= 1.8.6
38
39
  - curl
39
40
  - tar
40
41
 
41
- ==== Windows
42
+ === Windows
42
43
 
43
44
  - ruby >= 1.8.6
44
45
  - Win32API gem
45
46
 
46
- === Unit testing
47
47
 
48
- Install the following gems for testing:
49
- - rspec >= 2.0
50
- - flexmock
48
+ == INSTALLING
49
+
50
+ There are two installation cases
51
+
52
+ a) you've already got a working install of RVM
53
+ b) blank system
54
+
55
+ === a) Installing when RVM is already present
56
+
57
+ It should be as simple as:
58
+
59
+ gem install rconf
60
+
61
+ and then moving to your repository and running:
62
+
63
+ rconf
64
+
65
+ to let rconf prepare your environment for the repository.
66
+
67
+ === b) Installing on a blank system
68
+
69
+ If your system fits the requirements listed above, installing rconf will
70
+ require you to make a system install of rconf:
71
+
72
+ sudo gem install rconf
73
+
74
+ then you can go to your repository and run
75
+
76
+ rconf
77
+
78
+ If you do not have a x.rconf equipped directory and you want rconf to install rvm for
79
+ you, you can create a file named dummy.rconf containing:
80
+
81
+ ruby do
82
+ version 'ruby-1.9.2-p290'
83
+ rubygems '1.8.10'
84
+ end
85
+
86
+ and then run rconf against it:
87
+
88
+ rconf dummy.rconf
89
+
90
+ === rconf and existing .rvmrc files
91
+
92
+ If you have pre-existing .rvmrc files and they don't play well with your
93
+ .rconf configuration file, don't hesitate to delete them and run rconf.
94
+ rconf will create a new, working, .rvmrc.
51
95
 
52
- Then the build can be tested with
53
-
54
- rake spec
55
96
 
56
97
  == WRITING RCONF CONFIGURATION FILES
57
98
 
@@ -70,9 +111,23 @@ executed in order. For a complete list of available configurators run:
70
111
 
71
112
  The same configurator can appear multiple times in a configuration file.
72
113
 
73
- == EXTENDING RCONF WITH NEW CONFIGURATORS
74
114
 
75
- Writing a configurator consists of writing a ruby class which includes the
115
+ == DEVELOPING RCONF AND FOR RCONF
116
+
117
+ === Requirements
118
+
119
+ Install the following gems for testing:
120
+ - rspec >= 2.0
121
+ - flexmock
122
+
123
+ Then the build can be tested with
124
+
125
+ rake spec
126
+
127
+
128
+ === Extending rconf with new configurators
129
+
130
+ Writing a configurator consists of writing a ruby class which includes the
76
131
  +RightConf::Configurator+ module and uses the class methods define there to
77
132
  register, provide a description and list its settings.
78
133
 
@@ -83,7 +138,7 @@ The exact methods are:
83
138
  - +settings+: The value should be a hash where the keys are the settings names (ruby symbols) and the value is the setting description.
84
139
  - +validate_has_settings+: An array of settings names (symbols) for all settings that must be set for a configuration to be valid when using that configurator.
85
140
 
86
- The configurator class then needs to implement the +run+ method which gets
141
+ The configurator class then needs to implement the +run+ method which gets
87
142
  called whenever rconf executes a configuration section using the configurator.
88
143
 
89
144
  Alternatively the configurator class may implement +run_<platform>+ where
@@ -91,12 +146,12 @@ Alternatively the configurator class may implement +run_<platform>+ where
91
146
  implementation needs to be platform specific.
92
147
 
93
148
  The configurator can also provide distribution specific implementations by
94
- implementing +run_<platform>_<flavor>+ where +<flavor>+ depends on the
149
+ implementing +run_<platform>_<flavor>+ where +<flavor>+ depends on the
95
150
  platform and can take the values 'ubuntu', 'centos' etc. (linux).
96
151
 
97
- Finally the +run+ method can also be implemented using the full specification
152
+ Finally the +run+ method can also be implemented using the full specification
98
153
  for a platform including the release number (e.g. +run_linux_ubuntu_10_10+). In
99
- each case rconf will use the most specific implementation (so if both
154
+ each case rconf will use the most specific implementation (so if both
100
155
  +run_linux+ and +run_linux_ubuntu+ are provided and the configurator is
101
156
  running on Ubuntu then rconf will call the +run_linux_ubuntu+ implementation).
102
157
 
data/Rakefile CHANGED
@@ -30,15 +30,15 @@ end
30
30
 
31
31
  namespace :spec do
32
32
  desc "Run unit tests with RCov"
33
- RSpec::Core::RakeTask.new(:rcov) do |t|
33
+ RSpec::Core::RakeTask.new(:rcov) do |t|
34
34
  t.rcov = true
35
35
  t.rcov_opts = %q[--exclude "spec"]
36
- end
36
+ end
37
37
 
38
38
  desc "Print Specdoc for unit tests"
39
- RSpec::Core::RakeTask.new(:doc) do |t|
39
+ RSpec::Core::RakeTask.new(:doc) do |t|
40
40
  t.rspec_opts = ["--format", "documentation"]
41
- end
41
+ end
42
42
  end
43
43
 
44
44
  # == Gem == #
data/bin/rconf CHANGED
@@ -178,7 +178,7 @@ where [options] are:
178
178
  end
179
179
  end
180
180
  end
181
-
181
+
182
182
  # Remove rconf from all rubies/gemsets
183
183
  #
184
184
  # === Return
@@ -194,7 +194,7 @@ where [options] are:
194
194
  end
195
195
  end
196
196
  end
197
-
197
+
198
198
  # Actually configure environment
199
199
  #
200
200
  # === Parameters
data/lib/rconf/command.rb CHANGED
@@ -25,7 +25,7 @@ module RightConf
25
25
  # args(Array):: Command arguments
26
26
  #
27
27
  # === Options
28
- # abort_on_failure(bool):: Whether to raise an exception in case command
28
+ # abort_on_failure(bool):: Whether to raise an exception in case command
29
29
  # returns an error (false by default)
30
30
  # env:: Hash of environment variables keyed by name
31
31
  #
@@ -60,7 +60,7 @@ module RightConf
60
60
  # args(Array):: Command arguments
61
61
  #
62
62
  # === Options
63
- # abort_on_failure(bool):: Whether to raise an exception in case command
63
+ # abort_on_failure(bool):: Whether to raise an exception in case command
64
64
  # returns an error (false by default)
65
65
  # env:: Hash of environment variables keyed by name
66
66
  #
@@ -82,7 +82,7 @@ module RightConf
82
82
  # args(Array):: Command arguments
83
83
  #
84
84
  # === Options
85
- # abort_on_failure(bool):: Whether to raise an exception in case command
85
+ # abort_on_failure(bool):: Whether to raise an exception in case command
86
86
  # returns an error (false by default)
87
87
  # env:: Hash of environment variables keyed by name
88
88
  #
@@ -110,7 +110,7 @@ module RightConf
110
110
  end
111
111
 
112
112
  # Execute given command on *nix systems
113
- #
113
+ #
114
114
  # === Parameters
115
115
  # command(String):: Command name
116
116
  # env(Hash):: Hash of environment variables keyed by name
@@ -129,7 +129,7 @@ module RightConf
129
129
  alias :execute_darwin :execute_linux
130
130
 
131
131
  # Execute given command on Windows systems
132
- #
132
+ #
133
133
  # === Parameters
134
134
  # command(String):: Command name
135
135
  # env(Hash):: Hash of environment variables keyed by name
@@ -1,4 +1,4 @@
1
- # Copyright (C) 2011 RightScale, Inc, All Rights Reserved Worldwide.
1
+ # Copyright (C) 2011-2012 RightScale, Inc, All Rights Reserved Worldwide.
2
2
  #
3
3
  # THIS PROGRAM IS CONFIDENTIAL AND PROPRIETARY TO RIGHTSCALE
4
4
  # AND CONSTITUTES A VALUABLE TRADE SECRET. Any unauthorized use,
@@ -1,4 +1,4 @@
1
- # Copyright (C) 2011 RightScale, Inc, All Rights Reserved Worldwide.
1
+ # Copyright (C) 2011-2012 RightScale, Inc, All Rights Reserved Worldwide.
2
2
  #
3
3
  # THIS PROGRAM IS CONFIDENTIAL AND PROPRIETARY TO RIGHTSCALE
4
4
  # AND CONSTITUTES A VALUABLE TRADE SECRET. Any unauthorized use,
@@ -53,7 +53,7 @@ module RightConf
53
53
  Dir.chdir(path) do
54
54
  filename = File.basename(tarball_url)
55
55
  unless File.exists?(File.join(Dir.pwd, filename))
56
- Command.execute('curl', '-O', '-f', tarball_url, :abort_on_failure => "Failed to curl #{tarball_url}")
56
+ Command.execute('curl', '-O', '-f', tarball_url, :abort_on_failure => "Failed to curl #{tarball_url}")
57
57
  end
58
58
  abf = { :abort_on_failure => "Failed to uncompress #{filename}" }
59
59
  case filename
@@ -25,7 +25,7 @@ module RightConf
25
25
  :exclusions => 'Comma separated list of gem groups to be excluded when installing bundle',
26
26
  :bundle_path => 'Path where bundle should be installed',
27
27
  :gem_path => 'Path to bundler gem, e.g. "vendor/system_gems/cache"'
28
-
28
+
29
29
  validate_has_settings :version
30
30
 
31
31
  # Check whether bundler is already installed
@@ -55,7 +55,7 @@ module RightConf
55
55
  # === Return
56
56
  # true:: Always return true
57
57
  def run_linux
58
- install_bundler
58
+ install_bundler
59
59
  report_check('Installing gems')
60
60
  options = [ "_#{version}_", 'install' ]
61
61
  options << "--without=#{exclusions.delete(' ')}" unless exclusions.nil?
@@ -93,7 +93,7 @@ module RightConf
93
93
  report_success
94
94
  end
95
95
  report_check("Installing bundler #{version}")
96
- if gem_path
96
+ if gem_path
97
97
  bundler_file = [ File.join(gem_path, "bundler-#{version}.gem") ]
98
98
  report_fatal("Missing bundler gem at #{bundler_file}") unless File.exist?(bundler_file)
99
99
  else
@@ -1,4 +1,4 @@
1
- # Copyright (C) 2011 RightScale, Inc, All Rights Reserved Worldwide.
1
+ # Copyright (C) 2011-2012 RightScale, Inc, All Rights Reserved Worldwide.
2
2
  #
3
3
  # THIS PROGRAM IS CONFIDENTIAL AND PROPRIETARY TO RIGHTSCALE
4
4
  # AND CONSTITUTES A VALUABLE TRADE SECRET. Any unauthorized use,
@@ -13,7 +13,7 @@ module RightConf
13
13
 
14
14
  class CassandraConfigurator
15
15
 
16
- SOURCE_BASE_URL = 'http://mirror.metrocast.net/apache//cassandra/VERSION/apache-cassandra-VERSION-bin.tar.gz'
16
+ SOURCE_BASE_URL = 'http://archive.apache.org/dist/cassandra/VERSION/apache-cassandra-VERSION-bin.tar.gz'
17
17
  DEFAULT_CASSANDRA_INSTALL = ['/opt/cassandra', File.join(ENV['HOME'], 'cassandra')]
18
18
 
19
19
  include Configurator
@@ -28,7 +28,7 @@ module RightConf
28
28
  :abort_on_failure => 'Whether to abort if Cassandra failed to install (false by default)'
29
29
 
30
30
  validate_has_settings :version
31
-
31
+
32
32
  # Check whether Cassandra is installed
33
33
  #
34
34
  # === Return
@@ -36,7 +36,7 @@ module RightConf
36
36
  # false:: Otherwise
37
37
  def check_linux
38
38
  report_check('Checking for Cassandra')
39
- installed = Command.execute('cassandra', '-h').success?
39
+ installed = Command.execute('cassandra', '-h').success?
40
40
  report_result(installed)
41
41
  installed
42
42
  end
@@ -1,4 +1,4 @@
1
- # Copyright (C) 2011 RightScale, Inc, All Rights Reserved Worldwide.
1
+ # Copyright (C) 2011-2012 RightScale, Inc, All Rights Reserved Worldwide.
2
2
  #
3
3
  # THIS PROGRAM IS CONFIDENTIAL AND PROPRIETARY TO RIGHTSCALE
4
4
  # AND CONSTITUTES A VALUABLE TRADE SECRET. Any unauthorized use,
@@ -1,4 +1,4 @@
1
- # Copyright (C) 2011 RightScale, Inc, All Rights Reserved Worldwide.
1
+ # Copyright (C) 2011-2012 RightScale, Inc, All Rights Reserved Worldwide.
2
2
  #
3
3
  # THIS PROGRAM IS CONFIDENTIAL AND PROPRIETARY TO RIGHTSCALE
4
4
  # AND CONSTITUTES A VALUABLE TRADE SECRET. Any unauthorized use,
@@ -35,18 +35,18 @@ module RightConf
35
35
  end
36
36
  alias :check_darwin :check_linux
37
37
  alias :check_windows :check_linux
38
-
38
+
39
39
  # Clone git repo and run build commands if given
40
40
  #
41
41
  # === Return
42
42
  # true:: Always return true
43
43
  def run_linux
44
44
  if File.exist?(path)
45
- FileUtils.mv(path, "#{path}_old")
45
+ FileUtils.mv(path, "#{path}_old")
46
46
  post_note "Had to move #{path} to #{path}_old"
47
47
  end
48
48
  report_check("Cloning #{repo} into #{path}")
49
- Command.execute('git', 'clone', repo, path,
49
+ Command.execute('git', 'clone', repo, path,
50
50
  :abort_on_failure => "Failed to clone #{repo} into #{path}")
51
51
  report_success
52
52
  if tag
@@ -33,7 +33,7 @@ module RightConf
33
33
  # false:: Otherwise
34
34
  def check_linux
35
35
  report_check("Checking for Mercurial")
36
- installed = Command.execute('hg', '--version').success?
36
+ installed = Command.execute('hg', '--version').success?
37
37
  report_result(installed)
38
38
  installed
39
39
  end
@@ -49,7 +49,7 @@ module RightConf
49
49
  PackageInstaller.install('mercurial', opts)
50
50
  end
51
51
 
52
- # Brew does not have a package for mercurial :(
52
+ # Brew does not have a package for mercurial :(
53
53
  #
54
54
  # === Return
55
55
  # true:: Always return true
@@ -1,4 +1,4 @@
1
- # Copyright (C) 2011 RightScale, Inc, All Rights Reserved Worldwide.
1
+ # Copyright (C) 2011-2012 RightScale, Inc, All Rights Reserved Worldwide.
2
2
  #
3
3
  # THIS PROGRAM IS CONFIDENTIAL AND PROPRIETARY TO RIGHTSCALE
4
4
  # AND CONSTITUTES A VALUABLE TRADE SECRET. Any unauthorized use,
@@ -1,4 +1,4 @@
1
- # Copyright (C) 2011 RightScale, Inc, All Rights Reserved Worldwide.
1
+ # Copyright (C) 2011-2012 RightScale, Inc, All Rights Reserved Worldwide.
2
2
  #
3
3
  # THIS PROGRAM IS CONFIDENTIAL AND PROPRIETARY TO RIGHTSCALE
4
4
  # AND CONSTITUTES A VALUABLE TRADE SECRET. Any unauthorized use,
@@ -32,7 +32,7 @@ module RightConf
32
32
  :gem_version => "Passenger gem version #{PASSENGER_GEM_VERSION} by default",
33
33
  :install_path => 'Path to nginx installation directory, uses /opt/nginx if it ' +
34
34
  'is writable by the current user or ~/nginx otherwise by default'
35
-
35
+
36
36
  # Check that passenger gem is installed and that passenger+nginx is installed
37
37
  #
38
38
  # === Return
@@ -75,7 +75,7 @@ module RightConf
75
75
  end
76
76
  alias :run_darwin :run_linux
77
77
 
78
- # Not implemented on windows
78
+ # Not implemented on windows
79
79
  #
80
80
  # === Raise
81
81
  # (Exception):: Always raise
@@ -141,7 +141,7 @@ module RightConf
141
141
 
142
142
  # Install passenger+nginx
143
143
  #
144
- # === Return
144
+ # === Return
145
145
  # true:: Always return true
146
146
  def install_passenger
147
147
  report_check('Installing passenger+nginx')
@@ -184,7 +184,7 @@ module RightConf
184
184
  def log_path
185
185
  File.join(install_path, 'logs', 'nginx-error.log')
186
186
  end
187
-
187
+
188
188
  # Nginx pid file path
189
189
  def pid_path
190
190
  File.join(install_path, 'logs', 'nginx.pid')
@@ -232,7 +232,7 @@ http {
232
232
  gzip_disable "MSIE [1-6]\.";
233
233
  gzip_proxied any;
234
234
  gzip_types text/plain text/css application/json application/x-javascript text/xml application/xml application/xml+rss text/javascript;
235
-
235
+
236
236
  server {
237
237
  ssi on;
238
238
  listen 3000;
@@ -240,59 +240,59 @@ http {
240
240
  root #{File.join(right_site_src_path, 'public')};
241
241
  passenger_enabled on;
242
242
  rails_env development;
243
-
243
+
244
244
  # POST and AJAX requests need to proxied directly to the library app
245
245
  #####################################################################
246
246
  set $is_library_direct "";
247
-
247
+
248
248
  # provisioning routes to the library
249
249
  if ($request_uri ~ ^/provisioning)
250
250
  {
251
251
  rewrite ^/provisioning(.*)$ /direct_library/provisioning$1 last;
252
252
  }
253
-
253
+
254
254
  if ($request_uri ~ ^/aria_provisioning_callbacks)
255
255
  {
256
256
  rewrite ^/aria_provisioning_callbacks(.*)$ /direct_library/aria_provisioning_callbacks$1 last;
257
257
  }
258
-
259
- # request is for a library related action
258
+
259
+ # request is for a library related action
260
260
  if ($request_uri ~ ^/library/)
261
261
  {
262
262
  set $is_library_direct L;
263
263
  }
264
-
264
+
265
265
  # request is a POST
266
266
  if ($request_method = POST)
267
267
  {
268
- set $is_library_direct "${is_library_direct}P";
268
+ set $is_library_direct "${is_library_direct}P";
269
269
  }
270
-
270
+
271
271
  # request is an AJAX
272
272
  if ($http_x_requested_with = XMLHttpRequest)
273
- {
273
+ {
274
274
  set $is_library_direct "${is_library_direct}A";
275
275
  }
276
-
276
+
277
277
  # library post request should be directly proxied
278
278
  if ($is_library_direct = LP)
279
279
  {
280
280
  rewrite ^/library/(.*)$ /direct_library/$1 last;
281
281
  }
282
-
282
+
283
283
  # library post ajax request should be directly proxied
284
284
  if ($is_library_direct = LPA)
285
285
  {
286
286
  rewrite ^/library/(.*)$ /direct_library/$1 last;
287
287
  }
288
-
288
+
289
289
  # library ajax request should be directly proxied
290
290
  if ($is_library_direct = LA)
291
291
  {
292
292
  rewrite ^/library/(.*)$ /direct_library/$1 last;
293
293
  }
294
294
  #####################################################################
295
-
295
+
296
296
  location /direct_library/
297
297
  {
298
298
  proxy_pass http://library.rightscale.local:3001/;
@@ -300,27 +300,27 @@ http {
300
300
  proxy_set_header X-Embedded on;
301
301
  proxy_set_header X-Core-Site-Domain right-site.rightscale.local;
302
302
  }
303
-
303
+
304
304
  location ~ ^/library/users/(.+)/openid_consume
305
305
  {
306
306
  proxy_pass http://library.rightscale.local:3001/users/$1/openid_consume?$args;
307
307
  proxy_set_header X-Relative-Root library;
308
308
  proxy_set_header X-Embedded on;
309
309
  }
310
-
311
-
310
+
311
+
312
312
  location ~ ^/library/(.*).(css|js)
313
313
  {
314
- # library assets get proxied directly to the library app
314
+ # library assets get proxied directly to the library app
315
315
  proxy_pass http://library.rightscale.local:3001/$1.$2;
316
316
  }
317
-
317
+
318
318
  location /library_images/
319
319
  {
320
320
  proxy_pass http://library.rightscale.local:3001/library_images/;
321
321
  }
322
-
323
-
322
+
323
+
324
324
  location /library_rest/
325
325
  {
326
326
  proxy_pass http://127.0.0.1:3001/;
@@ -30,7 +30,7 @@ module RightConf
30
30
  RVM_VERSION = '1.10.2'
31
31
 
32
32
  # RVM releases URL
33
- RVM_RELEASES_URL = 'https://rvm.beginrescueend.com/releases'
33
+ RVM_RELEASES_URL = 'https://rvm.io/releases'
34
34
 
35
35
  # Let configurator run, it is idempotent
36
36
  #
@@ -1,4 +1,4 @@
1
- # Copyright (C) 2011 RightScale, Inc, All Rights Reserved Worldwide.
1
+ # Copyright (C) 2011-2012 RightScale, Inc, All Rights Reserved Worldwide.
2
2
  #
3
3
  # THIS PROGRAM IS CONFIDENTIAL AND PROPRIETARY TO RIGHTSCALE
4
4
  # AND CONSTITUTES A VALUABLE TRADE SECRET. Any unauthorized use,
@@ -74,7 +74,7 @@ module RightConf
74
74
  # === Return
75
75
  # true:: Always return true
76
76
  def method_missing(meth, *args, &blk)
77
- if blk
77
+ if blk
78
78
  klass = ConfiguratorRegistry[meth]
79
79
  if klass
80
80
  configurator = klass.new(@configurators.size)
@@ -63,14 +63,14 @@ module RightConf
63
63
  # Platform.dispatch(2) { :echo }
64
64
  #
65
65
  # will result in 'echo_linux(2)' being executed in self if running on linux,
66
- # 'echo_windows(2)' if running on Windows and 'echo_darwin(2)' if on
66
+ # 'echo_windows(2)' if running on Windows and 'echo_darwin(2)' if on
67
67
  # Mac OS X. Note that the method is run in the instance of the caller.
68
68
  #
69
69
  # === Parameters
70
70
  # args:: Pass-through arguments
71
71
  #
72
72
  # === Block
73
- # Given block should not take any argument and return a symbol for the
73
+ # Given block should not take any argument and return a symbol for the
74
74
  # method that should be called
75
75
  #
76
76
  # === Return
@@ -82,7 +82,7 @@ module RightConf
82
82
  target = dispatch_candidates(meth).detect do |candidate|
83
83
  binding.respond_to?(candidate)
84
84
  end
85
- raise "No platform dispatch target found in #{binding.class} for " +
85
+ raise "No platform dispatch target found in #{binding.class} for " +
86
86
  "'#{meth.inspect}', tried " + dispatch_candidates(meth).join(', ') unless target
87
87
  binding.__send__(target, *args)
88
88
  end
@@ -35,7 +35,6 @@ module RightConf
35
35
  7 => 'lion' }
36
36
  end
37
37
 
38
-
39
38
  end
40
39
 
41
40
  end
@@ -1,4 +1,4 @@
1
- # Copyright (C) 2011 RightScale, Inc, All Rights Reserved Worldwide.
1
+ # Copyright (C) 2011-2012 RightScale, Inc, All Rights Reserved Worldwide.
2
2
  #
3
3
  # THIS PROGRAM IS CONFIDENTIAL AND PROPRIETARY TO RIGHTSCALE
4
4
  # AND CONSTITUTES A VALUABLE TRADE SECRET. Any unauthorized use,
@@ -1,5 +1,5 @@
1
1
 
2
- # Copyright (C) 2011 RightScale, Inc, All Rights Reserved Worldwide.
2
+ # Copyright (C) 2011-2012 RightScale, Inc, All Rights Reserved Worldwide.
3
3
  #
4
4
  # THIS PROGRAM IS CONFIDENTIAL AND PROPRIETARY TO RIGHTSCALE
5
5
  # AND CONSTITUTES A VALUABLE TRADE SECRET. Any unauthorized use,
data/lib/rconf/profile.rb CHANGED
@@ -1,4 +1,4 @@
1
- # Copyright (C) 2011 RightScale, Inc, All Rights Reserved Worldwide.
1
+ # Copyright (C) 2011-2012 RightScale, Inc, All Rights Reserved Worldwide.
2
2
  #
3
3
  # THIS PROGRAM IS CONFIDENTIAL AND PROPRIETARY TO RIGHTSCALE
4
4
  # AND CONSTITUTES A VALUABLE TRADE SECRET. Any unauthorized use,
@@ -56,7 +56,7 @@ module RightConf
56
56
 
57
57
  # Delete profile from disk
58
58
  #
59
- # === Return
59
+ # === Return
60
60
  # true:: Always return true
61
61
  def reset
62
62
  File.delete(profile_path) if File.file?(profile_path)
@@ -90,7 +90,7 @@ module RightConf
90
90
  res = @force_check || false
91
91
  end
92
92
 
93
- # Bypass checks and always reconfigure
93
+ # Bypass checks and always reconfigure
94
94
  #
95
95
  # === Return
96
96
  # true:: Always return true
@@ -1,4 +1,4 @@
1
- # Copyright (C) 2011 RightScale, Inc, All Rights Reserved Worldwide.
1
+ # Copyright (C) 2011-2012 RightScale, Inc, All Rights Reserved Worldwide.
2
2
  #
3
3
  # THIS PROGRAM IS CONFIDENTIAL AND PROPRIETARY TO RIGHTSCALE
4
4
  # AND CONSTITUTES A VALUABLE TRADE SECRET. Any unauthorized use,
@@ -21,7 +21,7 @@ module RightConf
21
21
  # base(Object):: Object including this module
22
22
  def self.included(base)
23
23
  @@reporters ||= []
24
- [ :report_section, :report, :report_check, :report_success,
24
+ [ :report_section, :report, :report_check, :report_success,
25
25
  :report_failure, :report_error, :report_fatal, :report_result ].each do |meth|
26
26
  meta_def(meth) { |*args| @@reporters.each { |r| r.__send__(meth, *args) } }
27
27
  end
@@ -1,4 +1,4 @@
1
- # Copyright (C) 2011 RightScale, Inc, All Rights Reserved Worldwide.
1
+ # Copyright (C) 2011-2012 RightScale, Inc, All Rights Reserved Worldwide.
2
2
  #
3
3
  # THIS PROGRAM IS CONFIDENTIAL AND PROPRIETARY TO RIGHTSCALE
4
4
  # AND CONSTITUTES A VALUABLE TRADE SECRET. Any unauthorized use,
@@ -25,7 +25,7 @@ module RightConf
25
25
  # - report_failure:: Report check failure
26
26
  # - report_result:: Report check success or failure depending on argument
27
27
  #
28
- # Alternatively reporters can override any associated formatting method
28
+ # Alternatively reporters can override any associated formatting method
29
29
  # (:format_message, :format_section, etc.) and/or the :write method used to
30
30
  # write the progress report.
31
31
  class BaseReporter
@@ -1,4 +1,4 @@
1
- # Copyright (C) 2011 RightScale, Inc, All Rights Reserved Worldwide.
1
+ # Copyright (C) 2011-2012 RightScale, Inc, All Rights Reserved Worldwide.
2
2
  #
3
3
  # THIS PROGRAM IS CONFIDENTIAL AND PROPRIETARY TO RIGHTSCALE
4
4
  # AND CONSTITUTES A VALUABLE TRADE SECRET. Any unauthorized use,
@@ -1,4 +1,4 @@
1
- # Copyright (C) 2011 RightScale, Inc, All Rights Reserved Worldwide.
1
+ # Copyright (C) 2011-2012 RightScale, Inc, All Rights Reserved Worldwide.
2
2
  #
3
3
  # THIS PROGRAM IS CONFIDENTIAL AND PROPRIETARY TO RIGHTSCALE
4
4
  # AND CONSTITUTES A VALUABLE TRADE SECRET. Any unauthorized use,
@@ -1,4 +1,4 @@
1
- # Copyright (C) 2011 RightScale, Inc, All Rights Reserved Worldwide.
1
+ # Copyright (C) 2011-2012 RightScale, Inc, All Rights Reserved Worldwide.
2
2
  #
3
3
  # THIS PROGRAM IS CONFIDENTIAL AND PROPRIETARY TO RIGHTSCALE
4
4
  # AND CONSTITUTES A VALUABLE TRADE SECRET. Any unauthorized use,
@@ -46,9 +46,9 @@ class String
46
46
  def purple; colorize("\e[35m"); end
47
47
  def cyan; colorize("\e[36m"); end
48
48
  def white; colorize("\e[37m"); end
49
- def colorize(color_code)
49
+ def colorize(color_code)
50
50
  # Doesn't work with the Windows prompt...
51
- (RightConf::Platform.windows? || !$stdout.isatty) ? to_s : "#{color_code}#{to_s}\e[0m"
51
+ (RightConf::Platform.windows? || !$stdout.isatty) ? to_s : "#{color_code}#{to_s}\e[0m"
52
52
  end
53
53
  end
54
54
 
@@ -1,4 +1,4 @@
1
- # Copyright (C) 2011 RightScale, Inc, All Rights Reserved Worldwide.
1
+ # Copyright (C) 2011-2012 RightScale, Inc, All Rights Reserved Worldwide.
2
2
  #
3
3
  # THIS PROGRAM IS CONFIDENTIAL AND PROPRIETARY TO RIGHTSCALE
4
4
  # AND CONSTITUTES A VALUABLE TRADE SECRET. Any unauthorized use,
@@ -20,7 +20,7 @@ module RightConf
20
20
  # === Return
21
21
  # true:: Always return true
22
22
  def self.check_and_install
23
- installed = Command.execute('brew', '--version').success?
23
+ installed = Command.execute('brew', '--version').success?
24
24
  return true if installed
25
25
  new.install
26
26
  end
@@ -66,7 +66,7 @@ module RightConf
66
66
  report("The following directories had their group set to staff: #{chgrps.join(', ')}")
67
67
  end
68
68
  unless ENV['PATH'].split(':').include? '/usr/local/bin'
69
- report('/usr/local/bin is not in your PATH.')
69
+ report('/usr/local/bin is not in your PATH.')
70
70
  end
71
71
  end
72
72
 
@@ -1,4 +1,4 @@
1
- # Copyright (C) 2011 RightScale, Inc, All Rights Reserved Worldwide.
1
+ # Copyright (C) 2011-2012 RightScale, Inc, All Rights Reserved Worldwide.
2
2
  #
3
3
  # THIS PROGRAM IS CONFIDENTIAL AND PROPRIETARY TO RIGHTSCALE
4
4
  # AND CONSTITUTES A VALUABLE TRADE SECRET. Any unauthorized use,
@@ -54,7 +54,7 @@ module RightConf
54
54
  updated = false
55
55
  if bashrc_path
56
56
  content = IO.read(bashrc_path)
57
- unless content.include?(code)
57
+ unless content.include?(code)
58
58
  i = dependencies.inject(nil) do |m, d|
59
59
  index = content.index(/^\s*#{d}=/)
60
60
  m = if m.nil?
@@ -1,4 +1,4 @@
1
- # Copyright (C) 2011 RightScale, Inc, All Rights Reserved Worldwide.
1
+ # Copyright (C) 2011-2012 RightScale, Inc, All Rights Reserved Worldwide.
2
2
  #
3
3
  # THIS PROGRAM IS CONFIDENTIAL AND PROPRIETARY TO RIGHTSCALE
4
4
  # AND CONSTITUTES A VALUABLE TRADE SECRET. Any unauthorized use,
@@ -27,7 +27,7 @@ module RightConf
27
27
  # === Block
28
28
  # If a block is given it will get called with no argument prior to the
29
29
  # packages being installed. If the block returns true then installation
30
- # will proceed otherwise it won't. Use the block to check whether
30
+ # will proceed otherwise it won't. Use the block to check whether
31
31
  # installation is required or whether the packages are already installed.
32
32
  # If no block is given then installation will always occur.
33
33
  #
@@ -58,8 +58,8 @@ module RightConf
58
58
  # === Return
59
59
  # true:: Always return true
60
60
  def install_linux_ubuntu(packages, opts)
61
- return if packages.nil?
62
- args = packages.dup
61
+ return if packages.nil?
62
+ args = packages.dup
63
63
  args << opts if opts
64
64
  Command.sudo('apt-get', 'install', '-y', *args)
65
65
  end
@@ -71,7 +71,7 @@ module RightConf
71
71
  # true:: Always return true
72
72
  def install_linux_centos(packages, opts)
73
73
  return if packages.nil?
74
- args = packages.dup
74
+ args = packages.dup
75
75
  args << opts if opts
76
76
  Command.sudo('yum', 'install', '-y', *args)
77
77
  end
@@ -92,7 +92,7 @@ module RightConf
92
92
  Command.sudo('brew', 'link', p) if installed
93
93
  end
94
94
  end
95
-
95
+
96
96
  # Install Windows software
97
97
  #
98
98
  # === Return
data/lib/rconf/trollop.rb CHANGED
@@ -12,7 +12,7 @@ VERSION = "1.16.2"
12
12
  ## Thrown by Parser in the event of a commandline error. Not needed if
13
13
  ## you're using the Trollop::options entry.
14
14
  class CommandlineError < StandardError; end
15
-
15
+
16
16
  ## Thrown by Parser if the user passes in '-h' or '--help'. Handled
17
17
  ## automatically by Trollop#options.
18
18
  class HelpNeeded < StandardError; end
@@ -250,7 +250,7 @@ class Parser
250
250
  syms.each { |sym| raise ArgumentError, "unknown option '#{sym}'" unless @specs[sym] }
251
251
  @constraints << [:depends, syms]
252
252
  end
253
-
253
+
254
254
  ## Marks two (or more!) options as conflicting.
255
255
  def conflicts *syms
256
256
  syms.each { |sym| raise ArgumentError, "unknown option '#{sym}'" unless @specs[sym] }
@@ -426,7 +426,7 @@ class Parser
426
426
  # call this unless the cursor's at the beginning of a line.
427
427
 
428
428
  left = {}
429
- @specs.each do |name, spec|
429
+ @specs.each do |name, spec|
430
430
  left[name] = "--#{spec[:long]}" +
431
431
  (spec[:short] && spec[:short] != :none ? ", -#{spec[:short]}" : "") +
432
432
  case spec[:type]
@@ -647,7 +647,7 @@ private
647
647
  start = 0
648
648
  ret = []
649
649
  until start > str.length
650
- nextt =
650
+ nextt =
651
651
  if start + width >= str.length
652
652
  str.length
653
653
  else
data/lib/rconf/version.rb CHANGED
@@ -13,7 +13,7 @@ module RightConf
13
13
 
14
14
  MAJOR = 0
15
15
  MINOR = 9
16
- BUILD = 18
16
+ BUILD = 19
17
17
 
18
18
  VERSION = [MAJOR, MINOR, BUILD].map(&:to_s).join('.')
19
19
 
@@ -23,7 +23,7 @@ the content of an application configuration file and installs and/or
23
23
  configures the required tools for running or developing the corresponding
24
24
  application. rconf can easily be extended to configure new tools and makes
25
25
  it easy to support multiple platforms.
26
- Consult the README.rdoc file for information on how to write rconf
26
+ Consult the README.rdoc file for information on how to write rconf
27
27
  configuration files.
28
28
  EOS
29
29
 
data/lib/rconf.rb CHANGED
@@ -1,4 +1,4 @@
1
- # Copyright (C) 2011 RightScale, Inc, All Rights Reserved Worldwide.
1
+ # Copyright (C) 2011-2012 RightScale, Inc, All Rights Reserved Worldwide.
2
2
  #
3
3
  # THIS PROGRAM IS CONFIDENTIAL AND PROPRIETARY TO RIGHTSCALE
4
4
  # AND CONSTITUTES A VALUABLE TRADE SECRET. Any unauthorized use,
data/rconf.rconf CHANGED
@@ -1,11 +1,11 @@
1
1
  # Configuration settings for RightSite
2
2
  ruby do
3
3
  version 'ruby-1.9.2-p290'
4
- rubygems '1.3.7'
4
+ rubygems '1.8.11'
5
5
  gemset 'rconf'
6
6
  end
7
7
  bundler do
8
- version '1.0.10'
8
+ version '1.1.3'
9
9
  end
10
10
 
11
11
 
data/spec/command_spec.rb CHANGED
@@ -27,12 +27,12 @@ describe RightConf::Command do
27
27
  end
28
28
 
29
29
  it 'should report fatal errors when required to' do
30
- flexmock(RightConf::Platform.instance).should_receive(:dispatch).with('test', nil, '42',
30
+ flexmock(RightConf::Platform.instance).should_receive(:dispatch).with('test', nil, '42',
31
31
  Proc).once.and_return(failed_result)
32
32
  flexmock(RightConf::Command.instance).should_receive(:report_fatal).once.with("FAILED: 'test 42' returned\n1")
33
33
  RightConf::Command.execute('test', '42', :abort_on_failure => 'FAILED')
34
34
  end
35
-
35
+
36
36
  it 'should setup environment variables' do
37
37
  ENV['THIS_IS_A_TEST_ENV_VALUE'].should be_nil
38
38
  res = RightConf::Command.execute('env', :env => { 'THIS_IS_A_TEST_ENV_VALUE' => '42' })
@@ -42,4 +42,3 @@ describe RightConf::Command do
42
42
 
43
43
  end
44
44
 
45
-
@@ -1,4 +1,4 @@
1
- # Copyright (C) 2011 RightScale, Inc, All Rights Reserved Worldwide.
1
+ # Copyright (C) 2011-2012 RightScale, Inc, All Rights Reserved Worldwide.
2
2
  #
3
3
  # THIS PROGRAM IS CONFIDENTIAL AND PROPRIETARY TO RIGHTSCALE
4
4
  # AND CONSTITUTES A VALUABLE TRADE SECRET. Any unauthorized use,
@@ -37,7 +37,7 @@ describe RightConf::Configurator do
37
37
  before(:each) do
38
38
  @configurator = TestConfigurator.new(1)
39
39
  end
40
-
40
+
41
41
  it 'should register configurators' do
42
42
  RightConf::ConfiguratorRegistry[:test].should == TestConfigurator
43
43
  RightConf::ConfiguratorRegistry[:another].should == AnotherConfigurator
@@ -88,5 +88,3 @@ describe RightConf::Configurator do
88
88
 
89
89
  end
90
90
 
91
-
92
-
@@ -1,4 +1,4 @@
1
- # Copyright (C) 2011 RightScale, Inc, All Rights Reserved Worldwide.
1
+ # Copyright (C) 2011-2012 RightScale, Inc, All Rights Reserved Worldwide.
2
2
  #
3
3
  # THIS PROGRAM IS CONFIDENTIAL AND PROPRIETARY TO RIGHTSCALE
4
4
  # AND CONSTITUTES A VALUABLE TRADE SECRET. Any unauthorized use,
@@ -1,4 +1,4 @@
1
- # Copyright (C) 2011 RightScale, Inc, All Rights Reserved Worldwide.
1
+ # Copyright (C) 2011-2012 RightScale, Inc, All Rights Reserved Worldwide.
2
2
  #
3
3
  # THIS PROGRAM IS CONFIDENTIAL AND PROPRIETARY TO RIGHTSCALE
4
4
  # AND CONSTITUTES A VALUABLE TRADE SECRET. Any unauthorized use,
@@ -33,7 +33,7 @@ describe RightConf::BundlerConfigurator do
33
33
 
34
34
  it 'should install bundler if needed' do
35
35
  should_execute_in_ruby('bundle', '--version').once.and_return(success_result('1'))
36
- should_execute_in_ruby('bundle','_0_', 'install',
36
+ should_execute_in_ruby('bundle','_0_', 'install',
37
37
  {:abort_on_failure=>"Failed to install gems"}).once.and_return(success_result)
38
38
  should_execute_in_ruby('gem', 'uninstall', 'bundler', '-a', '-x').once.and_return(success_result)
39
39
  should_execute_in_ruby('gem', 'install', 'bundler', '-v', '0', '--no-ri', '--no-rdoc',
@@ -41,5 +41,4 @@ describe RightConf::BundlerConfigurator do
41
41
  @configurator.run_linux
42
42
  end
43
43
 
44
-
45
44
  end
@@ -1,4 +1,4 @@
1
- # Copyright (C) 2011 RightScale, Inc, All Rights Reserved Worldwide.
1
+ # Copyright (C) 2011-2012 RightScale, Inc, All Rights Reserved Worldwide.
2
2
  #
3
3
  # THIS PROGRAM IS CONFIDENTIAL AND PROPRIETARY TO RIGHTSCALE
4
4
  # AND CONSTITUTES A VALUABLE TRADE SECRET. Any unauthorized use,
@@ -52,4 +52,3 @@ describe RightConf::GitRepoConfigurator do
52
52
 
53
53
  end
54
54
 
55
-
@@ -1,4 +1,4 @@
1
- # Copyright (C) 2011 RightScale, Inc, All Rights Reserved Worldwide.
1
+ # Copyright (C) 2011-2012 RightScale, Inc, All Rights Reserved Worldwide.
2
2
  #
3
3
  # THIS PROGRAM IS CONFIDENTIAL AND PROPRIETARY TO RIGHTSCALE
4
4
  # AND CONSTITUTES A VALUABLE TRADE SECRET. Any unauthorized use,
@@ -37,4 +37,4 @@ describe RightConf::PackagesConfigurator do
37
37
  end
38
38
 
39
39
  end
40
-
40
+
@@ -1,4 +1,4 @@
1
- # Copyright (C) 2011 RightScale, Inc, All Rights Reserved Worldwide.
1
+ # Copyright (C) 2011-2012 RightScale, Inc, All Rights Reserved Worldwide.
2
2
  #
3
3
  # THIS PROGRAM IS CONFIDENTIAL AND PROPRIETARY TO RIGHTSCALE
4
4
  # AND CONSTITUTES A VALUABLE TRADE SECRET. Any unauthorized use,
@@ -36,7 +36,7 @@ describe RightConf::RubyConfigurator do
36
36
  it 'should install rvm if needed' do
37
37
  rvm_tar = "rvm-#{RVM_VERSION}.tar.gz"
38
38
  should_execute('rvm', '--version').once.and_return(success_result("rvm"))
39
- should_execute('curl', '-O', '-f', "https://rvm.beginrescueend.com/releases/#{rvm_tar}",
39
+ should_execute('curl', '-O', '-f', "https://rvm.io/releases/#{rvm_tar}",
40
40
  {:abort_on_failure=>"Failed to download rvm #{RVM_VERSION}"}).once.and_return(success_result)
41
41
  should_execute('tar', 'zxf', rvm_tar,
42
42
  {:abort_on_failure=>"Failed to extract rvm tgz from #{File.expand_path(File.join(File.dirname(__FILE__), '..', '..', "rvm-#{RVM_VERSION}.tar.gz"))}"}).once.and_return(success_result)
@@ -1,4 +1,4 @@
1
- # Copyright (C) 2011 RightScale, Inc, All Rights Reserved Worldwide.
1
+ # Copyright (C) 2011-2012 RightScale, Inc, All Rights Reserved Worldwide.
2
2
  #
3
3
  # THIS PROGRAM IS CONFIDENTIAL AND PROPRIETARY TO RIGHTSCALE
4
4
  # AND CONSTITUTES A VALUABLE TRADE SECRET. Any unauthorized use,
@@ -55,6 +55,5 @@ describe RightConf::Language do
55
55
  { :version => '3' }
56
56
  end
57
57
 
58
-
59
58
  end
60
59
 
@@ -1,4 +1,4 @@
1
- # Copyright (C) 2011 RightScale, Inc, All Rights Reserved Worldwide.
1
+ # Copyright (C) 2011-2012 RightScale, Inc, All Rights Reserved Worldwide.
2
2
  #
3
3
  # THIS PROGRAM IS CONFIDENTIAL AND PROPRIETARY TO RIGHTSCALE
4
4
  # AND CONSTITUTES A VALUABLE TRADE SECRET. Any unauthorized use,
@@ -82,3 +82,4 @@ describe RightConf::BaseReporter do
82
82
  end
83
83
 
84
84
  end
85
+
@@ -1,4 +1,4 @@
1
- # Copyright (C) 2011 RightScale, Inc, All Rights Reserved Worldwide.
1
+ # Copyright (C) 2011-2012 RightScale, Inc, All Rights Reserved Worldwide.
2
2
  #
3
3
  # THIS PROGRAM IS CONFIDENTIAL AND PROPRIETARY TO RIGHTSCALE
4
4
  # AND CONSTITUTES A VALUABLE TRADE SECRET. Any unauthorized use,
@@ -28,4 +28,3 @@ describe RightConf::FileReporter do
28
28
 
29
29
  end
30
30
 
31
-
@@ -1,4 +1,4 @@
1
- # Copyright (C) 2011 RightScale, Inc, All Rights Reserved Worldwide.
1
+ # Copyright (C) 2011-2012 RightScale, Inc, All Rights Reserved Worldwide.
2
2
  #
3
3
  # THIS PROGRAM IS CONFIDENTIAL AND PROPRIETARY TO RIGHTSCALE
4
4
  # AND CONSTITUTES A VALUABLE TRADE SECRET. Any unauthorized use,
@@ -1,4 +1,4 @@
1
- # Copyright (C) 2011 RightScale, Inc, All Rights Reserved Worldwide.
1
+ # Copyright (C) 2011-2012 RightScale, Inc, All Rights Reserved Worldwide.
2
2
  #
3
3
  # THIS PROGRAM IS CONFIDENTIAL AND PROPRIETARY TO RIGHTSCALE
4
4
  # AND CONSTITUTES A VALUABLE TRADE SECRET. Any unauthorized use,
data/spec/spec_helper.rb CHANGED
@@ -1,4 +1,4 @@
1
- # Copyright (C) 2011 RightScale, Inc, All Rights Reserved Worldwide.
1
+ # Copyright (C) 2011-2012 RightScale, Inc, All Rights Reserved Worldwide.
2
2
  #
3
3
  # THIS PROGRAM IS CONFIDENTIAL AND PROPRIETARY TO RIGHTSCALE
4
4
  # AND CONSTITUTES A VALUABLE TRADE SECRET. Any unauthorized use,
@@ -15,7 +15,7 @@ require "flexmock"
15
15
 
16
16
  require File.join(File.dirname(__FILE__), '..', 'lib', 'rconf')
17
17
 
18
- RSpec.configure do |c|
18
+ RSpec.configure do |c|
19
19
  c.mock_with(:flexmock)
20
20
  end
21
21
 
@@ -35,7 +35,7 @@ def create_configurator(code, opts={})
35
35
  end
36
36
  flexmock(configurator).should_receive(:report_fatal).and_return { |*args| raise args.join(' ') }
37
37
  flexmock(File).should_receive(:exist?).with(File.join(ENV['HOME'], '.rconf')).and_return(false)
38
- flexmock(RightConf::EnvironmentUpdater).should_receive(:update) unless opts[:enable_updater]
38
+ flexmock(RightConf::EnvironmentUpdater).should_receive(:update) unless opts[:enable_updater]
39
39
  configurator
40
40
  end
41
41
 
@@ -1,4 +1,4 @@
1
- # Copyright (C) 2011 RightScale, Inc, All Rights Reserved Worldwide.
1
+ # Copyright (C) 2011-2012 RightScale, Inc, All Rights Reserved Worldwide.
2
2
  #
3
3
  # THIS PROGRAM IS CONFIDENTIAL AND PROPRIETARY TO RIGHTSCALE
4
4
  # AND CONSTITUTES A VALUABLE TRADE SECRET. Any unauthorized use,
@@ -48,4 +48,4 @@ describe RightConf::PackageInstaller do
48
48
  end
49
49
 
50
50
  end
51
-
51
+
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rconf
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.9.18
4
+ version: 0.9.19
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,11 +9,11 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2012-03-12 00:00:00.000000000Z
12
+ date: 2012-06-04 00:00:00.000000000Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: rspec
16
- requirement: &70325338382960 !ruby/object:Gem::Requirement
16
+ requirement: &70217314208600 !ruby/object:Gem::Requirement
17
17
  none: false
18
18
  requirements:
19
19
  - - ~>
@@ -21,10 +21,10 @@ dependencies:
21
21
  version: '2.5'
22
22
  type: :development
23
23
  prerelease: false
24
- version_requirements: *70325338382960
24
+ version_requirements: *70217314208600
25
25
  - !ruby/object:Gem::Dependency
26
26
  name: flexmock
27
- requirement: &70325338382440 !ruby/object:Gem::Requirement
27
+ requirement: &70217314204080 !ruby/object:Gem::Requirement
28
28
  none: false
29
29
  requirements:
30
30
  - - ~>
@@ -32,13 +32,22 @@ dependencies:
32
32
  version: '0.9'
33
33
  type: :development
34
34
  prerelease: false
35
- version_requirements: *70325338382440
36
- description: ! "rconf configures the environment for a given application. rconf reads\nthe
37
- content of an application configuration file and installs and/or\nconfigures the
38
- required tools for running or developing the corresponding\napplication. rconf can
39
- easily be extended to configure new tools and makes\nit easy to support multiple
40
- platforms.\nConsult the README.rdoc file for information on how to write rconf \nconfiguration
41
- files.\n"
35
+ version_requirements: *70217314204080
36
+ description: ! 'rconf configures the environment for a given application. rconf reads
37
+
38
+ the content of an application configuration file and installs and/or
39
+
40
+ configures the required tools for running or developing the corresponding
41
+
42
+ application. rconf can easily be extended to configure new tools and makes
43
+
44
+ it easy to support multiple platforms.
45
+
46
+ Consult the README.rdoc file for information on how to write rconf
47
+
48
+ configuration files.
49
+
50
+ '
42
51
  email:
43
52
  - raphael@rightscale.com
44
53
  executables:
@@ -121,7 +130,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
121
130
  version: '0'
122
131
  requirements: []
123
132
  rubyforge_project: rconf
124
- rubygems_version: 1.8.15
133
+ rubygems_version: 1.8.11
125
134
  signing_key:
126
135
  specification_version: 3
127
136
  summary: Cross platform environment configuration