procodile 1.0.13 → 1.0.14
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/bin/procodile +1 -1
- data/lib/procodile/app_determination.rb +20 -7
- data/lib/procodile/cli.rb +14 -2
- data/lib/procodile/version.rb +1 -1
- metadata +2 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 52606401641f665e09ce9beae6a752e70e3a680a
|
4
|
+
data.tar.gz: 052b223485baa0c66d5f67a3ff52afb9ed5a4ed4
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 9c97e8abbcade5ed3e51553ff97a0b658f69a326e4afc84029070e288b5882ea8b4b2d5c6e22bcfae15afd31c2305ac30a353a5c20e39849be41ddeafbf40fbb
|
7
|
+
data.tar.gz: eae3e1a71001a027ab132e5797a59c1b78e383bd6aac1f68dfe8ccba7b33afe81db7efc5ed8bf09212a7606d82fade99da6afb54f5e062eb480d75aad9cb8762
|
data/bin/procodile
CHANGED
@@ -62,7 +62,7 @@ if ap.ambiguous?
|
|
62
62
|
if ENV['PROCODILE_APP_ID']
|
63
63
|
ap.set_app(ENV['PROCODILE_APP_ID'].to_i)
|
64
64
|
elsif ap.app_options.empty?
|
65
|
-
$stderr.puts "Error: Could not find
|
65
|
+
$stderr.puts "Error: Could not find Procfile in #{FileUtils.pwd}/Procfile".color(31)
|
66
66
|
exit 1
|
67
67
|
else
|
68
68
|
puts "There are multiple applications configured in #{global_config_path}"
|
@@ -91,17 +91,17 @@ module Procodile
|
|
91
91
|
def find_root_and_procfile(pwd, root, procfile)
|
92
92
|
if root && procfile
|
93
93
|
# The user has provided both the root and procfile, we can use these
|
94
|
-
@root =
|
95
|
-
@procfile =
|
94
|
+
@root = expand_path(root)
|
95
|
+
@procfile = expand_path(procfile, @root)
|
96
96
|
elsif root && procfile.nil?
|
97
97
|
# The user has given us a root, we can assume they want to use the procfile
|
98
98
|
# from the root
|
99
|
-
@root =
|
99
|
+
@root = expand_path(root)
|
100
100
|
@procfile = File.join(@root, 'Procfile')
|
101
101
|
elsif root.nil? && procfile
|
102
102
|
# The user has given us a procfile but no root. We will assume the procfile
|
103
103
|
# is in the root of the directory
|
104
|
-
@procfile =
|
104
|
+
@procfile = expand_path(procfile)
|
105
105
|
@root = File.dirname(@procfile)
|
106
106
|
else
|
107
107
|
# The user has given us nothing. We will check to see if there's a Procfile
|
@@ -130,10 +130,10 @@ module Procodile
|
|
130
130
|
end
|
131
131
|
|
132
132
|
def global_options_for_path(root)
|
133
|
-
root =
|
134
|
-
if @global_options.is_a?(Hash) && @global_options['root'] &&
|
133
|
+
root = expand_path(root)
|
134
|
+
if @global_options.is_a?(Hash) && @global_options['root'] && expand_path(@global_options['root']) == root
|
135
135
|
@global_options
|
136
|
-
elsif @global_options.is_a?(Array) && option = @global_options.select { |o| o['root'] &&
|
136
|
+
elsif @global_options.is_a?(Array) && option = @global_options.select { |o| o['root'] && expand_path(o['root']) == root }.first
|
137
137
|
option
|
138
138
|
else
|
139
139
|
nil
|
@@ -146,5 +146,18 @@ module Procodile
|
|
146
146
|
@environment = options['environment'] if options['environment']
|
147
147
|
end
|
148
148
|
|
149
|
+
def expand_path(path, root = nil)
|
150
|
+
# Remove trailing slashes for normalization
|
151
|
+
path = path.gsub(/\/\z/, '')
|
152
|
+
if path =~ /\//
|
153
|
+
# If the path starts with a /, it's absolute. Do nothing.
|
154
|
+
path
|
155
|
+
else
|
156
|
+
# Otherwise, if there's a root provided, it should be from the root
|
157
|
+
# of that otherwise from the root of the current directory.
|
158
|
+
root ? File.join(root, path) : File.join(@pwd, path)
|
159
|
+
end
|
160
|
+
end
|
161
|
+
|
149
162
|
end
|
150
163
|
end
|
data/lib/procodile/cli.rb
CHANGED
@@ -359,7 +359,15 @@ module Procodile
|
|
359
359
|
desc "Run a command within the environment"
|
360
360
|
command def run
|
361
361
|
desired_command = ARGV.drop(1).join(' ')
|
362
|
-
|
362
|
+
if desired_command.length == 0
|
363
|
+
raise Error, "You need to specify a command to run (e.g. procodile run -- rake db:migrate)"
|
364
|
+
else
|
365
|
+
begin
|
366
|
+
exec(@config.environment_variables, desired_command)
|
367
|
+
rescue Errno::ENOENT => e
|
368
|
+
raise Error, e.message
|
369
|
+
end
|
370
|
+
end
|
363
371
|
end
|
364
372
|
|
365
373
|
#
|
@@ -369,7 +377,11 @@ module Procodile
|
|
369
377
|
command def console
|
370
378
|
if cmd = @config.console_command
|
371
379
|
environment = @config.environment_variables
|
372
|
-
|
380
|
+
begin
|
381
|
+
exec(environment, cmd)
|
382
|
+
rescue Errno::ENOENT => e
|
383
|
+
raise Error, e.message
|
384
|
+
end
|
373
385
|
else
|
374
386
|
raise Error, "No console command has been configured in the Procfile"
|
375
387
|
end
|
data/lib/procodile/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: procodile
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.0.
|
4
|
+
version: 1.0.14
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Adam Cooke
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2017-03-
|
11
|
+
date: 2017-03-27 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: json
|
@@ -76,4 +76,3 @@ specification_version: 4
|
|
76
76
|
summary: This gem will help you run Ruby processes from a Procfile on Linux servers
|
77
77
|
in the background.
|
78
78
|
test_files: []
|
79
|
-
has_rdoc:
|