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 CHANGED
@@ -2,7 +2,7 @@
2
2
 
3
3
  Gem::Specification.new do |gem|
4
4
  gem.name = "boxen"
5
- gem.version = "0.4.2"
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
@@ -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
- hash: 11
5
- prerelease:
4
+ prerelease: false
6
5
  segments:
7
6
  - 0
8
- - 4
9
- - 2
10
- version: 0.4.2
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-10-23 00:00:00 -04:00
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.2
233
+ rubygems_version: 1.3.6
257
234
  signing_key:
258
235
  specification_version: 3
259
236
  summary: You know, for laptops and stuff.