boxen 0.4.2 → 0.5.0
Sign up to get free protection for your applications and to get access to all the features.
- data/boxen.gemspec +1 -1
- data/lib/boxen/runner.rb +8 -11
- data/test/boxen_runner_test.rb +28 -0
- metadata +6 -29
data/boxen.gemspec
CHANGED
@@ -2,7 +2,7 @@
|
|
2
2
|
|
3
3
|
Gem::Specification.new do |gem|
|
4
4
|
gem.name = "boxen"
|
5
|
-
gem.version = "0.
|
5
|
+
gem.version = "0.5.0"
|
6
6
|
gem.authors = ["John Barnette", "Will Farrington"]
|
7
7
|
gem.email = ["jbarnette@github.com", "wfarr@github.com"]
|
8
8
|
gem.description = "Manage Mac development boxes with love (and Puppet)."
|
data/lib/boxen/runner.rb
CHANGED
@@ -4,6 +4,7 @@ require "boxen/flags"
|
|
4
4
|
require "boxen/puppeteer"
|
5
5
|
require "boxen/reporter"
|
6
6
|
require "boxen/util"
|
7
|
+
require "facter"
|
7
8
|
|
8
9
|
module Boxen
|
9
10
|
class Runner
|
@@ -28,6 +29,8 @@ module Boxen
|
|
28
29
|
|
29
30
|
process_flags
|
30
31
|
|
32
|
+
process_args
|
33
|
+
|
31
34
|
# Actually run Puppet and return its result
|
32
35
|
|
33
36
|
puppet.run
|
@@ -97,21 +100,15 @@ module Boxen
|
|
97
100
|
|
98
101
|
end
|
99
102
|
|
103
|
+
def process_args
|
104
|
+
projects = flags.args.join(',')
|
105
|
+
Facter.add('cli_boxen_projects') { setcode { projects } }
|
106
|
+
end
|
107
|
+
|
100
108
|
# Should the result of this run have any effect on GitHub issues?
|
101
109
|
|
102
110
|
def issues?
|
103
111
|
!config.stealth? && !config.pretend? && checkout.master?
|
104
112
|
end
|
105
|
-
|
106
|
-
|
107
|
-
private
|
108
|
-
|
109
|
-
def services
|
110
|
-
Dir["/Library/LaunchDaemons/com.boxen.*.plist"]
|
111
|
-
end
|
112
|
-
|
113
|
-
def service_human_name(service)
|
114
|
-
service.match(/com\.boxen\.(.+)\.plist$/)[1]
|
115
|
-
end
|
116
113
|
end
|
117
114
|
end
|
data/test/boxen_runner_test.rb
CHANGED
@@ -146,4 +146,32 @@ class BoxenRunnerTest < Boxen::Test
|
|
146
146
|
runner.process
|
147
147
|
end
|
148
148
|
end
|
149
|
+
|
150
|
+
def test_specify_project
|
151
|
+
fact = 'cli_boxen_projects'
|
152
|
+
refute Facter.value(fact)
|
153
|
+
|
154
|
+
project = 'some_project'
|
155
|
+
flags = Boxen::Flags.new(project)
|
156
|
+
|
157
|
+
runner = Boxen::Runner.new(@config, flags)
|
158
|
+
runner.process
|
159
|
+
assert_equal project, Facter.value(fact)
|
160
|
+
|
161
|
+
|
162
|
+
project = 'other_project'
|
163
|
+
flags = Boxen::Flags.new('--debug', project)
|
164
|
+
|
165
|
+
runner = Boxen::Runner.new(@config, flags)
|
166
|
+
runner.process
|
167
|
+
assert_equal project, Facter.value(fact)
|
168
|
+
|
169
|
+
|
170
|
+
projects = %w[my cool projects]
|
171
|
+
flags = Boxen::Flags.new('--noop', *projects)
|
172
|
+
|
173
|
+
runner = Boxen::Runner.new(@config, flags)
|
174
|
+
runner.process
|
175
|
+
assert_equal projects.join(','), Facter.value(fact)
|
176
|
+
end
|
149
177
|
end
|
metadata
CHANGED
@@ -1,13 +1,12 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: boxen
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
|
5
|
-
prerelease:
|
4
|
+
prerelease: false
|
6
5
|
segments:
|
7
6
|
- 0
|
8
|
-
-
|
9
|
-
-
|
10
|
-
version: 0.
|
7
|
+
- 5
|
8
|
+
- 0
|
9
|
+
version: 0.5.0
|
11
10
|
platform: ruby
|
12
11
|
authors:
|
13
12
|
- John Barnette
|
@@ -16,18 +15,16 @@ autorequire:
|
|
16
15
|
bindir: bin
|
17
16
|
cert_chain: []
|
18
17
|
|
19
|
-
date: 2012-
|
18
|
+
date: 2012-11-02 00:00:00 -04:00
|
20
19
|
default_executable:
|
21
20
|
dependencies:
|
22
21
|
- !ruby/object:Gem::Dependency
|
23
22
|
name: ansi
|
24
23
|
prerelease: false
|
25
24
|
requirement: &id001 !ruby/object:Gem::Requirement
|
26
|
-
none: false
|
27
25
|
requirements:
|
28
26
|
- - ~>
|
29
27
|
- !ruby/object:Gem::Version
|
30
|
-
hash: 7
|
31
28
|
segments:
|
32
29
|
- 1
|
33
30
|
- 4
|
@@ -38,11 +35,9 @@ dependencies:
|
|
38
35
|
name: hiera
|
39
36
|
prerelease: false
|
40
37
|
requirement: &id002 !ruby/object:Gem::Requirement
|
41
|
-
none: false
|
42
38
|
requirements:
|
43
39
|
- - ~>
|
44
40
|
- !ruby/object:Gem::Version
|
45
|
-
hash: 23
|
46
41
|
segments:
|
47
42
|
- 1
|
48
43
|
- 0
|
@@ -54,11 +49,9 @@ dependencies:
|
|
54
49
|
name: highline
|
55
50
|
prerelease: false
|
56
51
|
requirement: &id003 !ruby/object:Gem::Requirement
|
57
|
-
none: false
|
58
52
|
requirements:
|
59
53
|
- - ~>
|
60
54
|
- !ruby/object:Gem::Version
|
61
|
-
hash: 3
|
62
55
|
segments:
|
63
56
|
- 1
|
64
57
|
- 6
|
@@ -69,11 +62,9 @@ dependencies:
|
|
69
62
|
name: json_pure
|
70
63
|
prerelease: false
|
71
64
|
requirement: &id004 !ruby/object:Gem::Requirement
|
72
|
-
none: false
|
73
65
|
requirements:
|
74
66
|
- - ~>
|
75
67
|
- !ruby/object:Gem::Version
|
76
|
-
hash: 1
|
77
68
|
segments:
|
78
69
|
- 1
|
79
70
|
- 7
|
@@ -84,11 +75,9 @@ dependencies:
|
|
84
75
|
name: librarian-puppet
|
85
76
|
prerelease: false
|
86
77
|
requirement: &id005 !ruby/object:Gem::Requirement
|
87
|
-
none: false
|
88
78
|
requirements:
|
89
79
|
- - ~>
|
90
80
|
- !ruby/object:Gem::Version
|
91
|
-
hash: 25
|
92
81
|
segments:
|
93
82
|
- 0
|
94
83
|
- 9
|
@@ -99,11 +88,9 @@ dependencies:
|
|
99
88
|
name: octokit
|
100
89
|
prerelease: false
|
101
90
|
requirement: &id006 !ruby/object:Gem::Requirement
|
102
|
-
none: false
|
103
91
|
requirements:
|
104
92
|
- - ~>
|
105
93
|
- !ruby/object:Gem::Version
|
106
|
-
hash: 17
|
107
94
|
segments:
|
108
95
|
- 1
|
109
96
|
- 15
|
@@ -114,11 +101,9 @@ dependencies:
|
|
114
101
|
name: puppet
|
115
102
|
prerelease: false
|
116
103
|
requirement: &id007 !ruby/object:Gem::Requirement
|
117
|
-
none: false
|
118
104
|
requirements:
|
119
105
|
- - ~>
|
120
106
|
- !ruby/object:Gem::Version
|
121
|
-
hash: 7
|
122
107
|
segments:
|
123
108
|
- 3
|
124
109
|
- 0
|
@@ -129,11 +114,9 @@ dependencies:
|
|
129
114
|
name: minitest
|
130
115
|
prerelease: false
|
131
116
|
requirement: &id008 !ruby/object:Gem::Requirement
|
132
|
-
none: false
|
133
117
|
requirements:
|
134
118
|
- - "="
|
135
119
|
- !ruby/object:Gem::Version
|
136
|
-
hash: 19
|
137
120
|
segments:
|
138
121
|
- 3
|
139
122
|
- 5
|
@@ -145,11 +128,9 @@ dependencies:
|
|
145
128
|
name: mocha
|
146
129
|
prerelease: false
|
147
130
|
requirement: &id009 !ruby/object:Gem::Requirement
|
148
|
-
none: false
|
149
131
|
requirements:
|
150
132
|
- - ~>
|
151
133
|
- !ruby/object:Gem::Version
|
152
|
-
hash: 19
|
153
134
|
segments:
|
154
135
|
- 0
|
155
136
|
- 12
|
@@ -233,27 +214,23 @@ rdoc_options: []
|
|
233
214
|
require_paths:
|
234
215
|
- lib
|
235
216
|
required_ruby_version: !ruby/object:Gem::Requirement
|
236
|
-
none: false
|
237
217
|
requirements:
|
238
218
|
- - ">="
|
239
219
|
- !ruby/object:Gem::Version
|
240
|
-
hash: 3
|
241
220
|
segments:
|
242
221
|
- 0
|
243
222
|
version: "0"
|
244
223
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
245
|
-
none: false
|
246
224
|
requirements:
|
247
225
|
- - ">="
|
248
226
|
- !ruby/object:Gem::Version
|
249
|
-
hash: 3
|
250
227
|
segments:
|
251
228
|
- 0
|
252
229
|
version: "0"
|
253
230
|
requirements: []
|
254
231
|
|
255
232
|
rubyforge_project:
|
256
|
-
rubygems_version: 1.6
|
233
|
+
rubygems_version: 1.3.6
|
257
234
|
signing_key:
|
258
235
|
specification_version: 3
|
259
236
|
summary: You know, for laptops and stuff.
|