plow 1.0.0 → 1.0.1
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.markdown +8 -8
- data/Rakefile +1 -1
- data/VERSION +1 -1
- data/doc/HISTORY.markdown +11 -1
- data/lib/plow.rb +1 -1
- data/lib/plow/application.rb +1 -1
- data/lib/plow/dependencies.rb +8 -8
- data/spec/plow/application_spec.rb +12 -12
- data/spec/plow/dependencies_spec.rb +19 -19
- data/spec/plow/generator_spec.rb +7 -7
- data/spec/plow/strategy/ubuntu_hardy_spec.rb +5 -5
- data/spec/plow_spec.rb +1 -1
- metadata +50 -25
data/README.markdown
CHANGED
@@ -2,8 +2,8 @@
|
|
2
2
|
|
3
3
|
Image courtesy of [Mother Earth News](http://www.motherearthnews.com/Modern-Homesteading/1974-05-01/Walking-Plow.aspx)
|
4
4
|
|
5
|
-
Plow release 1.0.
|
6
|
-
|
5
|
+
Plow release 1.0.1 (March 15, 2009)
|
6
|
+
===================================
|
7
7
|
|
8
8
|
Copyright (c) 2009 Ryan Sobol. Licensed under the MIT license. Please see the {file:LICENSE} for more information.
|
9
9
|
|
@@ -17,7 +17,7 @@ Copyright (c) 2009 Ryan Sobol. Licensed under the MIT license. Please see the {
|
|
17
17
|
WHAT'S NEW?
|
18
18
|
-----------
|
19
19
|
|
20
|
-
The
|
20
|
+
The optional development dependencies were updated to their latest stable releases.
|
21
21
|
|
22
22
|
Please see {file:doc/HISTORY.markdown} for the historical overview of the project.
|
23
23
|
|
@@ -48,10 +48,10 @@ REQUIREMENTS
|
|
48
48
|
**Optional development dependencies**
|
49
49
|
|
50
50
|
* Rake 0.8.7 (bundled with Ruby 1.9.1)
|
51
|
-
* Jeweler 1.
|
52
|
-
* RSpec 1.
|
53
|
-
* YARD 0.
|
54
|
-
* BlueCloth 2.0.
|
51
|
+
* Jeweler 1.4.0
|
52
|
+
* RSpec 1.3.0
|
53
|
+
* YARD 0.5.3
|
54
|
+
* BlueCloth 2.0.7
|
55
55
|
|
56
56
|
INSTALLING
|
57
57
|
----------
|
@@ -89,7 +89,7 @@ EXAMPLE
|
|
89
89
|
-------
|
90
90
|
|
91
91
|
$ sudo plow steve www.apple.com apple.com
|
92
|
-
Plow 1.0.
|
92
|
+
Plow 1.0.1. Copyright (c) 2009 Ryan Sobol. Licensed under the MIT license.
|
93
93
|
==> creating steve user
|
94
94
|
Adding user `steve' ...
|
95
95
|
Adding new group `steve' (1001) ...
|
data/Rakefile
CHANGED
@@ -6,7 +6,7 @@ Plow::Dependencies.warn_at_exit
|
|
6
6
|
|
7
7
|
begin
|
8
8
|
# TODO experiment with how rubygems activates gems by version requirement in ruby 1.9.1.
|
9
|
-
# gem 'jeweler', '1.
|
9
|
+
# gem 'jeweler', '1.4.0'
|
10
10
|
require 'jeweler'
|
11
11
|
Jeweler::Tasks.new do |gem|
|
12
12
|
# The gem object is a kind of Gem::Specification
|
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
1.0.
|
1
|
+
1.0.1
|
data/doc/HISTORY.markdown
CHANGED
@@ -1,5 +1,15 @@
|
|
1
|
+
Plow release 1.0.1 (March 15, 2009)
|
2
|
+
===================================
|
3
|
+
|
4
|
+
The optional development dependencies were updated to their latest stable releases.
|
5
|
+
|
6
|
+
* Jeweler 1.4.0
|
7
|
+
* RSpec 1.3.0
|
8
|
+
* YARD 0.5.3
|
9
|
+
* BlueCloth 2.0.7
|
10
|
+
|
1
11
|
Plow release 1.0.0 (November 21, 2009)
|
2
|
-
|
12
|
+
======================================
|
3
13
|
|
4
14
|
The first official public release of Plow!
|
5
15
|
|
data/lib/plow.rb
CHANGED
data/lib/plow/application.rb
CHANGED
@@ -89,7 +89,7 @@ MESSAGE
|
|
89
89
|
#
|
90
90
|
# @return [String] Version stamp
|
91
91
|
# @example Sample version stamp
|
92
|
-
# Plow 1.0.
|
92
|
+
# Plow 1.0.1. Copyright (c) 2009 Ryan Sobol. Licensed under the MIT license.
|
93
93
|
def version_stamp
|
94
94
|
"Plow #{Plow::VERSION}. Copyright (c) 2009 Ryan Sobol. Licensed under the MIT license."
|
95
95
|
end
|
data/lib/plow/dependencies.rb
CHANGED
@@ -42,10 +42,10 @@ class Plow
|
|
42
42
|
|
43
43
|
# bluecloth is a hidden yard dependency for markdown support
|
44
44
|
DEVELOPMENT_GEMS = {
|
45
|
-
:jeweler => '1.
|
46
|
-
:rspec => '1.
|
47
|
-
:yard => '0.
|
48
|
-
:bluecloth => '2.0.
|
45
|
+
:jeweler => '1.4.0',
|
46
|
+
:rspec => '1.3.0',
|
47
|
+
:yard => '0.5.3',
|
48
|
+
:bluecloth => '2.0.7'
|
49
49
|
}
|
50
50
|
|
51
51
|
# Thanx rspec for bucking the pattern :(
|
@@ -84,10 +84,10 @@ class Plow
|
|
84
84
|
#
|
85
85
|
# @example Sample warning message
|
86
86
|
# The following development gem dependencies could not be found. Without them, some available development features are missing:
|
87
|
-
# jeweler --version '1.
|
88
|
-
# rspec --version '1.
|
89
|
-
# yard --version '0.
|
90
|
-
# bluecloth --version '2.0.
|
87
|
+
# jeweler --version '1.4.0'
|
88
|
+
# rspec --version '1.3.0'
|
89
|
+
# yard --version '0.5.3'
|
90
|
+
# bluecloth --version '2.0.7'
|
91
91
|
def self.render_warnings
|
92
92
|
unless @@warnings_cache.empty?
|
93
93
|
message = []
|
@@ -4,7 +4,7 @@ require 'spec_helper'
|
|
4
4
|
describe Plow::Application do
|
5
5
|
|
6
6
|
before(:each) do
|
7
|
-
@expected_version_stamp = "Plow 1.0.
|
7
|
+
@expected_version_stamp = "Plow 1.0.1. Copyright (c) 2009 Ryan Sobol. Licensed under the MIT license."
|
8
8
|
end
|
9
9
|
|
10
10
|
##################################################################################################
|
@@ -49,16 +49,16 @@ MESSAGE
|
|
49
49
|
end
|
50
50
|
|
51
51
|
it "should output the version stamp" do
|
52
|
-
lambda { Plow::Application.launch }.should
|
52
|
+
lambda { Plow::Application.launch }.should raise_exception
|
53
53
|
$stdout.string.should == @expected_version_stamp + "\n"
|
54
54
|
end
|
55
55
|
|
56
56
|
it "should abort with usage message with 0 arguments" do
|
57
|
-
lambda { Plow::Application.launch }.should
|
57
|
+
lambda { Plow::Application.launch }.should raise_exception(SystemExit, @expected_message)
|
58
58
|
end
|
59
59
|
|
60
60
|
it "should abort with usage message with 1 argument" do
|
61
|
-
lambda { Plow::Application.launch('marco') }.should
|
61
|
+
lambda { Plow::Application.launch('marco') }.should raise_exception(SystemExit, @expected_message)
|
62
62
|
end
|
63
63
|
end
|
64
64
|
|
@@ -143,7 +143,7 @@ MESSAGE
|
|
143
143
|
Plow::Generator.should_receive(:new).and_raise(expected_error)
|
144
144
|
|
145
145
|
expected_message = "ERROR: #{@bad_argv[0]} is an invalid system user name"
|
146
|
-
lambda { Plow::Application.launch(*@bad_argv) }.should
|
146
|
+
lambda { Plow::Application.launch(*@bad_argv) }.should raise_exception(SystemExit, expected_message)
|
147
147
|
end
|
148
148
|
|
149
149
|
it "should render error message to the user for raised Plow::InvalidWebSiteNameError" do
|
@@ -151,7 +151,7 @@ MESSAGE
|
|
151
151
|
Plow::Generator.should_receive(:new).and_raise(expected_error)
|
152
152
|
|
153
153
|
expected_message = "ERROR: #{@bad_argv[1]} is an invalid web-site name"
|
154
|
-
lambda { Plow::Application.launch(*@bad_argv) }.should
|
154
|
+
lambda { Plow::Application.launch(*@bad_argv) }.should raise_exception(SystemExit, expected_message)
|
155
155
|
end
|
156
156
|
|
157
157
|
it "should render error message to the user for raised Plow::InvalidWebSiteAliasError" do
|
@@ -159,7 +159,7 @@ MESSAGE
|
|
159
159
|
Plow::Generator.should_receive(:new).and_raise(expected_error)
|
160
160
|
|
161
161
|
expected_message = "ERROR: #{@bad_argv[2]} is an invalid web-site alias"
|
162
|
-
lambda { Plow::Application.launch(*@bad_argv) }.should
|
162
|
+
lambda { Plow::Application.launch(*@bad_argv) }.should raise_exception(SystemExit, expected_message)
|
163
163
|
end
|
164
164
|
end
|
165
165
|
|
@@ -185,7 +185,7 @@ MESSAGE
|
|
185
185
|
@generator.should_receive(:run!).and_raise(expected_error)
|
186
186
|
|
187
187
|
expected_message = "ERROR: This process must be owned or executed by root"
|
188
|
-
lambda { Plow::Application.launch(*@argv) }.should
|
188
|
+
lambda { Plow::Application.launch(*@argv) }.should raise_exception(SystemExit, expected_message)
|
189
189
|
end
|
190
190
|
|
191
191
|
it "should render error message to the user for raised Plow::ReservedSystemUserNameError" do
|
@@ -197,7 +197,7 @@ MESSAGE
|
|
197
197
|
@generator.should_receive(:run!).and_raise(expected_error)
|
198
198
|
|
199
199
|
expected_message = "ERROR: #{@argv[0]} is a reserved system user name"
|
200
|
-
lambda { Plow::Application.launch(*@argv) }.should
|
200
|
+
lambda { Plow::Application.launch(*@argv) }.should raise_exception(SystemExit, expected_message)
|
201
201
|
end
|
202
202
|
|
203
203
|
it "should render error message to the user for raised Plow::SystemUserNameNotFoundError" do
|
@@ -209,7 +209,7 @@ MESSAGE
|
|
209
209
|
@generator.should_receive(:run!).and_raise(expected_error)
|
210
210
|
|
211
211
|
expected_message = "ERROR: System user name #{@argv[0]} cannot be found when it should exist"
|
212
|
-
lambda { Plow::Application.launch(*@argv) }.should
|
212
|
+
lambda { Plow::Application.launch(*@argv) }.should raise_exception(SystemExit, expected_message)
|
213
213
|
end
|
214
214
|
|
215
215
|
it "should render error message to the user for raised Plow::AppRootAlreadyExistsError" do
|
@@ -222,7 +222,7 @@ MESSAGE
|
|
222
222
|
@generator.should_receive(:run!).and_raise(expected_error)
|
223
223
|
|
224
224
|
expected_message = "ERROR: Application root path #{app_home_path} already exists"
|
225
|
-
lambda { Plow::Application.launch(*@argv) }.should
|
225
|
+
lambda { Plow::Application.launch(*@argv) }.should raise_exception(SystemExit, expected_message)
|
226
226
|
end
|
227
227
|
|
228
228
|
it "should render error message to the user for raised Plow::AppRootAlreadyExistsError" do
|
@@ -235,7 +235,7 @@ MESSAGE
|
|
235
235
|
@generator.should_receive(:run!).and_raise(expected_error)
|
236
236
|
|
237
237
|
expected_message = "ERROR: Configuration file #{config_file_path} already exists"
|
238
|
-
lambda { Plow::Application.launch(*@argv) }.should
|
238
|
+
lambda { Plow::Application.launch(*@argv) }.should raise_exception(SystemExit, expected_message)
|
239
239
|
end
|
240
240
|
end
|
241
241
|
end
|
@@ -12,10 +12,10 @@ describe Plow::Dependencies do
|
|
12
12
|
|
13
13
|
it "development gem names and versions should be correct" do
|
14
14
|
expected = {
|
15
|
-
:jeweler => '1.
|
16
|
-
:rspec => '1.
|
17
|
-
:yard => '0.
|
18
|
-
:bluecloth => '2.0.
|
15
|
+
:jeweler => '1.4.0',
|
16
|
+
:rspec => '1.3.0',
|
17
|
+
:yard => '0.5.3',
|
18
|
+
:bluecloth => '2.0.7'
|
19
19
|
}
|
20
20
|
|
21
21
|
Plow::Dependencies::DEVELOPMENT_GEMS.should == expected
|
@@ -53,27 +53,27 @@ Please visit http://www.ruby-lang.org/ for installation instructions.
|
|
53
53
|
|
54
54
|
it "should abort for ruby 1.8.6" do
|
55
55
|
version = '1.8.6'
|
56
|
-
lambda { Plow::Dependencies.send(:check_ruby_version, version) }.should
|
56
|
+
lambda { Plow::Dependencies.send(:check_ruby_version, version) }.should raise_exception(SystemExit, expected_message(version))
|
57
57
|
end
|
58
58
|
|
59
59
|
it "should abort for ruby 1.8.7" do
|
60
60
|
version = '1.8.7'
|
61
|
-
lambda { Plow::Dependencies.send(:check_ruby_version, version) }.should
|
61
|
+
lambda { Plow::Dependencies.send(:check_ruby_version, version) }.should raise_exception(SystemExit, expected_message(version))
|
62
62
|
end
|
63
63
|
|
64
64
|
it "should abort for ruby 1.9.0" do
|
65
65
|
version = '1.9.0'
|
66
|
-
lambda { Plow::Dependencies.send(:check_ruby_version, version) }.should
|
66
|
+
lambda { Plow::Dependencies.send(:check_ruby_version, version) }.should raise_exception(SystemExit, expected_message(version))
|
67
67
|
end
|
68
68
|
|
69
69
|
it "should not abort for ruby 1.9.1" do
|
70
70
|
version = '1.9.1'
|
71
|
-
lambda { Plow::Dependencies.send(:check_ruby_version, version) }.should_not
|
71
|
+
lambda { Plow::Dependencies.send(:check_ruby_version, version) }.should_not raise_exception(SystemExit, expected_message(version))
|
72
72
|
end
|
73
73
|
|
74
74
|
it "should abort for ruby 1.9.2" do
|
75
75
|
version = '1.9.2'
|
76
|
-
lambda { Plow::Dependencies.send(:check_ruby_version, version) }.should
|
76
|
+
lambda { Plow::Dependencies.send(:check_ruby_version, version) }.should raise_exception(SystemExit, expected_message(version))
|
77
77
|
end
|
78
78
|
end
|
79
79
|
|
@@ -100,7 +100,7 @@ Please visit http://www.ruby-lang.org/ for installation instructions.
|
|
100
100
|
|
101
101
|
it "should create and cache one warning from a known development gem dependency" do
|
102
102
|
Plow::Dependencies.create_warning_for(LoadError.new("no such file to load -- jeweler"))
|
103
|
-
Plow::Dependencies.class_variable_get(:@@warnings_cache).should == ["jeweler --version '1.
|
103
|
+
Plow::Dependencies.class_variable_get(:@@warnings_cache).should == ["jeweler --version '1.4.0'"]
|
104
104
|
end
|
105
105
|
|
106
106
|
it "should create and cache warnings from all known development gem dependencies" do
|
@@ -115,16 +115,16 @@ Please visit http://www.ruby-lang.org/ for installation instructions.
|
|
115
115
|
end
|
116
116
|
|
117
117
|
expected = [
|
118
|
-
"jeweler --version '1.
|
119
|
-
"rspec --version '1.
|
120
|
-
"yard --version '0.
|
121
|
-
"bluecloth --version '2.0.
|
118
|
+
"jeweler --version '1.4.0'",
|
119
|
+
"rspec --version '1.3.0'",
|
120
|
+
"yard --version '0.5.3'",
|
121
|
+
"bluecloth --version '2.0.7'"
|
122
122
|
]
|
123
123
|
Plow::Dependencies.class_variable_get(:@@warnings_cache).should == expected
|
124
124
|
end
|
125
125
|
|
126
126
|
it "should raise an exception when creating a warning from an unknown development gem dependency" do
|
127
|
-
lambda { Plow::Dependencies.create_warning_for(LoadError.new("no such file to load -- _fakegem")) }.should
|
127
|
+
lambda { Plow::Dependencies.create_warning_for(LoadError.new("no such file to load -- _fakegem")) }.should raise_exception(RuntimeError, "Cannot create a dependency warning for unknown development gem -- _fakegem")
|
128
128
|
end
|
129
129
|
end
|
130
130
|
|
@@ -148,10 +148,10 @@ Please visit http://www.ruby-lang.org/ for installation instructions.
|
|
148
148
|
$stdout.string.should == <<-MESSAGE
|
149
149
|
|
150
150
|
The following development gem dependencies could not be found. Without them, some available development features are missing:
|
151
|
-
jeweler --version '1.
|
152
|
-
rspec --version '1.
|
153
|
-
yard --version '0.
|
154
|
-
bluecloth --version '2.0.
|
151
|
+
jeweler --version '1.4.0'
|
152
|
+
rspec --version '1.3.0'
|
153
|
+
yard --version '0.5.3'
|
154
|
+
bluecloth --version '2.0.7'
|
155
155
|
MESSAGE
|
156
156
|
end
|
157
157
|
|
data/spec/plow/generator_spec.rb
CHANGED
@@ -7,27 +7,27 @@ describe Plow::Generator do
|
|
7
7
|
|
8
8
|
describe ".new when failing" do
|
9
9
|
it "should raise Plow::InvalidSystemUserNameError if first argument is blank" do
|
10
|
-
lambda { Plow::Generator.new(nil, 'not-blank') }.should
|
10
|
+
lambda { Plow::Generator.new(nil, 'not-blank') }.should raise_exception(Plow::InvalidSystemUserNameError, nil)
|
11
11
|
end
|
12
12
|
|
13
13
|
it "should raise Plow::InvalidSystemUserNameError if first argument contains a blank space" do
|
14
|
-
lambda { Plow::Generator.new('oh noes!', 'not-blank') }.should
|
14
|
+
lambda { Plow::Generator.new('oh noes!', 'not-blank') }.should raise_exception(Plow::InvalidSystemUserNameError, 'oh noes!')
|
15
15
|
end
|
16
16
|
|
17
17
|
it "should raise Plow::InvalidWebSiteNameError if second argument is blank" do
|
18
|
-
lambda { Plow::Generator.new('not-blank', nil) }.should
|
18
|
+
lambda { Plow::Generator.new('not-blank', nil) }.should raise_exception(Plow::InvalidWebSiteNameError, nil)
|
19
19
|
end
|
20
20
|
|
21
21
|
it "should raise Plow::InvalidWebSiteNameError if second argument contains a blank space" do
|
22
|
-
lambda { Plow::Generator.new('not-blank', 'oh noes!') }.should
|
22
|
+
lambda { Plow::Generator.new('not-blank', 'oh noes!') }.should raise_exception(Plow::InvalidWebSiteNameError, 'oh noes!')
|
23
23
|
end
|
24
24
|
|
25
25
|
it "should raise Plow::InvalidWebSiteAliasError if third argument is blank" do
|
26
|
-
lambda { Plow::Generator.new('not-blank', 'not-blank', nil) }.should
|
26
|
+
lambda { Plow::Generator.new('not-blank', 'not-blank', nil) }.should raise_exception(Plow::InvalidWebSiteAliasError, nil)
|
27
27
|
end
|
28
28
|
|
29
29
|
it "should raise Plow::InvalidWebSiteAliasError if third argument contains a blank space" do
|
30
|
-
lambda { Plow::Generator.new('not-blank', 'not-blank', 'oh noes!') }.should
|
30
|
+
lambda { Plow::Generator.new('not-blank', 'not-blank', 'oh noes!') }.should raise_exception(Plow::InvalidWebSiteAliasError, 'oh noes!')
|
31
31
|
end
|
32
32
|
end
|
33
33
|
|
@@ -85,7 +85,7 @@ describe Plow::Generator do
|
|
85
85
|
it "should raise Plow::NonRootProcessOwnerError when process is owned by non-root user" do
|
86
86
|
Process.stub!(:uid).and_return(1)
|
87
87
|
generator = Plow::Generator.new('steve', 'www.apple.com', 'apple.com')
|
88
|
-
lambda { generator.run! }.should
|
88
|
+
lambda { generator.run! }.should raise_exception(Plow::NonRootProcessOwnerError)
|
89
89
|
end
|
90
90
|
|
91
91
|
it "should execute the strategy when process is owned by root user" do
|
@@ -101,12 +101,12 @@ describe Plow::Strategy::UbuntuHardy do
|
|
101
101
|
|
102
102
|
it "should raise Plow::ReservedSystemUserNameError for a system account where user id < 1000" do
|
103
103
|
@context.stub!(:user_name).and_return('sshd')
|
104
|
-
lambda { @strategy.send(:user_exists?) }.should
|
104
|
+
lambda { @strategy.send(:user_exists?) }.should raise_exception(Plow::ReservedSystemUserNameError, 'sshd')
|
105
105
|
end
|
106
106
|
|
107
107
|
it "should raise Plow::ReservedSystemUserNameError for a system account where user id == 65534" do
|
108
108
|
@context.stub!(:user_name).and_return('nobody')
|
109
|
-
lambda { @strategy.send(:user_exists?) }.should
|
109
|
+
lambda { @strategy.send(:user_exists?) }.should raise_exception(Plow::ReservedSystemUserNameError, 'nobody')
|
110
110
|
end
|
111
111
|
|
112
112
|
it "should return false when no matching non-system account is found" do
|
@@ -138,7 +138,7 @@ describe Plow::Strategy::UbuntuHardy do
|
|
138
138
|
|
139
139
|
it "should raise Plow::SystemUserNameNotFoundError if no matching user name is found" do
|
140
140
|
@context.stub!(:user_name).and_return('microsoft-steve')
|
141
|
-
lambda { @strategy.send(:user_home_exists?) }.should
|
141
|
+
lambda { @strategy.send(:user_home_exists?) }.should raise_exception(Plow::SystemUserNameNotFoundError, 'microsoft-steve')
|
142
142
|
end
|
143
143
|
|
144
144
|
describe "when home directory exists for existing user" do
|
@@ -522,7 +522,7 @@ describe Plow::Strategy::UbuntuHardy do
|
|
522
522
|
@strategy.should_not_receive(:create_vhost_config!)
|
523
523
|
@strategy.should_not_receive(:install_vhost_config!)
|
524
524
|
|
525
|
-
lambda { @strategy.execute! }.should
|
525
|
+
lambda { @strategy.execute! }.should raise_exception(Plow::AppRootAlreadyExistsError, '/home/steve/sites/www.apple.com')
|
526
526
|
|
527
527
|
$stdout.string.should == <<-OUTPUT
|
528
528
|
==> creating steve user
|
@@ -543,7 +543,7 @@ describe Plow::Strategy::UbuntuHardy do
|
|
543
543
|
@strategy.should_not_receive(:create_vhost_config!)
|
544
544
|
@strategy.should_not_receive(:install_vhost_config!)
|
545
545
|
|
546
|
-
lambda { @strategy.execute! }.should
|
546
|
+
lambda { @strategy.execute! }.should raise_exception(Plow::ConfigFileAlreadyExistsError, '/etc/apache2/sites-available/www.apple.com.conf')
|
547
547
|
|
548
548
|
@strategy.app_public_path.should == '/home/steve/sites/www.apple.com/public'
|
549
549
|
@strategy.app_log_path.should == '/home/steve/sites/www.apple.com/log'
|
data/spec/plow_spec.rb
CHANGED
metadata
CHANGED
@@ -1,7 +1,12 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: plow
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
|
4
|
+
prerelease: false
|
5
|
+
segments:
|
6
|
+
- 1
|
7
|
+
- 0
|
8
|
+
- 1
|
9
|
+
version: 1.0.1
|
5
10
|
platform: ruby
|
6
11
|
authors:
|
7
12
|
- Ryan Sobol
|
@@ -9,49 +14,65 @@ autorequire:
|
|
9
14
|
bindir: bin
|
10
15
|
cert_chain: []
|
11
16
|
|
12
|
-
date:
|
17
|
+
date: 2010-03-15 00:00:00 -05:00
|
13
18
|
default_executable:
|
14
19
|
dependencies:
|
15
20
|
- !ruby/object:Gem::Dependency
|
16
21
|
name: jeweler
|
17
|
-
|
18
|
-
|
19
|
-
version_requirements: !ruby/object:Gem::Requirement
|
22
|
+
prerelease: false
|
23
|
+
requirement: &id001 !ruby/object:Gem::Requirement
|
20
24
|
requirements:
|
21
25
|
- - "="
|
22
26
|
- !ruby/object:Gem::Version
|
23
|
-
|
24
|
-
|
27
|
+
segments:
|
28
|
+
- 1
|
29
|
+
- 4
|
30
|
+
- 0
|
31
|
+
version: 1.4.0
|
32
|
+
type: :development
|
33
|
+
version_requirements: *id001
|
25
34
|
- !ruby/object:Gem::Dependency
|
26
35
|
name: rspec
|
27
|
-
|
28
|
-
|
29
|
-
version_requirements: !ruby/object:Gem::Requirement
|
36
|
+
prerelease: false
|
37
|
+
requirement: &id002 !ruby/object:Gem::Requirement
|
30
38
|
requirements:
|
31
39
|
- - "="
|
32
40
|
- !ruby/object:Gem::Version
|
33
|
-
|
34
|
-
|
41
|
+
segments:
|
42
|
+
- 1
|
43
|
+
- 3
|
44
|
+
- 0
|
45
|
+
version: 1.3.0
|
46
|
+
type: :development
|
47
|
+
version_requirements: *id002
|
35
48
|
- !ruby/object:Gem::Dependency
|
36
49
|
name: yard
|
37
|
-
|
38
|
-
|
39
|
-
version_requirements: !ruby/object:Gem::Requirement
|
50
|
+
prerelease: false
|
51
|
+
requirement: &id003 !ruby/object:Gem::Requirement
|
40
52
|
requirements:
|
41
53
|
- - "="
|
42
54
|
- !ruby/object:Gem::Version
|
43
|
-
|
44
|
-
|
55
|
+
segments:
|
56
|
+
- 0
|
57
|
+
- 5
|
58
|
+
- 3
|
59
|
+
version: 0.5.3
|
60
|
+
type: :development
|
61
|
+
version_requirements: *id003
|
45
62
|
- !ruby/object:Gem::Dependency
|
46
63
|
name: bluecloth
|
47
|
-
|
48
|
-
|
49
|
-
version_requirements: !ruby/object:Gem::Requirement
|
64
|
+
prerelease: false
|
65
|
+
requirement: &id004 !ruby/object:Gem::Requirement
|
50
66
|
requirements:
|
51
67
|
- - "="
|
52
68
|
- !ruby/object:Gem::Version
|
53
|
-
|
54
|
-
|
69
|
+
segments:
|
70
|
+
- 2
|
71
|
+
- 0
|
72
|
+
- 7
|
73
|
+
version: 2.0.7
|
74
|
+
type: :development
|
75
|
+
version_requirements: *id004
|
55
76
|
description: Plows the fertile soil of your filesystem into neatly organized plots of web-site templates
|
56
77
|
email: code@ryansobol.com
|
57
78
|
executables:
|
@@ -107,18 +128,22 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
107
128
|
requirements:
|
108
129
|
- - ~>
|
109
130
|
- !ruby/object:Gem::Version
|
131
|
+
segments:
|
132
|
+
- 1
|
133
|
+
- 9
|
134
|
+
- 1
|
110
135
|
version: 1.9.1
|
111
|
-
version:
|
112
136
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
113
137
|
requirements:
|
114
138
|
- - ">="
|
115
139
|
- !ruby/object:Gem::Version
|
140
|
+
segments:
|
141
|
+
- 0
|
116
142
|
version: "0"
|
117
|
-
version:
|
118
143
|
requirements: []
|
119
144
|
|
120
145
|
rubyforge_project: plow
|
121
|
-
rubygems_version: 1.3.
|
146
|
+
rubygems_version: 1.3.6
|
122
147
|
signing_key:
|
123
148
|
specification_version: 3
|
124
149
|
summary: Plows the fertile soil of your filesystem into neatly organized plots of web-site templates
|