mattock 0.3.1 → 0.3.2
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/lib/mattock/bundle-command-task.rb +53 -0
- data/lib/mattock/testing/mock-command-line.rb +1 -0
- data/spec/command-task.rb +19 -2
- metadata +10 -9
@@ -0,0 +1,53 @@
|
|
1
|
+
require 'mattock/command-task'
|
2
|
+
|
3
|
+
module Mattock
|
4
|
+
class BundleCommandTask < CommandTask
|
5
|
+
class BundleEnvCleaner < CommandLine
|
6
|
+
def initialize(original)
|
7
|
+
@original = original
|
8
|
+
end
|
9
|
+
|
10
|
+
def run
|
11
|
+
original_env = ENV.to_hash
|
12
|
+
if defined? Bundler
|
13
|
+
%w{
|
14
|
+
BUNDLER_EDITOR
|
15
|
+
BUNDLE_APP_CONFIG
|
16
|
+
BUNDLE_BIN_PATH
|
17
|
+
BUNDLE_CONFIG
|
18
|
+
BUNDLE_PATH
|
19
|
+
BUNDLE_SPEC_RUN
|
20
|
+
DEBUG
|
21
|
+
DEBUG_RESOLVER
|
22
|
+
EDITOR
|
23
|
+
GEM_HOME
|
24
|
+
GEM_PATH
|
25
|
+
MANPAGER
|
26
|
+
PAGER
|
27
|
+
PATH
|
28
|
+
RB_USER_INSTALL
|
29
|
+
RUBYOPT
|
30
|
+
VISUAL
|
31
|
+
}.each do |bundler_varname|
|
32
|
+
begin
|
33
|
+
ENV[bundler_varname] = Bundler::ORIGINAL_ENV.fetch(bundler_varname)
|
34
|
+
rescue KeyError
|
35
|
+
ENV.delete(bundler_varname)
|
36
|
+
end
|
37
|
+
end
|
38
|
+
end
|
39
|
+
%w{
|
40
|
+
BUNDLE_GEMFILE
|
41
|
+
}
|
42
|
+
|
43
|
+
@original.run
|
44
|
+
ensure
|
45
|
+
ENV.replace(original_env)
|
46
|
+
end
|
47
|
+
end
|
48
|
+
|
49
|
+
def decorated(command)
|
50
|
+
BundleEnvCleaner.new(command)
|
51
|
+
end
|
52
|
+
end
|
53
|
+
end
|
data/spec/command-task.rb
CHANGED
@@ -1,9 +1,12 @@
|
|
1
1
|
require 'mattock/remote-command-task'
|
2
|
+
require 'mattock/bundle-command-task'
|
2
3
|
require 'mattock/testing/rake-example-group'
|
3
4
|
require 'mattock/testing/mock-command-line'
|
4
5
|
|
5
6
|
describe Mattock::RemoteCommandTask do
|
6
7
|
include Mattock::RakeExampleGroup
|
8
|
+
include Mattock::CommandLineExampleGroup
|
9
|
+
|
7
10
|
let! :remote_task do
|
8
11
|
namespace :test do
|
9
12
|
Mattock::RemoteCommandTask.new do |t|
|
@@ -25,8 +28,6 @@ describe Mattock::RemoteCommandTask do
|
|
25
28
|
end
|
26
29
|
|
27
30
|
describe "when verification indicates command should proceed" do
|
28
|
-
include Mattock::CommandLineExampleGroup
|
29
|
-
|
30
31
|
it "should run both commands" do
|
31
32
|
expect_command(/should_do/, 1)
|
32
33
|
expect_command(/^ssh.*cd.*ls.*grep.*rubyfiles.txt/, 0)
|
@@ -35,3 +36,19 @@ describe Mattock::RemoteCommandTask do
|
|
35
36
|
end
|
36
37
|
end
|
37
38
|
end
|
39
|
+
|
40
|
+
describe Mattock::BundleCommandTask do
|
41
|
+
include Mattock::RakeExampleGroup
|
42
|
+
include Mattock::CommandLineExampleGroup
|
43
|
+
|
44
|
+
let! :bundle_task do
|
45
|
+
Mattock::BundleCommandTask.new(:bundle_test) do |t|
|
46
|
+
t.command = cmd("bundle", "install", "--standalone")
|
47
|
+
end
|
48
|
+
end
|
49
|
+
|
50
|
+
it "should run command" do
|
51
|
+
expect_command(/bundle install/, 0)
|
52
|
+
rake["bundle_test"].invoke
|
53
|
+
end
|
54
|
+
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: mattock
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.3.
|
4
|
+
version: 0.3.2
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -13,7 +13,7 @@ date: 2012-10-25 00:00:00.000000000 Z
|
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: corundum
|
16
|
-
requirement: &
|
16
|
+
requirement: &81729820 !ruby/object:Gem::Requirement
|
17
17
|
none: false
|
18
18
|
requirements:
|
19
19
|
- - ~>
|
@@ -21,10 +21,10 @@ dependencies:
|
|
21
21
|
version: 0.0.1
|
22
22
|
type: :development
|
23
23
|
prerelease: false
|
24
|
-
version_requirements: *
|
24
|
+
version_requirements: *81729820
|
25
25
|
- !ruby/object:Gem::Dependency
|
26
26
|
name: valise
|
27
|
-
requirement: &
|
27
|
+
requirement: &81843990 !ruby/object:Gem::Requirement
|
28
28
|
none: false
|
29
29
|
requirements:
|
30
30
|
- - ! '>='
|
@@ -35,10 +35,10 @@ dependencies:
|
|
35
35
|
- 6
|
36
36
|
type: :runtime
|
37
37
|
prerelease: false
|
38
|
-
version_requirements: *
|
38
|
+
version_requirements: *81843990
|
39
39
|
- !ruby/object:Gem::Dependency
|
40
40
|
name: tilt
|
41
|
-
requirement: &
|
41
|
+
requirement: &81900760 !ruby/object:Gem::Requirement
|
42
42
|
none: false
|
43
43
|
requirements:
|
44
44
|
- - ! '>'
|
@@ -48,7 +48,7 @@ dependencies:
|
|
48
48
|
- 0
|
49
49
|
type: :runtime
|
50
50
|
prerelease: false
|
51
|
-
version_requirements: *
|
51
|
+
version_requirements: *81900760
|
52
52
|
description: ! " If Rake won't do it by itself, you oughtta Mattock.\n\n If you
|
53
53
|
survived the pun, you might enjoy this gem.\n\n Features:\n\n * Extensions to
|
54
54
|
Tasklibs to support powerful deerpaths.\n * A commandline library that supports
|
@@ -75,6 +75,7 @@ files:
|
|
75
75
|
- lib/mattock/template-host.rb
|
76
76
|
- lib/mattock/yard_extensions.rb
|
77
77
|
- lib/mattock/remote-command-task.rb
|
78
|
+
- lib/mattock/bundle-command-task.rb
|
78
79
|
- lib/mattock/tasklib.rb
|
79
80
|
- lib/mattock/task.rb
|
80
81
|
- lib/mattock/configurable.rb
|
@@ -101,7 +102,7 @@ rdoc_options:
|
|
101
102
|
- --main
|
102
103
|
- doc/README
|
103
104
|
- --title
|
104
|
-
- mattock-0.3.
|
105
|
+
- mattock-0.3.2 RDoc
|
105
106
|
require_paths:
|
106
107
|
- lib/
|
107
108
|
required_ruby_version: !ruby/object:Gem::Requirement
|
@@ -112,7 +113,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
112
113
|
version: '0'
|
113
114
|
segments:
|
114
115
|
- 0
|
115
|
-
hash:
|
116
|
+
hash: 634672435
|
116
117
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
117
118
|
none: false
|
118
119
|
requirements:
|