dev_dock 0.2.0 → 0.2.1
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/.versions.conf +2 -0
- data/Gemfile +2 -0
- data/Gemfile.lock +3 -1
- data/help.txt +1 -1
- data/lib/dev_dock/container.rb +7 -4
- data/lib/dev_dock/options.rb +51 -47
- data/lib/dev_dock/version.rb +1 -1
- metadata +3 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 02b863a98070f42c77a16db7816f22bc1cf8a82849c0d29a9feb1f4e29193583
|
4
|
+
data.tar.gz: b4814318af70abff9d9c26c3e8ff4851f209e9eec8cbd5ef1b9ad22834bf7f17
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 219cafb0f2cf6fb87c8f7e5020e04f4c2ca67e678c7adcd6ea494197957a9d979eff3aee059e12afae5d27fb02d41e35926f28ec05bd986631e18bfa29c096fa
|
7
|
+
data.tar.gz: 240af4386462413ba3a062f9e654d1b18ed5609849d1dbf510553a9ca98b0222104018266a3dfeb4fefe6740be7f462a129037d47d70eb35cd2c740bb31c8cb7
|
data/.versions.conf
ADDED
data/Gemfile
CHANGED
data/Gemfile.lock
CHANGED
@@ -1,12 +1,13 @@
|
|
1
1
|
PATH
|
2
2
|
remote: .
|
3
3
|
specs:
|
4
|
-
dev_dock (0.2.
|
4
|
+
dev_dock (0.2.1)
|
5
5
|
docker-api (~> 1.34)
|
6
6
|
|
7
7
|
GEM
|
8
8
|
remote: https://rubygems.org/
|
9
9
|
specs:
|
10
|
+
byebug (10.0.2)
|
10
11
|
diff-lcs (1.3)
|
11
12
|
docker-api (1.34.2)
|
12
13
|
excon (>= 0.47.0)
|
@@ -33,6 +34,7 @@ PLATFORMS
|
|
33
34
|
|
34
35
|
DEPENDENCIES
|
35
36
|
bundler (~> 1.16)
|
37
|
+
byebug (~> 10.0)
|
36
38
|
dev_dock!
|
37
39
|
docker-api (~> 1.34)
|
38
40
|
rake (~> 10.0)
|
data/help.txt
CHANGED
data/lib/dev_dock/container.rb
CHANGED
@@ -61,7 +61,7 @@ module DevDock
|
|
61
61
|
end
|
62
62
|
end
|
63
63
|
|
64
|
-
def
|
64
|
+
def run_arguments
|
65
65
|
arguments = [
|
66
66
|
'docker',
|
67
67
|
'run',
|
@@ -101,10 +101,13 @@ module DevDock
|
|
101
101
|
|
102
102
|
arguments.push @image.name
|
103
103
|
|
104
|
-
arguments.push
|
105
|
-
|
104
|
+
arguments.push *@options.run_command
|
105
|
+
|
106
|
+
arguments
|
107
|
+
end
|
106
108
|
|
107
|
-
|
109
|
+
def run
|
110
|
+
exec *run_arguments
|
108
111
|
end
|
109
112
|
end
|
110
113
|
end
|
data/lib/dev_dock/options.rb
CHANGED
@@ -1,5 +1,10 @@
|
|
1
|
+
require 'optparse'
|
2
|
+
|
1
3
|
module DevDock
|
2
4
|
|
5
|
+
# Handles parsing options with the following syntax:
|
6
|
+
# dev_dock subcommand [options..] image [command..]
|
7
|
+
|
3
8
|
class Options
|
4
9
|
|
5
10
|
def initialize(argv)
|
@@ -7,76 +12,75 @@ module DevDock
|
|
7
12
|
@environment = []
|
8
13
|
@subcommand = nil
|
9
14
|
@error = nil
|
15
|
+
@image_name = nil
|
10
16
|
@argv = argv
|
17
|
+
@run_command = ['tmux', 'new']
|
11
18
|
end
|
12
19
|
|
13
20
|
def parse
|
14
|
-
parse_subcommand
|
21
|
+
parse_subcommand
|
22
|
+
|
15
23
|
if not @error
|
16
24
|
if @subcommand == "start"
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
@image_name = @argv.last
|
25
|
+
parse_start
|
26
|
+
else
|
27
|
+
parse_end
|
21
28
|
end
|
22
29
|
end
|
30
|
+
|
23
31
|
end
|
24
32
|
|
25
|
-
def
|
26
|
-
if
|
27
|
-
@
|
28
|
-
elsif arg == 'purge' or arg == 'p'
|
29
|
-
@subcommand = 'purge'
|
33
|
+
def parse_end
|
34
|
+
if @argv.length != 2
|
35
|
+
@error = 'Invalid number of arguments'
|
30
36
|
else
|
31
|
-
@
|
37
|
+
@image_name = @argv[1]
|
32
38
|
end
|
33
39
|
end
|
34
40
|
|
35
|
-
def
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
|
41
|
+
def parse_start
|
42
|
+
parser = OptionParser.new 'Usage: dev_dock start [options..] image [command..]'
|
43
|
+
|
44
|
+
parser.on('-e', '--env ENVIRONMENT') do |env|
|
45
|
+
self.environment.push(env)
|
46
|
+
end
|
47
|
+
parser.on('-v', '--volume VOLUME') do |volume|
|
48
|
+
self.volumes.push(volume)
|
49
|
+
end
|
50
|
+
argv = @argv.slice(1, @argv.length - 1)
|
51
|
+
begin
|
52
|
+
parser.parse!(argv)
|
53
|
+
rescue OptionParser::ParseError => err
|
54
|
+
@error = err.reason
|
55
|
+
end
|
56
|
+
|
57
|
+
if not @error
|
58
|
+
if argv.length == 0
|
59
|
+
@error = 'Missing argument: image'
|
50
60
|
else
|
51
|
-
@
|
52
|
-
|
61
|
+
@image_name = argv.shift()
|
62
|
+
if argv.length > 0
|
63
|
+
@run_command = argv
|
64
|
+
end
|
53
65
|
end
|
54
|
-
i += 1
|
55
66
|
end
|
56
67
|
end
|
57
68
|
|
58
|
-
def
|
59
|
-
@
|
60
|
-
|
61
|
-
|
62
|
-
|
63
|
-
|
64
|
-
|
65
|
-
|
66
|
-
|
67
|
-
@volumes
|
68
|
-
end
|
69
|
-
|
70
|
-
def image_name
|
71
|
-
@image_name
|
69
|
+
def parse_subcommand
|
70
|
+
arg = @argv[0]
|
71
|
+
if arg == 'start' or arg == 's'
|
72
|
+
@subcommand = 'start'
|
73
|
+
elsif arg == 'purge' or arg == 'p'
|
74
|
+
@subcommand = 'purge'
|
75
|
+
else
|
76
|
+
@error = "Invalid subcommand #{arg}"
|
77
|
+
end
|
72
78
|
end
|
73
79
|
|
74
|
-
|
75
|
-
@environment
|
76
|
-
end
|
80
|
+
attr_reader :run_command, :subcommand, :error, :volumes, :image_name, :environment
|
77
81
|
|
78
82
|
def inspect
|
79
|
-
"Subcommand: #{@subcommand}, Image: #{@image_name}, Volumes: #{volumes}, Environment: "
|
83
|
+
"Subcommand: #{@subcommand}, Image: #{@image_name}, Volumes: #{@volumes}, Environment: #{@environment}, Run Command: #{@run_command}"
|
80
84
|
end
|
81
85
|
|
82
86
|
end
|
data/lib/dev_dock/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: dev_dock
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.2.
|
4
|
+
version: 0.2.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- AGhost-7
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2018-07-
|
11
|
+
date: 2018-07-23 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -78,6 +78,7 @@ files:
|
|
78
78
|
- ".rspec"
|
79
79
|
- ".ruby-gemset"
|
80
80
|
- ".travis.yml"
|
81
|
+
- ".versions.conf"
|
81
82
|
- Gemfile
|
82
83
|
- Gemfile.lock
|
83
84
|
- LICENSE.txt
|