docker_compose_env 0.1.0
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 +7 -0
- data/.gitignore +9 -0
- data/.rubocop.yml +3 -0
- data/.tool-versions +1 -0
- data/.travis.yml +24 -0
- data/Gemfile +6 -0
- data/LICENSE +23 -0
- data/README.md +114 -0
- data/Rakefile +22 -0
- data/bin/console +14 -0
- data/bin/lint +4 -0
- data/bin/setup +6 -0
- data/docker_compose_env.gemspec +32 -0
- data/docker_compose_env_rails.gemspec +27 -0
- data/docs/why.md +116 -0
- data/lib/docker_compose_env/now.rb +10 -0
- data/lib/docker_compose_env/railtie.rb +9 -0
- data/lib/docker_compose_env/version.rb +3 -0
- data/lib/docker_compose_env.rb +46 -0
- data/lib/docker_compose_env_rails.rb +1 -0
- metadata +134 -0
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA1:
|
3
|
+
metadata.gz: 11cda084bdb92a72404dc9149c5f26496c79eeef
|
4
|
+
data.tar.gz: d254e3e1f07eb0923a9d6d9aa7554ec54701d11c
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: ff61e526e2b6916a7f555e9efc9b5a8913faa427519941a8dbdd49b1e336811aa3b657bfdb9e4623866426597c34d9849eb289129d0aee1233d72519eee28bf9
|
7
|
+
data.tar.gz: 54c3df068e8e335708544f08c926b57d9712e280895ccc0796352d356732a397f0690b4ce959155f44a4117b9f8bfa2e1fda38b10fc07175f4af8a10041f705a
|
data/.gitignore
ADDED
data/.rubocop.yml
ADDED
data/.tool-versions
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
ruby 2.4.1
|
data/.travis.yml
ADDED
@@ -0,0 +1,24 @@
|
|
1
|
+
language: ruby
|
2
|
+
sudo: required
|
3
|
+
|
4
|
+
env:
|
5
|
+
- DOCKER_COMPOSE_VERSION=1.16.1
|
6
|
+
|
7
|
+
before_install:
|
8
|
+
- docker version
|
9
|
+
- docker-compose version
|
10
|
+
- sudo apt-get update
|
11
|
+
- sudo apt-get -y -o Dpkg::Options::="--force-confnew" install docker-ce
|
12
|
+
- gem install bundler -v 1.15.4
|
13
|
+
- sudo rm /usr/local/bin/docker-compose
|
14
|
+
- curl -L https://github.com/docker/compose/releases/download/${DOCKER_COMPOSE_VERSION}/docker-compose-`uname -s`-`uname -m` > docker-compose
|
15
|
+
- chmod +x docker-compose
|
16
|
+
- sudo mv docker-compose /usr/local/bin
|
17
|
+
- docker version
|
18
|
+
- docker-compose version
|
19
|
+
|
20
|
+
rvm:
|
21
|
+
- 2.4.1
|
22
|
+
|
23
|
+
services:
|
24
|
+
- docker
|
data/Gemfile
ADDED
data/LICENSE
ADDED
@@ -0,0 +1,23 @@
|
|
1
|
+
|
2
|
+
Copyright (c) 2017 Jonathan Knapp
|
3
|
+
|
4
|
+
MIT License
|
5
|
+
|
6
|
+
Permission is hereby granted, free of charge, to any person obtaining
|
7
|
+
a copy of this software and associated documentation files (the
|
8
|
+
"Software"), to deal in the Software without restriction, including
|
9
|
+
without limitation the rights to use, copy, modify, merge, publish,
|
10
|
+
distribute, sublicense, and/or sell copies of the Software, and to
|
11
|
+
permit persons to whom the Software is furnished to do so, subject to
|
12
|
+
the following conditions:
|
13
|
+
|
14
|
+
The above copyright notice and this permission notice shall be
|
15
|
+
included in all copies or substantial portions of the Software.
|
16
|
+
|
17
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
18
|
+
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
19
|
+
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
20
|
+
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
|
21
|
+
LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
|
22
|
+
OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
|
23
|
+
WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
data/README.md
ADDED
@@ -0,0 +1,114 @@
|
|
1
|
+
# DockerComposeEnv
|
2
|
+
|
3
|
+
Simplify configuration between Docker Compose and Ruby/Rails apps in development.
|
4
|
+
|
5
|
+
If you run Rails outside of Docker, this helps your application play be a better
|
6
|
+
first class citizen with your dev machine by utilizing dynamic port mapping in
|
7
|
+
Docker Compose services.
|
8
|
+
|
9
|
+
To read more about the problems this gem solves, check out the
|
10
|
+
[Why Does This Exist?](docs/why.md) documentation.
|
11
|
+
|
12
|
+
If your team is comfortable running Rails inside a container or you are looking
|
13
|
+
for a production solution for service discovery, this is _not_ what you want.
|
14
|
+
|
15
|
+
|
16
|
+
## Installation / Usage
|
17
|
+
|
18
|
+
For a Rails app, add this gem to your Gemfile in the development / test groups.
|
19
|
+
|
20
|
+
```ruby
|
21
|
+
group :development, :test do
|
22
|
+
gem 'docker_compose_env_rails'
|
23
|
+
end
|
24
|
+
```
|
25
|
+
|
26
|
+
You will now have new `ENV` properties set from the `docker-compose.yml` file
|
27
|
+
in your project directory. The following compose config would assign
|
28
|
+
`ENV['DB_HOST']` and `ENV['DB_PORT_5432']` to the values returned
|
29
|
+
from running `docker-compose port db 5432`, the host and dynamically mapped
|
30
|
+
port assigned after you ran `docker-compose up`.
|
31
|
+
|
32
|
+
```yaml
|
33
|
+
version: '3.3'
|
34
|
+
|
35
|
+
services:
|
36
|
+
db:
|
37
|
+
image: postgres:9.6-alpine
|
38
|
+
env_file: .env
|
39
|
+
ports:
|
40
|
+
- "5432"
|
41
|
+
```
|
42
|
+
|
43
|
+
That means your Rails `config/database.yml` file could look like:
|
44
|
+
|
45
|
+
```yaml
|
46
|
+
default: &default
|
47
|
+
adapter: postgresql
|
48
|
+
encoding: unicode
|
49
|
+
host: <%= ENV['DB_HOST'].to_i %>
|
50
|
+
password: example
|
51
|
+
pool: 5
|
52
|
+
port: <%= ENV['DB_PORT_5432'].to_i %>
|
53
|
+
username: postgres
|
54
|
+
|
55
|
+
development:
|
56
|
+
<<: *default
|
57
|
+
database: app
|
58
|
+
|
59
|
+
test:
|
60
|
+
<<: *default
|
61
|
+
database: app_test
|
62
|
+
```
|
63
|
+
|
64
|
+
### Load Faster!
|
65
|
+
|
66
|
+
If you need to load the dynamic port information faster than the
|
67
|
+
`before_configuration` call in `Railties`, you can add the `docker_compose_env`
|
68
|
+
gem higher up in the `Gemfile` and load it with a special require path:
|
69
|
+
|
70
|
+
```ruby
|
71
|
+
gem `docker_compose_env`, require: 'docker_compose_env/now'
|
72
|
+
```
|
73
|
+
|
74
|
+
### Further Customization
|
75
|
+
|
76
|
+
Unfortunately, there's only so much automagic that can be done. If you need to
|
77
|
+
customize the `docker-compose.yml` file name or location, or if you'd like to
|
78
|
+
collect the dynamic information somewhere besides `ENV`, you will need to
|
79
|
+
require the `docker_compose_env` gem and set it up yourself.
|
80
|
+
|
81
|
+
```ruby
|
82
|
+
# expects docker-compose.yml file and adds values to ENV
|
83
|
+
DockerComposeEnv.setup!
|
84
|
+
|
85
|
+
# customize docker-compose.yml path and adds values to ENV
|
86
|
+
DockerComposeEnv.setup!(file: 'docker/docker-compose.dev.yml')
|
87
|
+
|
88
|
+
# add dynamic values to custom object instead of ENV
|
89
|
+
config = {}
|
90
|
+
DockerComposeEnv.setup!(env: config)
|
91
|
+
puts config
|
92
|
+
|
93
|
+
# add dynamic values to custom object instead of ENV and custom compose path
|
94
|
+
config = {}
|
95
|
+
DockerComposeEnv.setup!(env: config, file: 'custom/path.yml')
|
96
|
+
puts config
|
97
|
+
```
|
98
|
+
|
99
|
+
|
100
|
+
## Development
|
101
|
+
|
102
|
+
After checking out the repo, run `bin/setup` to install dependencies. Then, run
|
103
|
+
`rake test` to run the tests. You can also run `bin/console` for an interactive
|
104
|
+
prompt that will allow you to experiment.
|
105
|
+
|
106
|
+
To install this gem onto your local machine, run `bundle exec rake install`. To
|
107
|
+
release a new version, update the version number in `version.rb`, and then run
|
108
|
+
`bundle exec rake release`, which will create a git tag for the version, push
|
109
|
+
git commits and tags, and push the `.gem` file to [rubygems.org](https://rubygems.org).
|
110
|
+
|
111
|
+
|
112
|
+
## Contributing
|
113
|
+
|
114
|
+
Bug reports and pull requests are welcome on GitHub at https://github.com/CoffeeAndCode/docker_compose_env.
|
data/Rakefile
ADDED
@@ -0,0 +1,22 @@
|
|
1
|
+
require 'bundler/gem_helper'
|
2
|
+
require 'rake/testtask'
|
3
|
+
|
4
|
+
namespace 'docker_compose_env' do
|
5
|
+
Bundler::GemHelper.install_tasks name: 'docker_compose_env'
|
6
|
+
end
|
7
|
+
|
8
|
+
namespace 'docker_compose_env_rails' do
|
9
|
+
Bundler::GemHelper.install_tasks name: 'docker_compose_env_rails'
|
10
|
+
end
|
11
|
+
|
12
|
+
task build: ['docker_compose_env:build', 'docker_compose_env_rails:build']
|
13
|
+
task install: ['docker_compose_env:install', 'docker_compose_env_rails:install']
|
14
|
+
task release: ['docker_compose_env:release', 'docker_compose_env_rails:release']
|
15
|
+
|
16
|
+
Rake::TestTask.new(:test) do |t|
|
17
|
+
t.libs << 'test'
|
18
|
+
t.libs << 'lib'
|
19
|
+
t.test_files = FileList['test/**/*_test.rb']
|
20
|
+
end
|
21
|
+
|
22
|
+
task default: :test
|
data/bin/console
ADDED
@@ -0,0 +1,14 @@
|
|
1
|
+
#!/usr/bin/env ruby
|
2
|
+
|
3
|
+
require 'bundler/setup'
|
4
|
+
require 'docker_compose_env'
|
5
|
+
|
6
|
+
# You can add fixtures and/or initialization code here to make experimenting
|
7
|
+
# with your gem easier. You can also use a different console, if you like.
|
8
|
+
|
9
|
+
# (If you use this, don't forget to add pry to your Gemfile!)
|
10
|
+
# require 'pry'
|
11
|
+
# Pry.start
|
12
|
+
|
13
|
+
require 'irb'
|
14
|
+
IRB.start(__FILE__)
|
data/bin/lint
ADDED
data/bin/setup
ADDED
@@ -0,0 +1,32 @@
|
|
1
|
+
# coding: utf-8
|
2
|
+
|
3
|
+
lib = File.expand_path('../lib', __FILE__)
|
4
|
+
$LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
|
5
|
+
require 'docker_compose_env/version'
|
6
|
+
|
7
|
+
Gem::Specification.new do |spec|
|
8
|
+
spec.name = 'docker_compose_env'
|
9
|
+
spec.version = DockerComposeEnv::VERSION
|
10
|
+
spec.authors = ['Jonathan Knapp']
|
11
|
+
spec.email = ['jon@coffeeandcode.com']
|
12
|
+
|
13
|
+
# rubocop:disable LineLength
|
14
|
+
spec.description = 'Simplify configuration between Docker Compose and Ruby/Rails apps in development.'
|
15
|
+
# rubocop:enable LineLength
|
16
|
+
spec.summary = spec.description
|
17
|
+
spec.homepage = 'https://github.com/CoffeeAndCode/docker_compose_env'
|
18
|
+
spec.license = 'MIT'
|
19
|
+
|
20
|
+
spec.files = `git ls-files -z`.split("\x0").reject do |f|
|
21
|
+
f.match(%r{^(features|spec|test)/})
|
22
|
+
end
|
23
|
+
spec.bindir = 'exe'
|
24
|
+
spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
|
25
|
+
spec.require_paths = ['lib']
|
26
|
+
|
27
|
+
spec.add_development_dependency 'bundler', '~> 1.15'
|
28
|
+
spec.add_development_dependency 'rake', '~> 12.0'
|
29
|
+
spec.add_development_dependency 'reek'
|
30
|
+
spec.add_development_dependency 'rubocop'
|
31
|
+
spec.add_development_dependency 'minitest', '~> 5.10'
|
32
|
+
end
|
@@ -0,0 +1,27 @@
|
|
1
|
+
# coding: utf-8
|
2
|
+
|
3
|
+
lib = File.expand_path('../lib', __FILE__)
|
4
|
+
$LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
|
5
|
+
require 'docker_compose_env/version'
|
6
|
+
|
7
|
+
Gem::Specification.new do |spec|
|
8
|
+
spec.name = 'docker_compose_env_rails'
|
9
|
+
spec.version = DockerComposeEnv::VERSION
|
10
|
+
spec.authors = ['Jonathan Knapp']
|
11
|
+
spec.email = ['jon@coffeeandcode.com']
|
12
|
+
|
13
|
+
spec.description = 'Automate docker_compose_env in Rails.'
|
14
|
+
spec.summary = spec.description
|
15
|
+
spec.homepage = 'https://github.com/CoffeeAndCode/docker_compose_env'
|
16
|
+
spec.license = 'MIT'
|
17
|
+
|
18
|
+
spec.files = `git ls-files -z`.split("\x0").reject do |f|
|
19
|
+
f.match(%r{^(features|spec|test)/})
|
20
|
+
end
|
21
|
+
spec.bindir = 'exe'
|
22
|
+
spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
|
23
|
+
spec.require_paths = ['lib']
|
24
|
+
|
25
|
+
spec.add_dependency 'docker_compose_env', DockerComposeEnv::VERSION
|
26
|
+
spec.add_dependency 'railties', '>= 3.2', '< 5.2'
|
27
|
+
end
|
data/docs/why.md
ADDED
@@ -0,0 +1,116 @@
|
|
1
|
+
# Why Does This Exist?
|
2
|
+
|
3
|
+
I've repeatedly ran into configuration issues integrating Docker into my team's
|
4
|
+
development environment. While I love what containers can bring to bootstrapping
|
5
|
+
a project, I'm not sold on moving my development environment into a Docker
|
6
|
+
container. That means, niceities that I could depend on (like easy mapping to
|
7
|
+
other services) falls short and I end up having to map ports to developer host
|
8
|
+
machines. This creates problems when those ports are already in use and there
|
9
|
+
was no simple solution (that I found) to address simplifying configuration.
|
10
|
+
|
11
|
+
|
12
|
+
### The Problem
|
13
|
+
|
14
|
+
If you run your Ruby and/or Rails application outside of a Docker container,
|
15
|
+
you normally have to hardcode the port mapping to connect to services managed
|
16
|
+
by Docker Compose. For example, running a Rails application that connects with
|
17
|
+
a Postgres Docker container would include the following:
|
18
|
+
|
19
|
+
_.env_
|
20
|
+
|
21
|
+
```bash
|
22
|
+
POSTGRES_DB=app_db_name
|
23
|
+
POSTGRES_PASSWORD=password
|
24
|
+
POSTGRES_USER=postgres
|
25
|
+
```
|
26
|
+
|
27
|
+
_config/database.yml_
|
28
|
+
|
29
|
+
```yaml
|
30
|
+
development: &development
|
31
|
+
adapter: postgresql
|
32
|
+
database: <%= ENV['POSTGRES_DB'] %>_dev
|
33
|
+
encoding: unicode
|
34
|
+
host: 127.0.0.1
|
35
|
+
password: <%= ENV['POSTGRES_PASSWORD'] %>
|
36
|
+
pool: 5
|
37
|
+
port: 5432
|
38
|
+
username: <%= ENV['POSTGRES_USER'] %>
|
39
|
+
|
40
|
+
test:
|
41
|
+
<<: *development
|
42
|
+
database: <%= ENV['POSTGRES_DB'] %>_test
|
43
|
+
```
|
44
|
+
|
45
|
+
_docker-compose.yml_
|
46
|
+
|
47
|
+
```yaml
|
48
|
+
version: '3.3'
|
49
|
+
|
50
|
+
services:
|
51
|
+
postgres:
|
52
|
+
image: postgres:9.6-alpine
|
53
|
+
env_file: .env
|
54
|
+
ports:
|
55
|
+
- "5432:5432"
|
56
|
+
```
|
57
|
+
|
58
|
+
The good part is that this works just fine. However there are a few situations
|
59
|
+
where things start to fall down.
|
60
|
+
|
61
|
+
If you want to run your application on a machine that already has something
|
62
|
+
listening on that port, Docker Compose will be unable to map the port properly
|
63
|
+
(since it's already in use). That means if anyone has `mysql` or `postgres`
|
64
|
+
installed through Homebrew, there will need to be additional notes for them
|
65
|
+
to know how to work with your application.
|
66
|
+
|
67
|
+
If you happen to work on multiple Rails applications at the same time, you may
|
68
|
+
run into multiple projects each competing for the same local port mappings.
|
69
|
+
Solutions such as hardcoding a different port to map to per project work, but
|
70
|
+
add to the cognative overhead of working with the project.
|
71
|
+
|
72
|
+
|
73
|
+
### The Solution
|
74
|
+
|
75
|
+
Instead of worrying about additional setup for your application, setup
|
76
|
+
Docker Compose to work with dynamic port assignments and inform your application
|
77
|
+
of the final ports to map to. This allows your configuration to look like this:
|
78
|
+
|
79
|
+
_.env_
|
80
|
+
|
81
|
+
```bash
|
82
|
+
POSTGRES_DB=app_db_name
|
83
|
+
POSTGRES_PASSWORD=password
|
84
|
+
POSTGRES_USER=postgres
|
85
|
+
```
|
86
|
+
|
87
|
+
_config/database.yml_
|
88
|
+
|
89
|
+
```yaml
|
90
|
+
development: &development
|
91
|
+
adapter: postgresql
|
92
|
+
database: <%= ENV['POSTGRES_DB'] %>_dev
|
93
|
+
encoding: unicode
|
94
|
+
host: <%= ENV['POSTGRES_HOST'] %> # dynamically setup by gem (probably 0.0.0.0)
|
95
|
+
password: <%= ENV['POSTGRES_PASSWORD'] %>
|
96
|
+
pool: 5
|
97
|
+
port: <%= ENV['POSTGRES_PORT_5432'] %> # dynamically setup by gem
|
98
|
+
username: <%= ENV['POSTGRES_USER'] %>
|
99
|
+
|
100
|
+
test:
|
101
|
+
<<: *development
|
102
|
+
database: <%= ENV['POSTGRES_DB'] %>_test
|
103
|
+
```
|
104
|
+
|
105
|
+
_docker-compose.yml_
|
106
|
+
|
107
|
+
```yaml
|
108
|
+
version: '3.3'
|
109
|
+
|
110
|
+
services:
|
111
|
+
postgres:
|
112
|
+
image: postgres:9.6-alpine
|
113
|
+
env_file: .env
|
114
|
+
ports:
|
115
|
+
- "5432" # do not explicitly mention host port to map to
|
116
|
+
```
|
@@ -0,0 +1,10 @@
|
|
1
|
+
# If you use gems that require environment variables to be set before they are
|
2
|
+
# loaded, then list `docker_compose_env` in the `Gemfile` before those
|
3
|
+
# other gems and require `docker_compose_env/now`.
|
4
|
+
#
|
5
|
+
# gem 'docker_compose_env', require: 'docker_compose_env/now'
|
6
|
+
# gem 'gem_that_requires_env_variables'
|
7
|
+
#
|
8
|
+
|
9
|
+
require 'docker_compose_env'
|
10
|
+
DockerComposeEnv.setup!
|
@@ -0,0 +1,46 @@
|
|
1
|
+
require 'docker_compose_env/version'
|
2
|
+
require 'yaml'
|
3
|
+
|
4
|
+
# The main module for DockerComposeEnv, this provides a single "easy mode"
|
5
|
+
# method for setting up the environment.
|
6
|
+
module DockerComposeEnv
|
7
|
+
def self.setup!(env: ENV, file: 'docker-compose.yml')
|
8
|
+
config = YAML.safe_load(File.read(file))
|
9
|
+
|
10
|
+
config.fetch('services', {}).keys.each do |service_name|
|
11
|
+
(config['services'][service_name]['ports'] || []).each do |container_port|
|
12
|
+
if /(\d+)\/udp$/ =~ container_port
|
13
|
+
parsed_port = /(?<port>\d+)\/udp$/.match(container_port).named_captures['port']
|
14
|
+
|
15
|
+
command = "docker-compose --file=#{file} port --protocol=udp #{service_name} #{parsed_port}"
|
16
|
+
compose_port_info = `#{command}`
|
17
|
+
|
18
|
+
if (compose_port_info =~ /^0\.0\.0\.0\:\d+\s*$/) == 0
|
19
|
+
if env["#{service_name.upcase}_HOST"].nil?
|
20
|
+
env["#{service_name.upcase}_HOST"] = '0.0.0.0'
|
21
|
+
end
|
22
|
+
|
23
|
+
if env["#{service_name.upcase}_PORT_#{parsed_port}_UDP"].nil?
|
24
|
+
env["#{service_name.upcase}_PORT_#{parsed_port}_UDP"] = compose_port_info.gsub(/0\.0\.0\.0:(\d+)\s*/, '\1')
|
25
|
+
end
|
26
|
+
end
|
27
|
+
else
|
28
|
+
command = "docker-compose --file=#{file} port #{service_name} #{container_port}"
|
29
|
+
compose_port_info = `#{command}`
|
30
|
+
|
31
|
+
if (compose_port_info =~ /^0\.0\.0\.0\:\d+\s*$/) == 0
|
32
|
+
if env["#{service_name.upcase}_HOST"].nil?
|
33
|
+
env["#{service_name.upcase}_HOST"] = '0.0.0.0'
|
34
|
+
end
|
35
|
+
|
36
|
+
if env["#{service_name.upcase}_PORT_#{container_port}"].nil?
|
37
|
+
env["#{service_name.upcase}_PORT_#{container_port}"] = compose_port_info.gsub(/0\.0\.0\.0:(\d+)\s*/, '\1')
|
38
|
+
end
|
39
|
+
end
|
40
|
+
end
|
41
|
+
end
|
42
|
+
end
|
43
|
+
rescue Errno::ENOENT => exception
|
44
|
+
raise exception unless exception.message == 'No such file or directory - docker-compose'
|
45
|
+
end
|
46
|
+
end
|
@@ -0,0 +1 @@
|
|
1
|
+
require 'docker_compose_env/railtie'
|
metadata
ADDED
@@ -0,0 +1,134 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: docker_compose_env
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 0.1.0
|
5
|
+
platform: ruby
|
6
|
+
authors:
|
7
|
+
- Jonathan Knapp
|
8
|
+
autorequire:
|
9
|
+
bindir: exe
|
10
|
+
cert_chain: []
|
11
|
+
date: 2017-12-07 00:00:00.000000000 Z
|
12
|
+
dependencies:
|
13
|
+
- !ruby/object:Gem::Dependency
|
14
|
+
name: bundler
|
15
|
+
requirement: !ruby/object:Gem::Requirement
|
16
|
+
requirements:
|
17
|
+
- - "~>"
|
18
|
+
- !ruby/object:Gem::Version
|
19
|
+
version: '1.15'
|
20
|
+
type: :development
|
21
|
+
prerelease: false
|
22
|
+
version_requirements: !ruby/object:Gem::Requirement
|
23
|
+
requirements:
|
24
|
+
- - "~>"
|
25
|
+
- !ruby/object:Gem::Version
|
26
|
+
version: '1.15'
|
27
|
+
- !ruby/object:Gem::Dependency
|
28
|
+
name: rake
|
29
|
+
requirement: !ruby/object:Gem::Requirement
|
30
|
+
requirements:
|
31
|
+
- - "~>"
|
32
|
+
- !ruby/object:Gem::Version
|
33
|
+
version: '12.0'
|
34
|
+
type: :development
|
35
|
+
prerelease: false
|
36
|
+
version_requirements: !ruby/object:Gem::Requirement
|
37
|
+
requirements:
|
38
|
+
- - "~>"
|
39
|
+
- !ruby/object:Gem::Version
|
40
|
+
version: '12.0'
|
41
|
+
- !ruby/object:Gem::Dependency
|
42
|
+
name: reek
|
43
|
+
requirement: !ruby/object:Gem::Requirement
|
44
|
+
requirements:
|
45
|
+
- - ">="
|
46
|
+
- !ruby/object:Gem::Version
|
47
|
+
version: '0'
|
48
|
+
type: :development
|
49
|
+
prerelease: false
|
50
|
+
version_requirements: !ruby/object:Gem::Requirement
|
51
|
+
requirements:
|
52
|
+
- - ">="
|
53
|
+
- !ruby/object:Gem::Version
|
54
|
+
version: '0'
|
55
|
+
- !ruby/object:Gem::Dependency
|
56
|
+
name: rubocop
|
57
|
+
requirement: !ruby/object:Gem::Requirement
|
58
|
+
requirements:
|
59
|
+
- - ">="
|
60
|
+
- !ruby/object:Gem::Version
|
61
|
+
version: '0'
|
62
|
+
type: :development
|
63
|
+
prerelease: false
|
64
|
+
version_requirements: !ruby/object:Gem::Requirement
|
65
|
+
requirements:
|
66
|
+
- - ">="
|
67
|
+
- !ruby/object:Gem::Version
|
68
|
+
version: '0'
|
69
|
+
- !ruby/object:Gem::Dependency
|
70
|
+
name: minitest
|
71
|
+
requirement: !ruby/object:Gem::Requirement
|
72
|
+
requirements:
|
73
|
+
- - "~>"
|
74
|
+
- !ruby/object:Gem::Version
|
75
|
+
version: '5.10'
|
76
|
+
type: :development
|
77
|
+
prerelease: false
|
78
|
+
version_requirements: !ruby/object:Gem::Requirement
|
79
|
+
requirements:
|
80
|
+
- - "~>"
|
81
|
+
- !ruby/object:Gem::Version
|
82
|
+
version: '5.10'
|
83
|
+
description: Simplify configuration between Docker Compose and Ruby/Rails apps in
|
84
|
+
development.
|
85
|
+
email:
|
86
|
+
- jon@coffeeandcode.com
|
87
|
+
executables: []
|
88
|
+
extensions: []
|
89
|
+
extra_rdoc_files: []
|
90
|
+
files:
|
91
|
+
- ".gitignore"
|
92
|
+
- ".rubocop.yml"
|
93
|
+
- ".tool-versions"
|
94
|
+
- ".travis.yml"
|
95
|
+
- Gemfile
|
96
|
+
- LICENSE
|
97
|
+
- README.md
|
98
|
+
- Rakefile
|
99
|
+
- bin/console
|
100
|
+
- bin/lint
|
101
|
+
- bin/setup
|
102
|
+
- docker_compose_env.gemspec
|
103
|
+
- docker_compose_env_rails.gemspec
|
104
|
+
- docs/why.md
|
105
|
+
- lib/docker_compose_env.rb
|
106
|
+
- lib/docker_compose_env/now.rb
|
107
|
+
- lib/docker_compose_env/railtie.rb
|
108
|
+
- lib/docker_compose_env/version.rb
|
109
|
+
- lib/docker_compose_env_rails.rb
|
110
|
+
homepage: https://github.com/CoffeeAndCode/docker_compose_env
|
111
|
+
licenses:
|
112
|
+
- MIT
|
113
|
+
metadata: {}
|
114
|
+
post_install_message:
|
115
|
+
rdoc_options: []
|
116
|
+
require_paths:
|
117
|
+
- lib
|
118
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
119
|
+
requirements:
|
120
|
+
- - ">="
|
121
|
+
- !ruby/object:Gem::Version
|
122
|
+
version: '0'
|
123
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
124
|
+
requirements:
|
125
|
+
- - ">="
|
126
|
+
- !ruby/object:Gem::Version
|
127
|
+
version: '0'
|
128
|
+
requirements: []
|
129
|
+
rubyforge_project:
|
130
|
+
rubygems_version: 2.6.13
|
131
|
+
signing_key:
|
132
|
+
specification_version: 4
|
133
|
+
summary: Simplify configuration between Docker Compose and Ruby/Rails apps in development.
|
134
|
+
test_files: []
|