mattock 0.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/doc/README +2 -0
- data/doc/Specifications +36 -0
- data/doc/coverage/assets/0.5.3/app.js +88 -0
- data/doc/coverage/assets/0.5.3/fancybox/blank.gif +0 -0
- data/doc/coverage/assets/0.5.3/fancybox/fancy_close.png +0 -0
- data/doc/coverage/assets/0.5.3/fancybox/fancy_loading.png +0 -0
- data/doc/coverage/assets/0.5.3/fancybox/fancy_nav_left.png +0 -0
- data/doc/coverage/assets/0.5.3/fancybox/fancy_nav_right.png +0 -0
- data/doc/coverage/assets/0.5.3/fancybox/fancy_shadow_e.png +0 -0
- data/doc/coverage/assets/0.5.3/fancybox/fancy_shadow_n.png +0 -0
- data/doc/coverage/assets/0.5.3/fancybox/fancy_shadow_ne.png +0 -0
- data/doc/coverage/assets/0.5.3/fancybox/fancy_shadow_nw.png +0 -0
- data/doc/coverage/assets/0.5.3/fancybox/fancy_shadow_s.png +0 -0
- data/doc/coverage/assets/0.5.3/fancybox/fancy_shadow_se.png +0 -0
- data/doc/coverage/assets/0.5.3/fancybox/fancy_shadow_sw.png +0 -0
- data/doc/coverage/assets/0.5.3/fancybox/fancy_shadow_w.png +0 -0
- data/doc/coverage/assets/0.5.3/fancybox/fancy_title_left.png +0 -0
- data/doc/coverage/assets/0.5.3/fancybox/fancy_title_main.png +0 -0
- data/doc/coverage/assets/0.5.3/fancybox/fancy_title_over.png +0 -0
- data/doc/coverage/assets/0.5.3/fancybox/fancy_title_right.png +0 -0
- data/doc/coverage/assets/0.5.3/fancybox/fancybox-x.png +0 -0
- data/doc/coverage/assets/0.5.3/fancybox/fancybox-y.png +0 -0
- data/doc/coverage/assets/0.5.3/fancybox/fancybox.png +0 -0
- data/doc/coverage/assets/0.5.3/fancybox/jquery.fancybox-1.3.1.css +363 -0
- data/doc/coverage/assets/0.5.3/fancybox/jquery.fancybox-1.3.1.pack.js +44 -0
- data/doc/coverage/assets/0.5.3/favicon_green.png +0 -0
- data/doc/coverage/assets/0.5.3/favicon_red.png +0 -0
- data/doc/coverage/assets/0.5.3/favicon_yellow.png +0 -0
- data/doc/coverage/assets/0.5.3/highlight.css +129 -0
- data/doc/coverage/assets/0.5.3/highlight.pack.js +1 -0
- data/doc/coverage/assets/0.5.3/jquery-1.6.2.min.js +18 -0
- data/doc/coverage/assets/0.5.3/jquery.dataTables.min.js +152 -0
- data/doc/coverage/assets/0.5.3/jquery.timeago.js +141 -0
- data/doc/coverage/assets/0.5.3/jquery.url.js +174 -0
- data/doc/coverage/assets/0.5.3/loading.gif +0 -0
- data/doc/coverage/assets/0.5.3/magnify.png +0 -0
- data/doc/coverage/assets/0.5.3/smoothness/images/ui-bg_flat_0_aaaaaa_40x100.png +0 -0
- data/doc/coverage/assets/0.5.3/smoothness/images/ui-bg_flat_75_ffffff_40x100.png +0 -0
- data/doc/coverage/assets/0.5.3/smoothness/images/ui-bg_glass_55_fbf9ee_1x400.png +0 -0
- data/doc/coverage/assets/0.5.3/smoothness/images/ui-bg_glass_65_ffffff_1x400.png +0 -0
- data/doc/coverage/assets/0.5.3/smoothness/images/ui-bg_glass_75_dadada_1x400.png +0 -0
- data/doc/coverage/assets/0.5.3/smoothness/images/ui-bg_glass_75_e6e6e6_1x400.png +0 -0
- data/doc/coverage/assets/0.5.3/smoothness/images/ui-bg_glass_95_fef1ec_1x400.png +0 -0
- data/doc/coverage/assets/0.5.3/smoothness/images/ui-bg_highlight-soft_75_cccccc_1x100.png +0 -0
- data/doc/coverage/assets/0.5.3/smoothness/images/ui-icons_222222_256x240.png +0 -0
- data/doc/coverage/assets/0.5.3/smoothness/images/ui-icons_2e83ff_256x240.png +0 -0
- data/doc/coverage/assets/0.5.3/smoothness/images/ui-icons_454545_256x240.png +0 -0
- data/doc/coverage/assets/0.5.3/smoothness/images/ui-icons_888888_256x240.png +0 -0
- data/doc/coverage/assets/0.5.3/smoothness/images/ui-icons_cd0a0a_256x240.png +0 -0
- data/doc/coverage/assets/0.5.3/smoothness/jquery-ui-1.8.4.custom.css +295 -0
- data/doc/coverage/assets/0.5.3/stylesheet.css +383 -0
- data/doc/coverage/index.html +3969 -0
- data/lib/mattock.rb +4 -0
- data/lib/mattock/command-line.rb +157 -0
- data/lib/mattock/command-task.rb +51 -0
- data/lib/mattock/configurable.rb +129 -0
- data/lib/mattock/remote-command-task.rb +30 -0
- data/lib/mattock/tasklib.rb +76 -0
- data/lib/mattock/template-host.rb +54 -0
- data/lib/mattock/testing/mock-command-line.rb +26 -0
- data/lib/mattock/testing/rake-example-group.rb +79 -0
- data/spec/command-line.rb +59 -0
- data/spec/command-task.rb +39 -0
- data/spec/configurable.rb +45 -0
- data/spec/tasklib.rb +42 -0
- data/spec_help/gem_test_suite.rb +17 -0
- data/spec_help/spec_helper.rb +2 -0
- metadata +215 -0
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
require 'tilt'
|
|
2
|
+
require 'valise'
|
|
3
|
+
|
|
4
|
+
module Mattock
|
|
5
|
+
module ValiseManager
|
|
6
|
+
def default_valise(*dirs)
|
|
7
|
+
Valise::Set.define do
|
|
8
|
+
dirs.each do |dir|
|
|
9
|
+
ro dir
|
|
10
|
+
end
|
|
11
|
+
end
|
|
12
|
+
end
|
|
13
|
+
|
|
14
|
+
def rel_dir(base_path = nil, up_to = nil)
|
|
15
|
+
base_path ||= /(.*):\d+/.match(caller[0])[1]
|
|
16
|
+
up_to ||= "lib"
|
|
17
|
+
|
|
18
|
+
abs_path = File::expand_path(base_path)
|
|
19
|
+
base_path = abs_path.split(File::Separator)
|
|
20
|
+
until base_path.empty?
|
|
21
|
+
unless base_path.last == up_to
|
|
22
|
+
base_path.pop
|
|
23
|
+
else
|
|
24
|
+
break
|
|
25
|
+
end
|
|
26
|
+
end
|
|
27
|
+
|
|
28
|
+
if base_path.empty?
|
|
29
|
+
raise "Relative root #{up_to} not found in #{abs_path}"
|
|
30
|
+
end
|
|
31
|
+
|
|
32
|
+
return base_path
|
|
33
|
+
end
|
|
34
|
+
module_function :rel_dir, :default_valise
|
|
35
|
+
end
|
|
36
|
+
|
|
37
|
+
module TemplateHost
|
|
38
|
+
def self.template_cache
|
|
39
|
+
@template_cache ||= Tilt::Cache.new
|
|
40
|
+
end
|
|
41
|
+
|
|
42
|
+
attr_accessor :valise
|
|
43
|
+
|
|
44
|
+
def render(path, locals=nil)
|
|
45
|
+
template = TemplateHost::template_cache.fetch(path) do
|
|
46
|
+
Tilt.new(path) do |tmpl|
|
|
47
|
+
valise.find(["templates"] + valise.unpath(tmpl.file)).contents
|
|
48
|
+
end
|
|
49
|
+
end
|
|
50
|
+
|
|
51
|
+
template.render(self, locals)
|
|
52
|
+
end
|
|
53
|
+
end
|
|
54
|
+
end
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
require 'mattock/command-line'
|
|
2
|
+
|
|
3
|
+
module Mattock
|
|
4
|
+
class MockCommandResult < CommandRunResult
|
|
5
|
+
def self.create(*args)
|
|
6
|
+
if args.length == 1
|
|
7
|
+
args = [args[0], {1 => ""}]
|
|
8
|
+
end
|
|
9
|
+
|
|
10
|
+
if String == args[1]
|
|
11
|
+
args[1] = {1 => args[1]}
|
|
12
|
+
end
|
|
13
|
+
|
|
14
|
+
return self.new(*args)
|
|
15
|
+
end
|
|
16
|
+
|
|
17
|
+
def initialize(code, streams)
|
|
18
|
+
@streams = streams
|
|
19
|
+
@exit_code = code
|
|
20
|
+
end
|
|
21
|
+
|
|
22
|
+
attr_reader :exit_code, :streams
|
|
23
|
+
|
|
24
|
+
alias exit_status exit_code
|
|
25
|
+
end
|
|
26
|
+
end
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
require 'rake'
|
|
2
|
+
|
|
3
|
+
module Mattock
|
|
4
|
+
module RakeExampleGroup
|
|
5
|
+
SavedEnvironmentVariables = %w{APPDATA HOME HOMEDRIVE HOMEPATH RAKE_COLUMNS RAKE_SYSTEM RAKEOPT USERPROFILE}
|
|
6
|
+
DeletedEnvironmentVariables = %w{RAKE_COLUMNS RAKE_SYSTEM RAKEOPT}
|
|
7
|
+
include Rake::DSL
|
|
8
|
+
#include FileUtils
|
|
9
|
+
|
|
10
|
+
class TaskManager
|
|
11
|
+
include Rake::TaskManager
|
|
12
|
+
end
|
|
13
|
+
|
|
14
|
+
def self.included(mod)
|
|
15
|
+
mod.class_eval do
|
|
16
|
+
let! :rake do
|
|
17
|
+
Rake.application = Rake::Application.new
|
|
18
|
+
Rake::TaskManager.record_task_metadata = true
|
|
19
|
+
RakeFileUtils.verbose_flag = false
|
|
20
|
+
Rake.application
|
|
21
|
+
end
|
|
22
|
+
|
|
23
|
+
before :each do
|
|
24
|
+
ARGV.clear
|
|
25
|
+
|
|
26
|
+
@original_ENV = {}
|
|
27
|
+
SavedEnvironmentVariables.each do |var|
|
|
28
|
+
@original_ENV[var] = ENV[var]
|
|
29
|
+
end
|
|
30
|
+
DeletedEnvironmentVariables.each do |var|
|
|
31
|
+
ENV.delete(var)
|
|
32
|
+
end
|
|
33
|
+
|
|
34
|
+
end
|
|
35
|
+
|
|
36
|
+
after :each do
|
|
37
|
+
SavedEnvironmentVariables.each do |var|
|
|
38
|
+
ENV[var] = @original_ENV[var]
|
|
39
|
+
end
|
|
40
|
+
|
|
41
|
+
if @original_ENV['APPDATA'].nil?
|
|
42
|
+
ENV.delete 'APPDATA'
|
|
43
|
+
end
|
|
44
|
+
end
|
|
45
|
+
|
|
46
|
+
before :each do
|
|
47
|
+
@tempdir = File.join "/tmp", "test_mattock_#{$$}"
|
|
48
|
+
|
|
49
|
+
@original_PWD = Dir.pwd
|
|
50
|
+
FileUtils.mkdir_p @tempdir
|
|
51
|
+
Dir.chdir @tempdir
|
|
52
|
+
end
|
|
53
|
+
|
|
54
|
+
after :each do
|
|
55
|
+
Dir.chdir @original_PWD
|
|
56
|
+
FileUtils.rm_rf @tempdir
|
|
57
|
+
end
|
|
58
|
+
end
|
|
59
|
+
end
|
|
60
|
+
|
|
61
|
+
module Matchers
|
|
62
|
+
extend RSpec::Matchers::DSL
|
|
63
|
+
|
|
64
|
+
define :have_task do |name|
|
|
65
|
+
match do |rake|
|
|
66
|
+
!rake.lookup("rake:" + name.to_s).nil?
|
|
67
|
+
end
|
|
68
|
+
end
|
|
69
|
+
|
|
70
|
+
define :depend_on do |name|
|
|
71
|
+
match do |task|
|
|
72
|
+
task.prerequisites.include?(name)
|
|
73
|
+
end
|
|
74
|
+
end
|
|
75
|
+
end
|
|
76
|
+
|
|
77
|
+
include Matchers
|
|
78
|
+
end
|
|
79
|
+
end
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
require 'mattock/command-line'
|
|
2
|
+
require 'mattock/testing/rake-example-group'
|
|
3
|
+
require 'mattock/testing/mock-command-line'
|
|
4
|
+
|
|
5
|
+
describe Mattock::CommandLine do
|
|
6
|
+
let :commandline do
|
|
7
|
+
Mattock::CommandLine.new('echo', "-n") do |cmd|
|
|
8
|
+
cmd.options << "Some text"
|
|
9
|
+
end
|
|
10
|
+
end
|
|
11
|
+
|
|
12
|
+
it "should have a name set" do
|
|
13
|
+
commandline.name.should == "echo"
|
|
14
|
+
end
|
|
15
|
+
|
|
16
|
+
it "should produce a command string" do
|
|
17
|
+
commandline.command.should == "echo -n Some text"
|
|
18
|
+
end
|
|
19
|
+
|
|
20
|
+
it "should succeed" do
|
|
21
|
+
commandline.succeeds?.should be_true
|
|
22
|
+
end
|
|
23
|
+
|
|
24
|
+
it "should not complain about success" do
|
|
25
|
+
expect do
|
|
26
|
+
commandline.must_succeed!
|
|
27
|
+
end.to_not raise_error
|
|
28
|
+
end
|
|
29
|
+
|
|
30
|
+
describe Mattock::CommandRunResult do
|
|
31
|
+
let :result do
|
|
32
|
+
commandline.run
|
|
33
|
+
end
|
|
34
|
+
|
|
35
|
+
it "should have a result code" do
|
|
36
|
+
result.exit_code.should == 0
|
|
37
|
+
end
|
|
38
|
+
|
|
39
|
+
it "should have stdout" do
|
|
40
|
+
result.stdout.should == "Some text"
|
|
41
|
+
end
|
|
42
|
+
end
|
|
43
|
+
end
|
|
44
|
+
|
|
45
|
+
describe Mattock::CommandLine, "that fails" do
|
|
46
|
+
let :commandline do
|
|
47
|
+
Mattock::CommandLine.new("false")
|
|
48
|
+
end
|
|
49
|
+
|
|
50
|
+
it "should not succeed" do
|
|
51
|
+
commandline.succeeds?.should == false
|
|
52
|
+
end
|
|
53
|
+
|
|
54
|
+
it "should raise error if succeed demanded" do
|
|
55
|
+
expect do
|
|
56
|
+
commandline.must_succeed
|
|
57
|
+
end.to raise_error
|
|
58
|
+
end
|
|
59
|
+
end
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
require 'mattock/remote-command-task'
|
|
2
|
+
require 'mattock/testing/rake-example-group'
|
|
3
|
+
require 'mattock/testing/mock-command-line'
|
|
4
|
+
|
|
5
|
+
describe Mattock::RemoteCommandTask do
|
|
6
|
+
include Mattock::RakeExampleGroup
|
|
7
|
+
let! :remote_task do
|
|
8
|
+
Mattock::RemoteCommandTask.new do |t|
|
|
9
|
+
t.namespace_name = :test
|
|
10
|
+
t.remote_server.address = "nowhere.com"
|
|
11
|
+
t.command = Mattock::PrereqChain.new do |prereq|
|
|
12
|
+
prereq.add Mattock::CommandLine.new("cd", "a_dir")
|
|
13
|
+
prereq.add Mattock::PipelineChain.new do |pipe|
|
|
14
|
+
pipe.add Mattock::CommandLine.new("ls")
|
|
15
|
+
pipe.add Mattock::CommandLine.new("grep") do |cmd|
|
|
16
|
+
cmd.options << "*.rb"
|
|
17
|
+
cmd.redirect_stderr("/dev/null")
|
|
18
|
+
cmd.redirect_stdout("/tmp/rubyfiles.txt")
|
|
19
|
+
end
|
|
20
|
+
end
|
|
21
|
+
end
|
|
22
|
+
t.verify_command = Mattock::CommandLine.new("should_do")
|
|
23
|
+
end
|
|
24
|
+
end
|
|
25
|
+
|
|
26
|
+
describe "when verification indicates command should proceed" do
|
|
27
|
+
it "should run both commands" do
|
|
28
|
+
cmds = [/should_do/, /^ssh.*cd.*ls.*grep.*rubyfiles.txt/]
|
|
29
|
+
res = [1, 0]
|
|
30
|
+
Mattock::CommandLine.should_receive(:execute) do |cmd|
|
|
31
|
+
cmd.should =~ cmds.shift
|
|
32
|
+
Mattock::MockCommandResult.create(res.shift)
|
|
33
|
+
end.exactly(2).times
|
|
34
|
+
|
|
35
|
+
rake["test:run"].invoke
|
|
36
|
+
cmds.should == []
|
|
37
|
+
end
|
|
38
|
+
end
|
|
39
|
+
end
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
describe Mattock::Configurable do
|
|
2
|
+
class TestSuperStruct
|
|
3
|
+
include Mattock::Configurable
|
|
4
|
+
|
|
5
|
+
setting(:three, 3)
|
|
6
|
+
required_field(:four)
|
|
7
|
+
end
|
|
8
|
+
|
|
9
|
+
class TestStruct < TestSuperStruct
|
|
10
|
+
settings(:one => 1, :two => nested(:a => "a").required_field(:b))
|
|
11
|
+
nil_field(:five)
|
|
12
|
+
end
|
|
13
|
+
|
|
14
|
+
subject do
|
|
15
|
+
TestStruct.new.setup_defaults
|
|
16
|
+
end
|
|
17
|
+
|
|
18
|
+
it "should set defaults" do
|
|
19
|
+
subject.one.should == 1
|
|
20
|
+
subject.two.a.should == "a"
|
|
21
|
+
subject.three.should == 3
|
|
22
|
+
subject.five.should be_nil
|
|
23
|
+
end
|
|
24
|
+
|
|
25
|
+
it "should complain about unset required fields" do
|
|
26
|
+
expect do
|
|
27
|
+
subject.check_required
|
|
28
|
+
end.to raise_error
|
|
29
|
+
end
|
|
30
|
+
|
|
31
|
+
it "should complain about unset nested required fields" do
|
|
32
|
+
subject.four = 4
|
|
33
|
+
expect do
|
|
34
|
+
subject.check_required
|
|
35
|
+
end.to raise_error
|
|
36
|
+
end
|
|
37
|
+
|
|
38
|
+
it "should not complain when required fields are set" do
|
|
39
|
+
subject.four = 4
|
|
40
|
+
subject.two.b = "b"
|
|
41
|
+
expect do
|
|
42
|
+
subject.check_required
|
|
43
|
+
end.to_not raise_error
|
|
44
|
+
end
|
|
45
|
+
end
|
data/spec/tasklib.rb
ADDED
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
require 'mattock/tasklib'
|
|
2
|
+
require 'mattock/testing/rake-example-group'
|
|
3
|
+
|
|
4
|
+
describe Mattock::Tasklib do
|
|
5
|
+
include Mattock::RakeExampleGroup
|
|
6
|
+
|
|
7
|
+
class TestTaskLib < Mattock::TaskLib
|
|
8
|
+
default_namespace :test
|
|
9
|
+
def define
|
|
10
|
+
in_namespace do
|
|
11
|
+
task :task
|
|
12
|
+
end
|
|
13
|
+
|
|
14
|
+
task root_task => self[:task]
|
|
15
|
+
end
|
|
16
|
+
end
|
|
17
|
+
|
|
18
|
+
let! :tasklib do
|
|
19
|
+
TestTaskLib.new
|
|
20
|
+
end
|
|
21
|
+
|
|
22
|
+
|
|
23
|
+
it "should define a root task" do
|
|
24
|
+
rake.should have_task(:test)
|
|
25
|
+
end
|
|
26
|
+
|
|
27
|
+
it "should define a namespaced task" do
|
|
28
|
+
rake.should have_task("test:task")
|
|
29
|
+
end
|
|
30
|
+
|
|
31
|
+
it "should make root task depend on namespaced" do
|
|
32
|
+
rake.lookup(:test).should depend_on("test:task")
|
|
33
|
+
end
|
|
34
|
+
|
|
35
|
+
it "should not define random tasks" do
|
|
36
|
+
rake.should_not have_task("random:tasks")
|
|
37
|
+
end
|
|
38
|
+
|
|
39
|
+
it "should not make namespaced task depend on root task" do
|
|
40
|
+
rake["test:task"].should_not depend_on("test")
|
|
41
|
+
end
|
|
42
|
+
end
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
puts Dir::pwd
|
|
2
|
+
require 'test/unit'
|
|
3
|
+
begin
|
|
4
|
+
require 'spec'
|
|
5
|
+
rescue LoadError
|
|
6
|
+
false
|
|
7
|
+
end
|
|
8
|
+
|
|
9
|
+
class RSpecTest < Test::Unit::TestCase
|
|
10
|
+
def test_that_rspec_is_available
|
|
11
|
+
assert_nothing_raised("\n\n * RSpec isn't available - please run: gem install rspec *\n\n"){ ::Spec }
|
|
12
|
+
end
|
|
13
|
+
|
|
14
|
+
def test_that_specs_pass
|
|
15
|
+
assert(system(*%w{spec -f e -p **/*.rb spec}),"\n\n * Specs failed *\n\n")
|
|
16
|
+
end
|
|
17
|
+
end
|
metadata
ADDED
|
@@ -0,0 +1,215 @@
|
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
|
2
|
+
name: mattock
|
|
3
|
+
version: !ruby/object:Gem::Version
|
|
4
|
+
prerelease:
|
|
5
|
+
version: 0.0.1
|
|
6
|
+
platform: ruby
|
|
7
|
+
authors:
|
|
8
|
+
- Judson Lester
|
|
9
|
+
autorequire:
|
|
10
|
+
bindir: bin
|
|
11
|
+
cert_chain: []
|
|
12
|
+
|
|
13
|
+
date: 2012-01-21 00:00:00 Z
|
|
14
|
+
dependencies:
|
|
15
|
+
- !ruby/object:Gem::Dependency
|
|
16
|
+
name: corundum
|
|
17
|
+
requirement: &id001 !ruby/object:Gem::Requirement
|
|
18
|
+
none: false
|
|
19
|
+
requirements:
|
|
20
|
+
- - ~>
|
|
21
|
+
- !ruby/object:Gem::Version
|
|
22
|
+
version: 0.0.1
|
|
23
|
+
type: :development
|
|
24
|
+
prerelease: false
|
|
25
|
+
version_requirements: *id001
|
|
26
|
+
- !ruby/object:Gem::Dependency
|
|
27
|
+
name: valise
|
|
28
|
+
requirement: &id002 !ruby/object:Gem::Requirement
|
|
29
|
+
none: false
|
|
30
|
+
requirements:
|
|
31
|
+
- - ">"
|
|
32
|
+
- !ruby/object:Gem::Version
|
|
33
|
+
segments:
|
|
34
|
+
- 0
|
|
35
|
+
version: "0"
|
|
36
|
+
type: :runtime
|
|
37
|
+
prerelease: false
|
|
38
|
+
version_requirements: *id002
|
|
39
|
+
- !ruby/object:Gem::Dependency
|
|
40
|
+
name: tilt
|
|
41
|
+
requirement: &id003 !ruby/object:Gem::Requirement
|
|
42
|
+
none: false
|
|
43
|
+
requirements:
|
|
44
|
+
- - ">"
|
|
45
|
+
- !ruby/object:Gem::Version
|
|
46
|
+
segments:
|
|
47
|
+
- 0
|
|
48
|
+
version: "0"
|
|
49
|
+
type: :runtime
|
|
50
|
+
prerelease: false
|
|
51
|
+
version_requirements: *id003
|
|
52
|
+
description: " If Rake won't do it by itself, you oughtta Mattock.\n\n If you survived the pun, you might enjoy this gem.\n\n Features:\n Extensions to Tasklibs to support powerful deerpaths.\n A commandline library that supports mocking for tests.\n A module to support common templating patterns\n\n"
|
|
53
|
+
email:
|
|
54
|
+
- nyarly@gmail.com
|
|
55
|
+
executables: []
|
|
56
|
+
|
|
57
|
+
extensions: []
|
|
58
|
+
|
|
59
|
+
extra_rdoc_files:
|
|
60
|
+
- doc/README
|
|
61
|
+
- doc/Specifications
|
|
62
|
+
- doc/coverage/index.html
|
|
63
|
+
- doc/coverage/assets/0.5.3/highlight.css
|
|
64
|
+
- doc/coverage/assets/0.5.3/favicon_yellow.png
|
|
65
|
+
- doc/coverage/assets/0.5.3/jquery.dataTables.min.js
|
|
66
|
+
- doc/coverage/assets/0.5.3/stylesheet.css
|
|
67
|
+
- doc/coverage/assets/0.5.3/fancybox/fancy_shadow_sw.png
|
|
68
|
+
- doc/coverage/assets/0.5.3/fancybox/fancy_shadow_e.png
|
|
69
|
+
- doc/coverage/assets/0.5.3/fancybox/blank.gif
|
|
70
|
+
- doc/coverage/assets/0.5.3/fancybox/fancy_shadow_n.png
|
|
71
|
+
- doc/coverage/assets/0.5.3/fancybox/fancy_shadow_s.png
|
|
72
|
+
- doc/coverage/assets/0.5.3/fancybox/fancy_shadow_w.png
|
|
73
|
+
- doc/coverage/assets/0.5.3/fancybox/fancy_title_over.png
|
|
74
|
+
- doc/coverage/assets/0.5.3/fancybox/fancy_close.png
|
|
75
|
+
- doc/coverage/assets/0.5.3/fancybox/fancy_loading.png
|
|
76
|
+
- doc/coverage/assets/0.5.3/fancybox/jquery.fancybox-1.3.1.pack.js
|
|
77
|
+
- doc/coverage/assets/0.5.3/fancybox/fancybox-x.png
|
|
78
|
+
- doc/coverage/assets/0.5.3/fancybox/fancybox-y.png
|
|
79
|
+
- doc/coverage/assets/0.5.3/fancybox/fancy_nav_right.png
|
|
80
|
+
- doc/coverage/assets/0.5.3/fancybox/fancybox.png
|
|
81
|
+
- doc/coverage/assets/0.5.3/fancybox/jquery.fancybox-1.3.1.css
|
|
82
|
+
- doc/coverage/assets/0.5.3/fancybox/fancy_title_right.png
|
|
83
|
+
- doc/coverage/assets/0.5.3/fancybox/fancy_title_left.png
|
|
84
|
+
- doc/coverage/assets/0.5.3/fancybox/fancy_shadow_ne.png
|
|
85
|
+
- doc/coverage/assets/0.5.3/fancybox/fancy_title_main.png
|
|
86
|
+
- doc/coverage/assets/0.5.3/fancybox/fancy_shadow_nw.png
|
|
87
|
+
- doc/coverage/assets/0.5.3/fancybox/fancy_nav_left.png
|
|
88
|
+
- doc/coverage/assets/0.5.3/fancybox/fancy_shadow_se.png
|
|
89
|
+
- doc/coverage/assets/0.5.3/favicon_green.png
|
|
90
|
+
- doc/coverage/assets/0.5.3/magnify.png
|
|
91
|
+
- doc/coverage/assets/0.5.3/smoothness/jquery-ui-1.8.4.custom.css
|
|
92
|
+
- doc/coverage/assets/0.5.3/smoothness/images/ui-icons_888888_256x240.png
|
|
93
|
+
- doc/coverage/assets/0.5.3/smoothness/images/ui-bg_glass_55_fbf9ee_1x400.png
|
|
94
|
+
- doc/coverage/assets/0.5.3/smoothness/images/ui-bg_flat_75_ffffff_40x100.png
|
|
95
|
+
- doc/coverage/assets/0.5.3/smoothness/images/ui-bg_glass_75_e6e6e6_1x400.png
|
|
96
|
+
- doc/coverage/assets/0.5.3/smoothness/images/ui-icons_2e83ff_256x240.png
|
|
97
|
+
- doc/coverage/assets/0.5.3/smoothness/images/ui-icons_454545_256x240.png
|
|
98
|
+
- doc/coverage/assets/0.5.3/smoothness/images/ui-icons_cd0a0a_256x240.png
|
|
99
|
+
- doc/coverage/assets/0.5.3/smoothness/images/ui-icons_222222_256x240.png
|
|
100
|
+
- doc/coverage/assets/0.5.3/smoothness/images/ui-bg_glass_75_dadada_1x400.png
|
|
101
|
+
- doc/coverage/assets/0.5.3/smoothness/images/ui-bg_flat_0_aaaaaa_40x100.png
|
|
102
|
+
- doc/coverage/assets/0.5.3/smoothness/images/ui-bg_highlight-soft_75_cccccc_1x100.png
|
|
103
|
+
- doc/coverage/assets/0.5.3/smoothness/images/ui-bg_glass_65_ffffff_1x400.png
|
|
104
|
+
- doc/coverage/assets/0.5.3/smoothness/images/ui-bg_glass_95_fef1ec_1x400.png
|
|
105
|
+
- doc/coverage/assets/0.5.3/jquery.url.js
|
|
106
|
+
- doc/coverage/assets/0.5.3/app.js
|
|
107
|
+
- doc/coverage/assets/0.5.3/favicon_red.png
|
|
108
|
+
- doc/coverage/assets/0.5.3/highlight.pack.js
|
|
109
|
+
- doc/coverage/assets/0.5.3/jquery.timeago.js
|
|
110
|
+
- doc/coverage/assets/0.5.3/loading.gif
|
|
111
|
+
- doc/coverage/assets/0.5.3/jquery-1.6.2.min.js
|
|
112
|
+
files:
|
|
113
|
+
- lib/mattock/command-line.rb
|
|
114
|
+
- lib/mattock/command-task.rb
|
|
115
|
+
- lib/mattock/testing/rake-example-group.rb
|
|
116
|
+
- lib/mattock/testing/mock-command-line.rb
|
|
117
|
+
- lib/mattock/template-host.rb
|
|
118
|
+
- lib/mattock/remote-command-task.rb
|
|
119
|
+
- lib/mattock/tasklib.rb
|
|
120
|
+
- lib/mattock/configurable.rb
|
|
121
|
+
- lib/mattock.rb
|
|
122
|
+
- doc/README
|
|
123
|
+
- doc/Specifications
|
|
124
|
+
- spec/command-line.rb
|
|
125
|
+
- spec/command-task.rb
|
|
126
|
+
- spec/tasklib.rb
|
|
127
|
+
- spec/configurable.rb
|
|
128
|
+
- spec_help/spec_helper.rb
|
|
129
|
+
- spec_help/gem_test_suite.rb
|
|
130
|
+
- doc/coverage/index.html
|
|
131
|
+
- doc/coverage/assets/0.5.3/highlight.css
|
|
132
|
+
- doc/coverage/assets/0.5.3/favicon_yellow.png
|
|
133
|
+
- doc/coverage/assets/0.5.3/jquery.dataTables.min.js
|
|
134
|
+
- doc/coverage/assets/0.5.3/stylesheet.css
|
|
135
|
+
- doc/coverage/assets/0.5.3/fancybox/fancy_shadow_sw.png
|
|
136
|
+
- doc/coverage/assets/0.5.3/fancybox/fancy_shadow_e.png
|
|
137
|
+
- doc/coverage/assets/0.5.3/fancybox/blank.gif
|
|
138
|
+
- doc/coverage/assets/0.5.3/fancybox/fancy_shadow_n.png
|
|
139
|
+
- doc/coverage/assets/0.5.3/fancybox/fancy_shadow_s.png
|
|
140
|
+
- doc/coverage/assets/0.5.3/fancybox/fancy_shadow_w.png
|
|
141
|
+
- doc/coverage/assets/0.5.3/fancybox/fancy_title_over.png
|
|
142
|
+
- doc/coverage/assets/0.5.3/fancybox/fancy_close.png
|
|
143
|
+
- doc/coverage/assets/0.5.3/fancybox/fancy_loading.png
|
|
144
|
+
- doc/coverage/assets/0.5.3/fancybox/jquery.fancybox-1.3.1.pack.js
|
|
145
|
+
- doc/coverage/assets/0.5.3/fancybox/fancybox-x.png
|
|
146
|
+
- doc/coverage/assets/0.5.3/fancybox/fancybox-y.png
|
|
147
|
+
- doc/coverage/assets/0.5.3/fancybox/fancy_nav_right.png
|
|
148
|
+
- doc/coverage/assets/0.5.3/fancybox/fancybox.png
|
|
149
|
+
- doc/coverage/assets/0.5.3/fancybox/jquery.fancybox-1.3.1.css
|
|
150
|
+
- doc/coverage/assets/0.5.3/fancybox/fancy_title_right.png
|
|
151
|
+
- doc/coverage/assets/0.5.3/fancybox/fancy_title_left.png
|
|
152
|
+
- doc/coverage/assets/0.5.3/fancybox/fancy_shadow_ne.png
|
|
153
|
+
- doc/coverage/assets/0.5.3/fancybox/fancy_title_main.png
|
|
154
|
+
- doc/coverage/assets/0.5.3/fancybox/fancy_shadow_nw.png
|
|
155
|
+
- doc/coverage/assets/0.5.3/fancybox/fancy_nav_left.png
|
|
156
|
+
- doc/coverage/assets/0.5.3/fancybox/fancy_shadow_se.png
|
|
157
|
+
- doc/coverage/assets/0.5.3/favicon_green.png
|
|
158
|
+
- doc/coverage/assets/0.5.3/magnify.png
|
|
159
|
+
- doc/coverage/assets/0.5.3/smoothness/jquery-ui-1.8.4.custom.css
|
|
160
|
+
- doc/coverage/assets/0.5.3/smoothness/images/ui-icons_888888_256x240.png
|
|
161
|
+
- doc/coverage/assets/0.5.3/smoothness/images/ui-bg_glass_55_fbf9ee_1x400.png
|
|
162
|
+
- doc/coverage/assets/0.5.3/smoothness/images/ui-bg_flat_75_ffffff_40x100.png
|
|
163
|
+
- doc/coverage/assets/0.5.3/smoothness/images/ui-bg_glass_75_e6e6e6_1x400.png
|
|
164
|
+
- doc/coverage/assets/0.5.3/smoothness/images/ui-icons_2e83ff_256x240.png
|
|
165
|
+
- doc/coverage/assets/0.5.3/smoothness/images/ui-icons_454545_256x240.png
|
|
166
|
+
- doc/coverage/assets/0.5.3/smoothness/images/ui-icons_cd0a0a_256x240.png
|
|
167
|
+
- doc/coverage/assets/0.5.3/smoothness/images/ui-icons_222222_256x240.png
|
|
168
|
+
- doc/coverage/assets/0.5.3/smoothness/images/ui-bg_glass_75_dadada_1x400.png
|
|
169
|
+
- doc/coverage/assets/0.5.3/smoothness/images/ui-bg_flat_0_aaaaaa_40x100.png
|
|
170
|
+
- doc/coverage/assets/0.5.3/smoothness/images/ui-bg_highlight-soft_75_cccccc_1x100.png
|
|
171
|
+
- doc/coverage/assets/0.5.3/smoothness/images/ui-bg_glass_65_ffffff_1x400.png
|
|
172
|
+
- doc/coverage/assets/0.5.3/smoothness/images/ui-bg_glass_95_fef1ec_1x400.png
|
|
173
|
+
- doc/coverage/assets/0.5.3/jquery.url.js
|
|
174
|
+
- doc/coverage/assets/0.5.3/app.js
|
|
175
|
+
- doc/coverage/assets/0.5.3/favicon_red.png
|
|
176
|
+
- doc/coverage/assets/0.5.3/highlight.pack.js
|
|
177
|
+
- doc/coverage/assets/0.5.3/jquery.timeago.js
|
|
178
|
+
- doc/coverage/assets/0.5.3/loading.gif
|
|
179
|
+
- doc/coverage/assets/0.5.3/jquery-1.6.2.min.js
|
|
180
|
+
homepage: http://mattock.rubyforge.org/
|
|
181
|
+
licenses:
|
|
182
|
+
- MIT
|
|
183
|
+
post_install_message: Another tidy package brought to you by Judson
|
|
184
|
+
rdoc_options:
|
|
185
|
+
- --inline-source
|
|
186
|
+
- --main
|
|
187
|
+
- doc/README
|
|
188
|
+
- --title
|
|
189
|
+
- mattock-0.0.1 RDoc
|
|
190
|
+
require_paths:
|
|
191
|
+
- lib/
|
|
192
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
|
193
|
+
none: false
|
|
194
|
+
requirements:
|
|
195
|
+
- - ">="
|
|
196
|
+
- !ruby/object:Gem::Version
|
|
197
|
+
hash: 304953233
|
|
198
|
+
segments:
|
|
199
|
+
- 0
|
|
200
|
+
version: "0"
|
|
201
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
|
202
|
+
none: false
|
|
203
|
+
requirements:
|
|
204
|
+
- - ">="
|
|
205
|
+
- !ruby/object:Gem::Version
|
|
206
|
+
version: "0"
|
|
207
|
+
requirements: []
|
|
208
|
+
|
|
209
|
+
rubyforge_project: mattock
|
|
210
|
+
rubygems_version: 1.8.11
|
|
211
|
+
signing_key:
|
|
212
|
+
specification_version: 3
|
|
213
|
+
summary: A powerful companion to Rake
|
|
214
|
+
test_files:
|
|
215
|
+
- spec_help/gem_test_suite.rb
|