docker_compose_env 0.1.2 → 0.2.1

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 983f82e4fbf0cee9a569d69390a95e0a6ef2d39b07c7c2e235b6fc9a5a6a4f0e
4
- data.tar.gz: 7173656c5aff94ef7943831a0b01cbfe79a0f9e4038ac544941ba9f6411bc9ff
3
+ metadata.gz: 868f40c79b116b7b4dbbcd10e94024a52b4d7f8d9b156a576aac44d6d8d49310
4
+ data.tar.gz: 6bf3bcecd5547acfa4661ef38705bcc8861d8dd5f67b8b946f54af9e5d133144
5
5
  SHA512:
6
- metadata.gz: cdc507683f5ef3f601d8c4f3010abf7e489fa0ea7b110e86664f3c9ac5e4a2227b4c03a5ed17c2bcf84c6c8e728db08eabb6554096520b024750426845a1e45b
7
- data.tar.gz: af2db94a97243e093278b3800e761946602672edd9671782b53e3575a1840e5ac6879984756863c32f85707e8fc32c3f1eef3496117ac6e3606a27bc7b9d6277
6
+ metadata.gz: 8fd76aed8ade95ead447f7d7d8090246a2affbbddf3905571ede9630b7cafc349e26a3e5ba835855660ef9baac8b6d119acd94fb78b754bcc0c9db64cafb5444
7
+ data.tar.gz: '088bf436417fed41901aa6100e35ac6ce222cc7c5f62e3ec70ae1a011be8ed6a67884db7f62eb64a125232d7a0b93175f657c53c7ea644f800d00cff3be180d5'
data/.tool-versions CHANGED
@@ -1 +1 @@
1
- ruby 2.4.1
1
+ ruby 2.7.2
data/.travis.yml CHANGED
@@ -2,14 +2,14 @@ language: ruby
2
2
  sudo: required
3
3
 
4
4
  env:
5
- - DOCKER_COMPOSE_VERSION=1.16.1
5
+ - DOCKER_COMPOSE_VERSION=1.27.4
6
6
 
7
7
  before_install:
8
8
  - docker version
9
9
  - docker-compose version
10
10
  - sudo apt-get update
11
11
  - sudo apt-get -y -o Dpkg::Options::="--force-confnew" install docker-ce
12
- - gem install bundler -v 1.15.4
12
+ - gem install bundler -v 2.1.4
13
13
  - sudo rm /usr/local/bin/docker-compose
14
14
  - curl -L https://github.com/docker/compose/releases/download/${DOCKER_COMPOSE_VERSION}/docker-compose-`uname -s`-`uname -m` > docker-compose
15
15
  - chmod +x docker-compose
@@ -18,7 +18,7 @@ before_install:
18
18
  - docker-compose version
19
19
 
20
20
  rvm:
21
- - 2.4.1
21
+ - 2.7.2
22
22
 
23
23
  services:
24
24
  - docker
data/CHANGELOG.md CHANGED
@@ -5,6 +5,22 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
5
5
 
6
6
  ## [unreleased]
7
7
 
8
+ ## [0.2.1] - 2020-12-03
9
+
10
+ ### Changed
11
+
12
+ - Fix bug with Open3 not being required
13
+
14
+ ## [0.2.0] - 2020-11-21
15
+
16
+ ### Changed
17
+
18
+ - Update ruby for development to 2.7.2
19
+ - Bump rake version dependency for devlopment
20
+ - Update to latest Bundler gem version on Travis CI
21
+ - Use latest docker-compose version on Travis CI
22
+ - No longer show message on stdout if docker-compose command is not found
23
+
8
24
  ## [0.1.2] - 2019-08-26
9
25
 
10
26
  ### Added
@@ -27,7 +43,9 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
27
43
 
28
44
  - Initial version
29
45
 
30
- [unreleased]: https://github.com/CoffeeAndCode/docker_compose_env/compare/v0.1.2...HEAD
46
+ [unreleased]: https://github.com/CoffeeAndCode/docker_compose_env/compare/v0.2.1...HEAD
47
+ [0.2.1]: https://github.com/CoffeeAndCode/docker_compose_env/compare/v0.2.0...v0.2.1
48
+ [0.2.0]: https://github.com/CoffeeAndCode/docker_compose_env/compare/v0.1.2...v0.2.0
31
49
  [0.1.2]: https://github.com/CoffeeAndCode/docker_compose_env/compare/v0.1.1...v0.1.2
