boxen 0.4.2 → 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/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.