rconf 1.0.1 → 1.0.3

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.
data/bin/rconf CHANGED
@@ -64,18 +64,20 @@ where [options] are:
64
64
  end
65
65
  end
66
66
  Command.set_verbose if opts[:verbose]
67
- if opts[:configurators]
68
- new.list_configurators
69
- elsif opts[:platform]
70
- new.show_platform
71
- elsif opts[:overrides]
72
- new.show_overrides
73
- elsif opts[:update]
74
- new.update
75
- elsif opts[:remove]
76
- new.remove
77
- else
78
- new.configure(opts)
67
+ Dir.chdir(File.dirname(opts[:config])) do
68
+ if opts[:configurators]
69
+ new.list_configurators
70
+ elsif opts[:platform]
71
+ new.show_platform
72
+ elsif opts[:overrides]
73
+ new.show_overrides
74
+ elsif opts[:update]
75
+ new.update
76
+ elsif opts[:remove]
77
+ new.remove
78
+ else
79
+ new.configure(opts)
80
+ end
79
81
  end
80
82
  end
81
83
 
@@ -107,18 +107,10 @@ module RightConf
107
107
  # === Return
108
108
  # true:: Always return true
109
109
  def check_ruby
110
- exists = File.exist?('.ruby-version')
111
- if exists
112
- contents = IO.read('.ruby-version')
113
- right_ruby = !!(contents =~ /#{ruby_version}/)
114
- end
115
-
116
- unless exists && right_ruby
117
- unless Command.execute('rbenv', 'local', ruby_version).success?
118
- report_check("Installing ruby #{ruby} (this will take a while, please be patient)")
119
- Platform.dispatch(ruby_version) { :install_ruby }
120
- Command.execute('rbenv', 'local', ruby_version)
121
- end
110
+ unless Command.execute('rbenv', 'local', ruby_version).success?
111
+ report_check("Installing ruby #{ruby_version} (this will take a while, please be patient)")
112
+ Platform.dispatch(ruby_version) { :install_ruby }
113
+ Command.execute('rbenv', 'local', ruby_version)
122
114
  end
123
115
  true
124
116
  end
@@ -148,6 +140,7 @@ module RightConf
148
140
  # === Return
149
141
  # true:: Always return true
150
142
  def install_ruby_darwin(ruby)
143
+ Platform.dispatch(ruby) { :install_ruby_prerequisites }
151
144
  c_version = `system_profiler SPDeveloperToolsDataType -xml | xpath "//*[text()='_items']/following-sibling::array/dict/child::key[text()='spdevtools_version']/following-sibling::string/text()" 2> /dev/null`
152
145
  env = {}
153
146
  gcc42 = ['/usr/bin/gcc-4.2', '/usr/local/bin/gcc-4.2'].detect { |p| File.executable?(p) }
@@ -86,11 +86,16 @@ module RightConf
86
86
  def install_darwin(packages, opts)
87
87
  return if packages.nil?
88
88
  BrewInstaller.check_and_install
89
+ res = Command.execute('brew', 'list')
90
+ all_installed = res.success? ? res.output.gsub("\t", "\n") : ''
89
91
  packages.each do |p|
90
92
  args = [ p ]
91
93
  args << opts if opts
94
+ formula = p.split('/').last.split('.rb').first
95
+ already_installed = all_installed =~ /^#{formula}$/
96
+ next if already_installed
92
97
  res = Command.execute('brew', 'install', *args)
93
- installed = res.success? && res.output !~ /Formula already installed/
98
+ installed = res.success? && res.output !~ /already installed/
94
99
  Command.sudo('brew', 'link', p) if installed
95
100
  end
96
101
  end
data/lib/rconf/version.rb CHANGED
@@ -13,7 +13,7 @@ module RightConf
13
13
 
14
14
  MAJOR = 1
15
15
  MINOR = 0
16
- BUILD = 1
16
+ BUILD = 3
17
17
 
18
18
  VERSION = [MAJOR, MINOR, BUILD].map(&:to_s).join('.')
19
19
 
@@ -33,8 +33,7 @@ describe RightConf::RubyConfigurator do
33
33
  context "with rbenv installed" do
34
34
  before(:each) do
35
35
  should_execute('rvm').once.and_return(failure_result)
36
- flexmock(File).should_receive(:exist?).with('.ruby-version').and_return(true)
37
- flexmock(IO).should_receive(:read).with('.ruby-version').and_return("42")
36
+ should_execute('rbenv', 'local', '42').and_return(success_result)
38
37
  end
39
38
 
40
39
  it 'should succeed' do
@@ -53,7 +52,6 @@ describe RightConf::RubyConfigurator do
53
52
  before(:each) do
54
53
  should_execute('rvm').once.and_return(failure_result)
55
54
  should_execute('rbenv').once.and_return(failure_result)
56
- flexmock(File).should_receive(:exist?).with('.ruby-version').and_return(false)
57
55
  flexmock(File).should_receive(:exist?).with(File.join(ENV['HOME'], '.rbenv', 'bin', 'rbenv')).and_return(false)
58
56
  end
59
57
 
@@ -40,6 +40,7 @@ describe RightConf::PackageInstaller do
40
40
  it 'should install packages on Darwin' do
41
41
  flexmock(RightConf::Platform.instance).should_receive(:family).and_return(:darwin)
42
42
  flexmock(RightConf::BrewInstaller).should_receive(:check_and_install).once
43
+ should_execute('brew', 'list').once.and_return(success_result(''))
43
44
  should_execute('brew', 'install', 'mac1').once.and_return(success_result)
44
45
  should_sudo('brew', 'link', 'mac1').once.and_return(success_result)
45
46
  should_execute('brew', 'install', 'mac2').once.and_return(success_result)
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: 1.0.1
4
+ version: 1.0.3
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors: