hatecf 0.0.4 → 0.1.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.
- checksums.yaml +4 -4
- data/lib/local_dsl.rb +27 -0
- data/remote/remote.rb +11 -0
- data/remote/remote_dsl.rb +31 -0
- metadata +1 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: b65e4f31207551a736272c0590ae606c5ace7b819458b4295f9e7c5fc26b09d2
|
4
|
+
data.tar.gz: 1b982b55fd4ede54c06b9c4b5a65b3252af8c2bb8faa01ec925f1e2266ec646c
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 0d2686ac66133fd0852669757ec536666d2af79cb2466c095664f761c58689c237e138d9aa536fad08f1adfdcdb784294011fa51b6d0b44701ba18434946c8cc
|
7
|
+
data.tar.gz: 4f345980bb8505fd75071b9752b0518724362654cf3d4adee782980da631c6240f522e62a4c1ebf310f085979b055f025e997df66b49e6d94518a3a67dd0e0f8
|
data/lib/local_dsl.rb
CHANGED
@@ -123,6 +123,11 @@ def mkdir_p(x)
|
|
123
123
|
TaskResult.new
|
124
124
|
end
|
125
125
|
|
126
|
+
def rm(x)
|
127
|
+
Local.type_check nil, x, String
|
128
|
+
TaskResult.new
|
129
|
+
end
|
130
|
+
|
126
131
|
def cp(src, dst, mode: nil)
|
127
132
|
Local.type_check(1, src, String, LocalFile)
|
128
133
|
Local.type_check(1, dst, String)
|
@@ -148,6 +153,28 @@ def ln_s(src, dst)
|
|
148
153
|
TaskResult.new
|
149
154
|
end
|
150
155
|
|
156
|
+
class CheckResult
|
157
|
+
def initialize(result)
|
158
|
+
@result = result
|
159
|
+
end
|
160
|
+
def fix
|
161
|
+
yield
|
162
|
+
end
|
163
|
+
def check(message = nil)
|
164
|
+
Local.type_check nil, message, String if message
|
165
|
+
# NOT yielding here. Check blocks contain code
|
166
|
+
# that works only on remote target.
|
167
|
+
CheckResult.new(false)
|
168
|
+
end
|
169
|
+
end
|
170
|
+
|
171
|
+
def check(message = nil)
|
172
|
+
Local.type_check nil, message, String if message
|
173
|
+
# NOT yielding here. Check blocks contain code
|
174
|
+
# that works only on remote target.
|
175
|
+
CheckResult.new(false)
|
176
|
+
end
|
177
|
+
|
151
178
|
def block
|
152
179
|
yield
|
153
180
|
end
|
data/remote/remote.rb
CHANGED
@@ -330,6 +330,17 @@ module Remote
|
|
330
330
|
end
|
331
331
|
end
|
332
332
|
|
333
|
+
def rm(x)
|
334
|
+
x = File.expand_path x
|
335
|
+
if File.exists? x
|
336
|
+
destructive "rm #{x}" do
|
337
|
+
FileUtils.rm x
|
338
|
+
end
|
339
|
+
else
|
340
|
+
ok "#{x} already removed"
|
341
|
+
end
|
342
|
+
end
|
343
|
+
|
333
344
|
# TODO: the dst is a dir case
|
334
345
|
def cp(src, dst, mode)
|
335
346
|
src = src.remote_path if src.is_a? LocalFile
|
data/remote/remote_dsl.rb
CHANGED
@@ -78,6 +78,12 @@ def mkdir_p(x)
|
|
78
78
|
end
|
79
79
|
end
|
80
80
|
|
81
|
+
def rm(x)
|
82
|
+
Remote.task do
|
83
|
+
Remote.rm(x)
|
84
|
+
end
|
85
|
+
end
|
86
|
+
|
81
87
|
def cp(src, dst, mode: nil)
|
82
88
|
Remote.task do
|
83
89
|
Remote.cp(src, dst, mode)
|
@@ -96,6 +102,31 @@ def ln_s(src, dst)
|
|
96
102
|
end
|
97
103
|
end
|
98
104
|
|
105
|
+
class CheckResult
|
106
|
+
def initialize(result)
|
107
|
+
@result = result
|
108
|
+
end
|
109
|
+
def fix
|
110
|
+
yield unless @result
|
111
|
+
end
|
112
|
+
def check(message = nil)
|
113
|
+
if @result
|
114
|
+
# skip
|
115
|
+
CheckResult.new @result
|
116
|
+
else
|
117
|
+
result = yield
|
118
|
+
Remote.ok message if result && message
|
119
|
+
CheckResult.new result
|
120
|
+
end
|
121
|
+
end
|
122
|
+
end
|
123
|
+
|
124
|
+
def check(message = nil)
|
125
|
+
result = yield
|
126
|
+
Remote.ok message if result && message
|
127
|
+
CheckResult.new result
|
128
|
+
end
|
129
|
+
|
99
130
|
def block
|
100
131
|
Remote.block_contexts << false
|
101
132
|
begin
|