Project

General

Profile

Download (1.4 KB) Statistics
| Branch: | Tag: | Revision:
#!/usr/bin/env ruby

require 'optparse'
defaults = { :foreman_path => File.expand_path('..', __dir__),
:environment => "production"}
options = defaults.dup
warn 'foreman-config script is deprecated. Please consider using `foreman-rake config` instead'

option_parser = OptionParser.new do |opt|
opt.banner = <<BANNER
Wrapper around foreman-rake config task

It's kept here for backward compatibility purposes.
The preffered way should be `foreman-rake config`. See
`foreman-rake config --help` for details.
BANNER
opt.on("-p",
"--path PATH",
"Path with Foreman source code (default #{defaults[:foreman_path]})") do |val|
options[:foreman_path] = val
end
opt.on("-e",
"--env ENV",
"Runtime environment (default #{defaults[:environment]})") do |val|
options[:environment] = val
end
# pass the -v and -h options to the rake task
opt.on('-v') { raise OptionParser::InvalidOption }
opt.on('-h') { raise OptionParser::InvalidOption }
end

rake_args = []
argv = ARGV.dup

begin
option_parser.parse! argv
rescue OptionParser::InvalidOption => e
# don't fail on unknown attributes, rather pass it to the rake task
e.recover argv
rake_args << argv.shift
rake_args << argv.shift if !argv.empty? && argv.first !~ /^-/
retry
end

Dir.chdir(options[:foreman_path]) do
ENV['RAILS_ENV'] = options[:environment]
exec('rake', '--', 'config', *rake_args)
end
(2-2/14)