rego 4.2.0 → 4.2.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.
- checksums.yaml +4 -4
- data/README.md +11 -7
- data/bin/rego +40 -21
- data/lib/rego/_lib.rb +4 -4
- data/rego.gemspec +4 -4
- metadata +8 -8
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 5937ded18cabcdb05d4f5dbe275d259c7745d5c112056a72cbc97fc7484c2ef6
|
4
|
+
data.tar.gz: fe4409461089289456b7c6e1f9334424f76c0c27985698e0ec7e70f340d42ed2
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: c31ab16a824f9fa83c3adf05aee70ba6e138a6b5e3a50a8da7e0714fe9d04fb340653315926a4d0cf086725510a3dca142502c8874902da7a14f18d87d72e90c
|
7
|
+
data.tar.gz: 54302f9c2a46e7691d626cf83abac7eb7789e10457df67dd189bcc0c6cc6c07eb03b5b660a2817d504c28cc92de325624a1203cf7f3dbd653bfa082e59a86358
|
data/README.md
CHANGED
@@ -1,11 +1,11 @@
|
|
1
1
|
NAME
|
2
2
|
---------------
|
3
|
-
|
3
|
+
|
4
4
|
rego
|
5
5
|
|
6
6
|
SYNOPSIS
|
7
7
|
---------------
|
8
|
-
|
8
|
+
|
9
9
|
rego ./files ./to ./watch -- command-to-run
|
10
10
|
|
11
11
|
INSTALL
|
@@ -15,28 +15,28 @@ gem install rego
|
|
15
15
|
|
16
16
|
DESCRIPTION
|
17
17
|
---------------
|
18
|
-
|
18
|
+
|
19
19
|
run arbitrary commands easily when files change
|
20
20
|
|
21
21
|
PARAMETERS
|
22
22
|
---------------
|
23
23
|
|
24
|
-
--help, -h
|
24
|
+
--help, -h
|
25
25
|
|
26
26
|
EXAMPLES
|
27
27
|
---------------
|
28
|
-
|
28
|
+
|
29
29
|
```bash
|
30
30
|
|
31
31
|
# say hai whenever the file foo.txt changes
|
32
32
|
#
|
33
33
|
~> rego foo.txt -- echo hai
|
34
34
|
|
35
|
-
# say hai whenever any file (recursively) in bar changes
|
35
|
+
# say hai whenever any file (recursively) in bar changes
|
36
36
|
#
|
37
37
|
~> rego ./bar/ -- echo hai
|
38
38
|
|
39
|
-
# echo *the file that changed* when any file (recursively) in bar changes
|
39
|
+
# echo *the file that changed* when any file (recursively) in bar changes
|
40
40
|
#
|
41
41
|
~> rego ./bar/ -- echo "@ was changed"
|
42
42
|
|
@@ -48,4 +48,8 @@ EXAMPLES
|
|
48
48
|
#
|
49
49
|
~> rego ./test -- ruby -Itest @
|
50
50
|
|
51
|
+
# run a server, killing it gracefully whenever files change
|
52
|
+
#
|
53
|
+
~> rego --killer -- ./dev/server
|
54
|
+
|
51
55
|
```
|
data/bin/rego
CHANGED
@@ -40,6 +40,7 @@ Main do
|
|
40
40
|
option('--command=command', '-c')
|
41
41
|
option('--version', '-v')
|
42
42
|
option('--killer', '-k')
|
43
|
+
option('--retry', '-r')
|
43
44
|
|
44
45
|
def run
|
45
46
|
if params[:version].given?
|
@@ -93,34 +94,50 @@ Main do
|
|
93
94
|
def loop_watching_files_and_running_commands!
|
94
95
|
@cmdno = '0'
|
95
96
|
@killer = params[:killer].given?
|
97
|
+
@retry = params[:retry].given?
|
96
98
|
@pid = nil
|
99
|
+
@killed = false
|
97
100
|
|
98
101
|
rego =
|
99
102
|
proc do
|
100
|
-
|
101
|
-
|
102
|
-
|
103
|
-
|
104
|
-
|
105
|
-
|
106
|
-
|
107
|
-
|
108
|
-
|
109
|
-
|
110
|
-
|
111
|
-
|
103
|
+
loop do
|
104
|
+
puts
|
105
|
+
Rego.say("#=> rego.#{@cmdno} @ #{Time.now.strftime('%H:%M:%S')} -> #{@pretty[:command]}", color: :yellow)
|
106
|
+
|
107
|
+
@killed = false
|
108
|
+
@pid = Process.spawn(*@command)
|
109
|
+
Rego.say("#=> rego.#{@cmdno} @ #{Time.now.strftime('%H:%M:%S')} -> pid=#{@pid}", color: :cyan)
|
110
|
+
status = Process.wait(@pid)
|
111
|
+
@pid = nil
|
112
|
+
|
113
|
+
success = (@killer || (status==0))
|
114
|
+
|
115
|
+
puts
|
116
|
+
Rego.say("#=> rego.#{@cmdno} @ #{Time.now.strftime('%H:%M:%S')} -> #{status}", color: (success ? :green : :red))
|
117
|
+
|
118
|
+
@cmdno.succ!
|
119
|
+
puts
|
120
|
+
|
121
|
+
if @retry and not @killed
|
122
|
+
puts 'retrying...'
|
123
|
+
sleep(rand)
|
124
|
+
puts '...'
|
125
|
+
else
|
126
|
+
break
|
127
|
+
end
|
128
|
+
end
|
112
129
|
|
113
|
-
|
114
|
-
puts
|
130
|
+
status
|
115
131
|
end
|
116
132
|
|
117
|
-
listener =
|
118
|
-
|
119
|
-
|
120
|
-
|
133
|
+
listener =
|
134
|
+
Listen.to(*@paths) do |_modified, _added, _removed|
|
135
|
+
if @killer && @pid
|
136
|
+
@killed = kill!(@pid)
|
137
|
+
end
|
121
138
|
|
122
|
-
|
123
|
-
|
139
|
+
rego.call unless @retry
|
140
|
+
end
|
124
141
|
|
125
142
|
begin
|
126
143
|
listener.start
|
@@ -132,7 +149,7 @@ Main do
|
|
132
149
|
end
|
133
150
|
|
134
151
|
def kill!(pid)
|
135
|
-
|
152
|
+
Rego.say("#=> rego.#{@cmdno} @ #{Time.now.strftime('%H:%M:%S')} -> kill=#{@pid}", color: :magenta)
|
136
153
|
|
137
154
|
3.times do
|
138
155
|
%w[
|
@@ -153,6 +170,8 @@ Main do
|
|
153
170
|
end
|
154
171
|
|
155
172
|
abort("failed to kill pid=#{ pid }!") if alive?(pid)
|
173
|
+
|
174
|
+
pid
|
156
175
|
end
|
157
176
|
|
158
177
|
def alive?(pid)
|
data/lib/rego/_lib.rb
CHANGED
@@ -1,5 +1,5 @@
|
|
1
1
|
module Rego
|
2
|
-
Version = '4.2.
|
2
|
+
Version = '4.2.2' unless defined?(Version)
|
3
3
|
|
4
4
|
def self.version
|
5
5
|
Rego::Version
|
@@ -7,9 +7,9 @@ module Rego
|
|
7
7
|
|
8
8
|
def self.dependencies
|
9
9
|
{
|
10
|
-
'main' => ['main', ' ~> 6
|
11
|
-
'map' => ['map', ' ~> 6
|
12
|
-
'listen' => ['listen', ' ~> 3.9
|
10
|
+
'main' => ['main', ' ~> 6'],
|
11
|
+
'map' => ['map', ' ~> 6'],
|
12
|
+
'listen' => ['listen', ' ~> 3.9']
|
13
13
|
}
|
14
14
|
end
|
15
15
|
|
data/rego.gemspec
CHANGED
@@ -3,7 +3,7 @@
|
|
3
3
|
|
4
4
|
Gem::Specification::new do |spec|
|
5
5
|
spec.name = "rego"
|
6
|
-
spec.version = "4.2.
|
6
|
+
spec.version = "4.2.2"
|
7
7
|
spec.platform = Gem::Platform::RUBY
|
8
8
|
spec.summary = "rego"
|
9
9
|
spec.description = "description: rego kicks the ass"
|
@@ -18,11 +18,11 @@ Gem::Specification::new do |spec|
|
|
18
18
|
spec.test_files = nil
|
19
19
|
|
20
20
|
|
21
|
-
spec.add_dependency(*["main", " ~> 6
|
21
|
+
spec.add_dependency(*["main", " ~> 6"])
|
22
22
|
|
23
|
-
spec.add_dependency(*["map", " ~> 6
|
23
|
+
spec.add_dependency(*["map", " ~> 6"])
|
24
24
|
|
25
|
-
spec.add_dependency(*["listen", " ~> 3.9
|
25
|
+
spec.add_dependency(*["listen", " ~> 3.9"])
|
26
26
|
|
27
27
|
|
28
28
|
spec.extensions.push(*[])
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: rego
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 4.2.
|
4
|
+
version: 4.2.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Ara T. Howard
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2025-01-
|
11
|
+
date: 2025-01-09 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: main
|
@@ -16,42 +16,42 @@ dependencies:
|
|
16
16
|
requirements:
|
17
17
|
- - "~>"
|
18
18
|
- !ruby/object:Gem::Version
|
19
|
-
version: 6
|
19
|
+
version: '6'
|
20
20
|
type: :runtime
|
21
21
|
prerelease: false
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
23
23
|
requirements:
|
24
24
|
- - "~>"
|
25
25
|
- !ruby/object:Gem::Version
|
26
|
-
version: 6
|
26
|
+
version: '6'
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
28
|
name: map
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
30
30
|
requirements:
|
31
31
|
- - "~>"
|
32
32
|
- !ruby/object:Gem::Version
|
33
|
-
version: 6
|
33
|
+
version: '6'
|
34
34
|
type: :runtime
|
35
35
|
prerelease: false
|
36
36
|
version_requirements: !ruby/object:Gem::Requirement
|
37
37
|
requirements:
|
38
38
|
- - "~>"
|
39
39
|
- !ruby/object:Gem::Version
|
40
|
-
version: 6
|
40
|
+
version: '6'
|
41
41
|
- !ruby/object:Gem::Dependency
|
42
42
|
name: listen
|
43
43
|
requirement: !ruby/object:Gem::Requirement
|
44
44
|
requirements:
|
45
45
|
- - "~>"
|
46
46
|
- !ruby/object:Gem::Version
|
47
|
-
version: 3.9
|
47
|
+
version: '3.9'
|
48
48
|
type: :runtime
|
49
49
|
prerelease: false
|
50
50
|
version_requirements: !ruby/object:Gem::Requirement
|
51
51
|
requirements:
|
52
52
|
- - "~>"
|
53
53
|
- !ruby/object:Gem::Version
|
54
|
-
version: 3.9
|
54
|
+
version: '3.9'
|
55
55
|
description: 'description: rego kicks the ass'
|
56
56
|
email: ara.t.howard@gmail.com
|
57
57
|
executables:
|