class DockerRailsProxy::Cli
Public Class Methods
invoke(arguments)
click to toggle source
# File lib/docker_rails_proxy/cli.rb, line 4 def invoke(arguments) command, *all_arguments = arguments arguments, additional_arguments = split_arguments(all_arguments) if command.nil? $stderr.puts <<-EOF #{"bin/#{APP_NAME} requires 1 argument.".bold} #{"Usage: bin/#{APP_NAME} <command> [<arguments>]".bold} EOF exit 1 end if COMMANDS.include? command arguments << '-h' if arguments.empty? "DockerRailsProxy::#{command}".constantize.call( arguments: arguments, additional_arguments: additional_arguments ) else $stderr.puts <<-EOS #{'No such command'.yellow} #{'COMMANDS'.bold} EOS COMMANDS.each do |script| $stderr.puts <<-EOS #{script.parameterize.bold} [<arguments>] EOS end exit 1 end end
Private Class Methods
split_arguments(arguments)
click to toggle source
# File lib/docker_rails_proxy/cli.rb, line 41 def split_arguments(arguments) return [arguments, []] unless (separator_index = arguments.index('--')) arguments.delete_at(separator_index) arguments.partition.with_index { |_, index| index < separator_index } end