docker_compose_env_rails 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: 645a0ccdbf5d835803812fbfcd7949eb2a5ca0d0366594fa3d0249d35aedc70c
4
- data.tar.gz: '08f8834451e570339bb84cca2656a9cd0c2d408509052432260c8b07ce474168'
3
+ metadata.gz: 94758a7e22d65d2c31190c3b337e068f56645d76c6d248c535d418d4f2eb120e
4
+ data.tar.gz: 6d7f80c97172860417420740d02e6d029d6905c92aca68bb75874159cf4a18b1
5
5
  SHA512:
6
- metadata.gz: 565a49beb9e73979da3f28548a801d7b9a5f0ad8b18fe4158bc9bae6ae4e5224e4b64bb034d7e7c4f07479051ffa6288fa674ccf8d32d75c83e1cbbc1ad59f4e
7
- data.tar.gz: 691416de5ef46bdfaf95f8762c1f6a06eee8f96656916681f407dff0ffec94652671221125dc4d5db53cb540c0f7dbc2f171118d9f0199bb3a7106b0f2bbc664
6
+ metadata.gz: 5cc1d2f468d9789d79ec6a137528225cac5dedd2cd2555acb7a0031c333982f90daaebf3dac3985f48b8c87b1091138eaa43b0cc9019c5d5cd330c0119102a37
7
+ data.tar.gz: 5c2ddf9e84462c50d15734674f16d56830aa1bc20228523bf61372caa7767358e648d673704ab720174c0c1049e978f08dfcc60c19e538c47e5497130092997b
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_rails
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: docker_compose_env
@@ -16,14 +16,14 @@ dependencies:
16
16
  requirements:
17
17
  - - '='
18
18
  - !ruby/object:Gem::Version
19
- version: 0.1.2
19
+ version: 0.2.1
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
24
  - - '='
25
25
  - !ruby/object:Gem::Version
26
- version: 0.1.2
26
+ version: 0.2.1
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: railties
29
29
  requirement: !ruby/object:Gem::Requirement
@@ -69,7 +69,7 @@ homepage: https://github.com/CoffeeAndCode/docker_compose_env
69
69
  licenses:
70
70
  - MIT
71
71
  metadata: {}
72
- post_install_message:
72
+ post_install_message:
73
73
  rdoc_options: []
74
74
  require_paths:
75
75
  - lib
@@ -84,8 +84,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
84
84
  - !ruby/object:Gem::Version
85
85
  version: '0'
86
86
  requirements: []
87
- rubygems_version: 3.0.6
88
- signing_key:
87
+ rubygems_version: 3.1.4
88
+ signing_key:
89
89
  specification_version: 4
90
90
  summary: Automate docker_compose_env in Rails.
91
91
  test_files: []