32
50
  [0.1.1]: https://github.com/CoffeeAndCode/docker_compose_env/compare/v0.1.0...v0.1.1
33
51
  [0.1.0]: https://github.com/CoffeeAndCode/docker_compose_env/releases/tag/v0.1.0
@@ -25,7 +25,7 @@ Gem::Specification.new do |spec|
25
25
  spec.require_paths = ['lib']
26
26
 
27
27
  spec.add_development_dependency 'bundler', '~> 2.0'
28
- spec.add_development_dependency 'rake', '~> 12.0'
28
+ spec.add_development_dependency 'rake', '~> 13.0'
29
29
  spec.add_development_dependency 'reek'
30
30
  spec.add_development_dependency 'rubocop'
31
31
  spec.add_development_dependency 'minitest', '~> 5.10'
@@ -1,3 +1,3 @@
1
1
  module DockerComposeEnv
2
- VERSION = '0.1.2'.freeze
2
+ VERSION = '0.2.1'.freeze
3
3
  end
@@ -1,19 +1,25 @@
1
1
  require 'docker_compose_env/version'
2
+ require 'open3'
2
3
  require 'yaml'
3
4
 
4
5
  # The main module for DockerComposeEnv, this provides a single "easy mode"
5
6
  # method for setting up the environment.
6
7
  module DockerComposeEnv
7
- def self.setup!(env: ENV, file: 'docker-compose.yml')
8
+ def self.setup!(env: ENV, file: 'docker-compose.yml', process_env: {})
8
9
  config = YAML.safe_load(File.read(file))
9
10
 
10
11
  config.fetch('services', {}).keys.each do |service_name|
11
12
  (config['services'][service_name]['ports'] || []).each do |container_port|
13
+ compose_port_info = nil
14
+
12
15
  if /(\d+)\/udp$/ =~ container_port
13
16
  parsed_port = /(?<port>\d+)\/udp$/.match(container_port).named_captures['port']
14
17
 
15
18
  command = "docker-compose --file=#{file} port --protocol=udp #{service_name} #{parsed_port}"
16
- compose_port_info = `#{command}`
19
+ Open3.popen3(process_env, command) do |stdin, stdout, stderr, wait_thr|
20
+ compose_port_info = stdout.read
21
+ wait_thr.value
22
+ end
17
23
 
18
24
  if (compose_port_info =~ /^0\.0\.0\.0\:\d+\s*$/) == 0
19
25
  if env["#{service_name.upcase}_HOST"].nil?
@@ -26,7 +32,10 @@ module DockerComposeEnv
26
32
  end
27
33
  else
28
34
  command = "docker-compose --file=#{file} port #{service_name} #{container_port}"
29
- compose_port_info = `#{command}`
35
+ Open3.popen3(process_env, command) do |stdin, stdout, stderr, wait_thr|
36
+ compose_port_info = stdout.read
37
+ wait_thr.value
38
+ end
30
39
 
31
40
  if (compose_port_info =~ /^0\.0\.0\.0\:\d+\s*$/) == 0
32
41
  if env["#{service_name.upcase}_HOST"].nil?
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: docker_compose_env
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.2
4
+ version: 0.2.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Jonathan Knapp
8
- autorequire:
8
+ autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2019-08-26 00:00:00.000000000 Z
11
+ date: 2020-12-03 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -30,14 +30,14 @@ dependencies:
30
30
  requirements:
31
31
  - - "~>"
32
32
  - !ruby/object:Gem::Version
33
- version: '12.0'
33
+ version: '13.0'
34
34
  type: :development
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: '12.0'
40
+ version: '13.0'
41
41
  - !ruby/object:Gem::Dependency
42
42
  name: reek
43
43
  requirement: !ruby/object:Gem::Requirement
@@ -112,7 +112,7 @@ homepage: https://github.com/CoffeeAndCode/docker_compose_env
112
112
  licenses:
113
113
  - MIT
114
114
  metadata: {}
115
- post_install_message:
115
+ post_install_message:
116
116
  rdoc_options: []
117
117
  require_paths:
118
118
  - lib
@@ -127,8 +127,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
127
127
  - !ruby/object:Gem::Version
128
128
  version: '0'
129
129
  requirements: []
130
- rubygems_version: 3.0.6
131
- signing_key:
130
+ rubygems_version: 3.1.4
131
+ signing_key:
132
132
  specification_version: 4
133
133
  summary: Simplify configuration between Docker Compose and Ruby/Rails apps in development.
134
134
  test_files: []