dry-stack 0.0.2 → 0.0.3
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/dry-stack/command_compose.rb +6 -3
- data/lib/dry-stack/command_line.rb +22 -8
- data/lib/version.rb +2 -2
- 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: 25076e926da29d61b22b6be14379e4e9e23af5bf1146c2c5d0ef64f917023a24
|
4
|
+
data.tar.gz: 023ed0ce2c46e14303f1fefdba6811e2401a7c9ac08f4bb44e288cce30943dae
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 4fc1f361dbde144d87b4a3c0d90b859940f0fca6d3f84c02fd28bf9a4849fb373e1bb8f8a3bc2d0665c22106ba642481e1b8c85adc71199e719c99b95249e8f2
|
7
|
+
data.tar.gz: bc466a6b44eeab9f10a9596316f2b4563c63d42b8632e81f4cc90af87d1ba0117ea4d5079c8554f5c8d8ba3da44013ec1160a0a9560f9cbcf92e53960e06eea9
|
@@ -1,8 +1,11 @@
|
|
1
1
|
require_relative 'command_line'
|
2
2
|
|
3
|
-
Dry::CommandLine::COMMANDS[:
|
4
|
-
def run(stack, args)
|
5
|
-
|
3
|
+
Dry::CommandLine::COMMANDS[:to_compose] = Class.new do
|
4
|
+
def run(stack, params, args)
|
5
|
+
yaml = stack.to_compose.lines[1..].join
|
6
|
+
|
7
|
+
# substitute ENV variables
|
8
|
+
params[:'no-env'] ? $stdout.puts(yaml) : system("echo \"#{yaml}\"")
|
6
9
|
end
|
7
10
|
|
8
11
|
def help = 'Print stack in docker compose format'
|
@@ -1,15 +1,27 @@
|
|
1
|
+
require_relative '../version'
|
1
2
|
|
2
3
|
module Dry
|
3
4
|
module CommandLine
|
4
5
|
COMMANDS = {}
|
5
6
|
|
6
7
|
class << self
|
8
|
+
def load_env
|
9
|
+
File.read('.env').lines.map(&:strip).grep_v(/^\s*#/).reject(&:empty?)
|
10
|
+
.map {_1.split('=').map(&:strip).tap { |k,v|
|
11
|
+
ENV[k] = v
|
12
|
+
}}.to_h
|
13
|
+
rescue =>e
|
14
|
+
puts "Load env error: #{e.message}"
|
15
|
+
raise 'Invalid .env file'
|
16
|
+
end
|
17
|
+
|
7
18
|
def run(args)
|
8
|
-
|
9
|
-
stack_file = STDIN.read unless $stdin.tty?
|
19
|
+
params = {}
|
10
20
|
|
11
21
|
ARGV << '-h' if ARGV.empty?
|
12
22
|
OptionParser.new do |o|
|
23
|
+
o.version = "v#{Dry::Stack::VERSION}"
|
24
|
+
|
13
25
|
usage = [
|
14
26
|
'dry-stack -s stackfile [options] COMMAND',
|
15
27
|
'cat stackfile | dry-stack COMMAND',
|
@@ -24,17 +36,19 @@ module Dry
|
|
24
36
|
o.separator 'Options:'
|
25
37
|
|
26
38
|
# in all caps are required
|
27
|
-
o.on('-s', '--stack STACK_NAME', 'Stack file')
|
39
|
+
o.on('-s', '--stack STACK_NAME', 'Stack file')
|
40
|
+
o.on('-e', '--env', 'Load .env file') { load_env }
|
41
|
+
o.on('-n', '--no-env', 'Do not process env variables') { true }
|
28
42
|
o.on('-h', '--help') { puts o; exit }
|
29
|
-
o.parse! args
|
43
|
+
o.parse! args, into: params
|
30
44
|
|
31
|
-
raise 'Stack file not defined'
|
45
|
+
raise 'Stack file not defined' if $stdin.tty? && !params[:stack]
|
32
46
|
|
33
|
-
command = args.shift
|
47
|
+
command = args.shift || ''
|
34
48
|
raise "Unknown command: #{command}" unless COMMANDS.key?(command.to_sym)
|
35
49
|
|
36
|
-
eval $stdin.tty? ? File.read(
|
37
|
-
COMMANDS[command.to_sym].run Stack.last_stack, args
|
50
|
+
eval $stdin.tty? ? File.read(params[:stack]) : STDIN.read
|
51
|
+
COMMANDS[command.to_sym].run Stack.last_stack, params, args
|
38
52
|
rescue => e
|
39
53
|
puts e.message
|
40
54
|
exit 1
|
data/lib/version.rb
CHANGED