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.
Files changed (3) hide show
  1. checksums.yaml +4 -4
  2. data/lib/replr.rb +30 -8
  3. metadata +1 -1
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 58a0543730c0372f9d5eecf116cf3ec4102d2bdba7284f236ab4947632fb5ec4
4
- data.tar.gz: 8b2c8f16734f430ced519d19ed88da31a53cdf143e8cfedc81bdcf050f49b8e7
3
+ metadata.gz: a1711e27578931850f67a30057b13f315126fdcf28aeddd7cb585b6b0a651631
4
+ data.tar.gz: 21e698cddf5834b086a90db3724882df09c37ed03476e0c60afcc8882e1cf2db
5
5
  SHA512:
6
- metadata.gz: 7d158e76fc4ce5d56aadd0e3de342fed7747aaee553dd707e1936ac5a8a33aa8bf201c71b1f2ae8e5a9b223996a1cf67f02cf23152504d31832a26108907bfe8
7
- data.tar.gz: 4e7aeb75471a39496cc0b04f2958982eb46986fa3f733576255f06231b0fa5c58436f90c23854fda64e3b8043eef4ff76bb4d4655758cd0753404c53e76f385d
6
+ metadata.gz: ce4f85bf76dbc96ceea24b63a4af130c6a623046e91507bafaf126743d67e1b461ae3f07b4224835a4cbf1ed8355622cde0f899164f1098f1014f2b1391d34c1
7
+ data.tar.gz: 98910ccbd262ef3de617eba52f4ddca7ba5dbf93c63591f4085dbc859530ebd77b4a59c699f4a586194cbf1660750ffde6cb3c0a10aad692398ff0ed05634363
@@ -10,32 +10,54 @@ class Replr
10
10
 
11
11
  check_docker!
12
12
  check_argument_length!
13
- check_stack!
13
+ check_arguments!
14
14
 
15
15
  @workdir = Dir.mktmpdir
16
16
  @docker_image_tag = "replr/ruby-#{libraries.join('-')}"
17
17
 
18
- copy_library_file
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
- puts_error 'Usage: replr <stack> <libraries...>'
35
+ puts_usage
28
36
  exit
29
37
  end
30
38
  end
31
39
 
32
- def check_stack!
33
- unless arguments[0] == 'ruby'
34
- puts_error 'Only supports ruby for now'
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.'
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: replr
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0
4
+ version: 0.2.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Vishnu Gopal