docker_compose_env 0.1.2 → 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 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: []