rconf 0.5.0
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/README.rdoc +56 -0
- data/Rakefile +63 -0
- data/bin/rconf +102 -0
- data/examples/sample.rc +9 -0
- data/lib/rconf.rb +24 -0
- data/lib/rconf/command.rb +112 -0
- data/lib/rconf/configurator.rb +179 -0
- data/lib/rconf/configurator_registry.rb +63 -0
- data/lib/rconf/configurators/bundler_configurator.rb +85 -0
- data/lib/rconf/configurators/ruby_configurator.rb +151 -0
- data/lib/rconf/language.rb +91 -0
- data/lib/rconf/platform.rb +114 -0
- data/lib/rconf/platforms/darwin.rb +27 -0
- data/lib/rconf/platforms/linux.rb +40 -0
- data/lib/rconf/platforms/windows.rb +40 -0
- data/lib/rconf/progress_reporter.rb +72 -0
- data/lib/rconf/progress_reporters/base_reporter.rb +156 -0
- data/lib/rconf/progress_reporters/file_reporter.rb +58 -0
- data/lib/rconf/progress_reporters/stdout_reporter.rb +83 -0
- data/lib/rconf/ruby_extensions.rb +56 -0
- data/lib/rconf/trollop.rb +782 -0
- data/lib/rconf/version.rb +30 -0
- data/rconf.gemspec +24 -0
- data/spec/command_spec.rb +38 -0
- data/spec/configurator_spec.rb +64 -0
- data/spec/configurators/bundler_configurator_spec.rb +51 -0
- data/spec/configurators/ruby_configurator_spec.rb +60 -0
- data/spec/language_spec.rb +60 -0
- data/spec/platform_spec.rb +37 -0
- data/spec/progress_reporters/base_reporter_spec.rb +84 -0
- data/spec/progress_reporters/file_reporter_spec.rb +31 -0
- data/spec/progress_reporters/stdout_reporter_spec.rb +23 -0
- data/spec/ruby_extensions_spec.rb +35 -0
- data/spec/spec_helper.rb +21 -0
- metadata +129 -0
@@ -0,0 +1,31 @@
|
|
1
|
+
# Copyright (C) 2011 RightScale, Inc, All Rights Reserved Worldwide.
|
2
|
+
#
|
3
|
+
# THIS PROGRAM IS CONFIDENTIAL AND PROPRIETARY TO RIGHTSCALE
|
4
|
+
# AND CONSTITUTES A VALUABLE TRADE SECRET. Any unauthorized use,
|
5
|
+
# reproduction, modification, or disclosure of this program is
|
6
|
+
# strictly prohibited. Any use of this program by an authorized
|
7
|
+
# licensee is strictly subject to the terms and conditions,
|
8
|
+
# including confidentiality obligations, set forth in the applicable
|
9
|
+
# License Agreement between RightScale.com, Inc. and
|
10
|
+
# the licensee
|
11
|
+
|
12
|
+
require File.expand_path(File.join(File.dirname(__FILE__), '..', 'spec_helper'))
|
13
|
+
|
14
|
+
describe RightConf::FileReporter do
|
15
|
+
|
16
|
+
it 'should write to given file' do
|
17
|
+
file = File.join(File.dirname(__FILE__), '__output')
|
18
|
+
begin
|
19
|
+
File.delete(file) if File.exist?(file)
|
20
|
+
reporter = RightConf::FileReporter.new(file)
|
21
|
+
reporter.write("42\n43\n44")
|
22
|
+
res = IO.read(file)
|
23
|
+
res.count("\n").should == 3
|
24
|
+
ensure
|
25
|
+
File.delete(file) rescue nil
|
26
|
+
end
|
27
|
+
end
|
28
|
+
|
29
|
+
end
|
30
|
+
|
31
|
+
|
@@ -0,0 +1,23 @@
|
|
1
|
+
# Copyright (C) 2011 RightScale, Inc, All Rights Reserved Worldwide.
|
2
|
+
#
|
3
|
+
# THIS PROGRAM IS CONFIDENTIAL AND PROPRIETARY TO RIGHTSCALE
|
4
|
+
# AND CONSTITUTES A VALUABLE TRADE SECRET. Any unauthorized use,
|
5
|
+
# reproduction, modification, or disclosure of this program is
|
6
|
+
# strictly prohibited. Any use of this program by an authorized
|
7
|
+
# licensee is strictly subject to the terms and conditions,
|
8
|
+
# including confidentiality obligations, set forth in the applicable
|
9
|
+
# License Agreement between RightScale.com, Inc. and
|
10
|
+
# the licensee
|
11
|
+
|
12
|
+
require File.expand_path(File.join(File.dirname(__FILE__), '..', 'spec_helper'))
|
13
|
+
|
14
|
+
describe RightConf::StdoutReporter do
|
15
|
+
|
16
|
+
it 'should write to STDOUT' do
|
17
|
+
reporter = RightConf::StdoutReporter.new
|
18
|
+
flexmock($stdout).should_receive(:print).with("42\n")
|
19
|
+
reporter.report('42')
|
20
|
+
end
|
21
|
+
|
22
|
+
end
|
23
|
+
|
@@ -0,0 +1,35 @@
|
|
1
|
+
# Copyright (C) 2011 RightScale, Inc, All Rights Reserved Worldwide.
|
2
|
+
#
|
3
|
+
# THIS PROGRAM IS CONFIDENTIAL AND PROPRIETARY TO RIGHTSCALE
|
4
|
+
# AND CONSTITUTES A VALUABLE TRADE SECRET. Any unauthorized use,
|
5
|
+
# reproduction, modification, or disclosure of this program is
|
6
|
+
# strictly prohibited. Any use of this program by an authorized
|
7
|
+
# licensee is strictly subject to the terms and conditions,
|
8
|
+
# including confidentiality obligations, set forth in the applicable
|
9
|
+
# License Agreement between RightScale.com, Inc. and
|
10
|
+
# the licensee
|
11
|
+
|
12
|
+
require File.join(File.dirname(__FILE__), 'spec_helper')
|
13
|
+
|
14
|
+
describe RightConf::Singleton do
|
15
|
+
|
16
|
+
class Testy
|
17
|
+
include RightConf::Singleton
|
18
|
+
def testosterone
|
19
|
+
42
|
20
|
+
end
|
21
|
+
def call_block(*args, &blk)
|
22
|
+
blk.call
|
23
|
+
end
|
24
|
+
end
|
25
|
+
|
26
|
+
it 'should forward class methods invokations to singleton instance' do
|
27
|
+
Testy.testosterone.should == 42
|
28
|
+
Testy.instance.testosterone.should == 42
|
29
|
+
end
|
30
|
+
|
31
|
+
it 'should also forward blocks' do
|
32
|
+
Testy.call_block { 43 }.should == 43
|
33
|
+
end
|
34
|
+
|
35
|
+
end
|
data/spec/spec_helper.rb
ADDED
@@ -0,0 +1,21 @@
|
|
1
|
+
# Copyright (C) 2011 RightScale, Inc, All Rights Reserved Worldwide.
|
2
|
+
#
|
3
|
+
# THIS PROGRAM IS CONFIDENTIAL AND PROPRIETARY TO RIGHTSCALE
|
4
|
+
# AND CONSTITUTES A VALUABLE TRADE SECRET. Any unauthorized use,
|
5
|
+
# reproduction, modification, or disclosure of this program is
|
6
|
+
# strictly prohibited. Any use of this program by an authorized
|
7
|
+
# licensee is strictly subject to the terms and conditions,
|
8
|
+
# including confidentiality obligations, set forth in the applicable
|
9
|
+
# License Agreement between RightScale.com, Inc. and
|
10
|
+
# the licensee
|
11
|
+
|
12
|
+
require 'rubygems'
|
13
|
+
require 'rspec'
|
14
|
+
require "flexmock"
|
15
|
+
|
16
|
+
require File.join(File.dirname(__FILE__), '..', 'lib', 'rconf')
|
17
|
+
|
18
|
+
RSpec.configure do |c|
|
19
|
+
c.mock_with(:flexmock)
|
20
|
+
end
|
21
|
+
|
metadata
ADDED
@@ -0,0 +1,129 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: rconf
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
prerelease:
|
5
|
+
version: 0.5.0
|
6
|
+
platform: ruby
|
7
|
+
authors:
|
8
|
+
- Raphael Simon
|
9
|
+
autorequire:
|
10
|
+
bindir: bin
|
11
|
+
cert_chain: []
|
12
|
+
|
13
|
+
date: 2011-03-02 00:00:00 -08:00
|
14
|
+
default_executable:
|
15
|
+
dependencies:
|
16
|
+
- !ruby/object:Gem::Dependency
|
17
|
+
name: rspec
|
18
|
+
prerelease: false
|
19
|
+
requirement: &id001 !ruby/object:Gem::Requirement
|
20
|
+
none: false
|
21
|
+
requirements:
|
22
|
+
- - ~>
|
23
|
+
- !ruby/object:Gem::Version
|
24
|
+
version: "2.5"
|
25
|
+
type: :development
|
26
|
+
version_requirements: *id001
|
27
|
+
- !ruby/object:Gem::Dependency
|
28
|
+
name: flexmock
|
29
|
+
prerelease: false
|
30
|
+
requirement: &id002 !ruby/object:Gem::Requirement
|
31
|
+
none: false
|
32
|
+
requirements:
|
33
|
+
- - ~>
|
34
|
+
- !ruby/object:Gem::Version
|
35
|
+
version: "0.9"
|
36
|
+
type: :development
|
37
|
+
version_requirements: *id002
|
38
|
+
description: |
|
39
|
+
rconf configures the environment for a given application. rconf reads
|
40
|
+
the content of an application configuration file (.rc) and installs and/or
|
41
|
+
configures the required tools for running or developing the corresponding
|
42
|
+
application. rconf can easily be extended to configure new tools and makes
|
43
|
+
it easy to support multiple platforms.
|
44
|
+
Consult the README.rdoc file for information on how to write rconf
|
45
|
+
configuration files (.rc).
|
46
|
+
|
47
|
+
email:
|
48
|
+
- raphael@rightscale.com
|
49
|
+
executables:
|
50
|
+
- rconf
|
51
|
+
extensions: []
|
52
|
+
|
53
|
+
extra_rdoc_files: []
|
54
|
+
|
55
|
+
files:
|
56
|
+
- README.rdoc
|
57
|
+
- Rakefile
|
58
|
+
- bin/rconf
|
59
|
+
- examples/sample.rc
|
60
|
+
- lib/rconf.rb
|
61
|
+
- lib/rconf/command.rb
|
62
|
+
- lib/rconf/configurator.rb
|
63
|
+
- lib/rconf/configurator_registry.rb
|
64
|
+
- lib/rconf/configurators/bundler_configurator.rb
|
65
|
+
- lib/rconf/configurators/ruby_configurator.rb
|
66
|
+
- lib/rconf/language.rb
|
67
|
+
- lib/rconf/platform.rb
|
68
|
+
- lib/rconf/platforms/darwin.rb
|
69
|
+
- lib/rconf/platforms/linux.rb
|
70
|
+
- lib/rconf/platforms/windows.rb
|
71
|
+
- lib/rconf/progress_reporter.rb
|
72
|
+
- lib/rconf/progress_reporters/base_reporter.rb
|
73
|
+
- lib/rconf/progress_reporters/file_reporter.rb
|
74
|
+
- lib/rconf/progress_reporters/stdout_reporter.rb
|
75
|
+
- lib/rconf/ruby_extensions.rb
|
76
|
+
- lib/rconf/trollop.rb
|
77
|
+
- lib/rconf/version.rb
|
78
|
+
- rconf.gemspec
|
79
|
+
- spec/command_spec.rb
|
80
|
+
- spec/configurator_spec.rb
|
81
|
+
- spec/configurators/bundler_configurator_spec.rb
|
82
|
+
- spec/configurators/ruby_configurator_spec.rb
|
83
|
+
- spec/language_spec.rb
|
84
|
+
- spec/platform_spec.rb
|
85
|
+
- spec/progress_reporters/base_reporter_spec.rb
|
86
|
+
- spec/progress_reporters/file_reporter_spec.rb
|
87
|
+
- spec/progress_reporters/stdout_reporter_spec.rb
|
88
|
+
- spec/ruby_extensions_spec.rb
|
89
|
+
- spec/spec_helper.rb
|
90
|
+
has_rdoc: true
|
91
|
+
homepage: http://rubygems.org/gems/rconf
|
92
|
+
licenses: []
|
93
|
+
|
94
|
+
post_install_message:
|
95
|
+
rdoc_options: []
|
96
|
+
|
97
|
+
require_paths:
|
98
|
+
- lib
|
99
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
100
|
+
none: false
|
101
|
+
requirements:
|
102
|
+
- - ">="
|
103
|
+
- !ruby/object:Gem::Version
|
104
|
+
version: "0"
|
105
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
106
|
+
none: false
|
107
|
+
requirements:
|
108
|
+
- - ">="
|
109
|
+
- !ruby/object:Gem::Version
|
110
|
+
version: "0"
|
111
|
+
requirements: []
|
112
|
+
|
113
|
+
rubyforge_project: rconf
|
114
|
+
rubygems_version: 1.5.0
|
115
|
+
signing_key:
|
116
|
+
specification_version: 3
|
117
|
+
summary: Cross platform environment configuration
|
118
|
+
test_files:
|
119
|
+
- spec/command_spec.rb
|
120
|
+
- spec/configurator_spec.rb
|
121
|
+
- spec/configurators/bundler_configurator_spec.rb
|
122
|
+
- spec/configurators/ruby_configurator_spec.rb
|
123
|
+
- spec/language_spec.rb
|
124
|
+
- spec/platform_spec.rb
|
125
|
+
- spec/progress_reporters/base_reporter_spec.rb
|
126
|
+
- spec/progress_reporters/file_reporter_spec.rb
|
127
|
+
- spec/progress_reporters/stdout_reporter_spec.rb
|
128
|
+
- spec/ruby_extensions_spec.rb
|
129
|
+
- spec/spec_helper.rb
|