replr 0.1.0 → 0.2.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/replr.rb +30 -8
- 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: a1711e27578931850f67a30057b13f315126fdcf28aeddd7cb585b6b0a651631
|
4
|
+
data.tar.gz: 21e698cddf5834b086a90db3724882df09c37ed03476e0c60afcc8882e1cf2db
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: ce4f85bf76dbc96ceea24b63a4af130c6a623046e91507bafaf126743d67e1b461ae3f07b4224835a4cbf1ed8355622cde0f899164f1098f1014f2b1391d34c1
|
7
|
+
data.tar.gz: 98910ccbd262ef3de617eba52f4ddca7ba5dbf93c63591f4085dbc859530ebd77b4a59c699f4a586194cbf1660750ffde6cb3c0a10aad692398ff0ed05634363
|
data/lib/replr.rb
CHANGED
@@ -10,32 +10,54 @@ class Replr
|
|
10
10
|
|
11
11
|
check_docker!
|
12
12
|
check_argument_length!
|
13
|
-
|
13
|
+
check_arguments!
|
14
14
|
|
15
15
|
@workdir = Dir.mktmpdir
|
16
16
|
@docker_image_tag = "replr/ruby-#{libraries.join('-')}"
|
17
17
|
|
18
|
-
|
19
|
-
copy_docker_file
|
20
|
-
initialize_docker_repl
|
18
|
+
process_arguments
|
21
19
|
end
|
22
20
|
|
23
21
|
private
|
24
22
|
|
23
|
+
def process_arguments
|
24
|
+
if arguments[0] == 'prune'
|
25
|
+
execute_prune_command
|
26
|
+
else
|
27
|
+
copy_library_file
|
28
|
+
copy_docker_file
|
29
|
+
initialize_docker_repl
|
30
|
+
end
|
31
|
+
end
|
32
|
+
|
25
33
|
def check_argument_length!
|
26
34
|
if arguments.empty?
|
27
|
-
|
35
|
+
puts_usage
|
28
36
|
exit
|
29
37
|
end
|
30
38
|
end
|
31
39
|
|
32
|
-
def
|
33
|
-
unless arguments[0]
|
34
|
-
puts_error 'Only supports ruby
|
40
|
+
def check_arguments!
|
41
|
+
unless ['ruby', 'prune'].include? arguments[0]
|
42
|
+
puts_error 'Only supports ruby as a stack right now'
|
43
|
+
puts_usage
|
35
44
|
exit
|
36
45
|
end
|
37
46
|
end
|
38
47
|
|
48
|
+
def puts_usage
|
49
|
+
puts_error "\nUsage: replr <stack> <libraries...>\n\n"
|
50
|
+
puts_error "A single line REPL for your favorite languages & libraries\n\n"
|
51
|
+
puts_error "\t<stack> is now only 'ruby'"
|
52
|
+
puts_error "\t<libraries...> is a space separated list of libraries for the stack\n\n"
|
53
|
+
puts_error "More commands:\n\n\treplr prune to delete all replr docker images (this saves space)"
|
54
|
+
end
|
55
|
+
|
56
|
+
def execute_prune_command
|
57
|
+
prune_command = %q(docker images -a | grep "replr/" | awk '{print $3}' | xargs docker rmi)
|
58
|
+
system(prune_command)
|
59
|
+
end
|
60
|
+
|
39
61
|
def check_docker!
|
40
62
|
unless system('which docker >/dev/null')
|
41
63
|
puts_error 'Needs docker installed & in path to work.'
|