12345678910111213141516171819202122232425262728293031323334353637 |
- require "dotenv"
- module Dotenv
-
-
- class CLI
- attr_reader :argv
- def initialize(argv = [])
- @argv = argv.dup
- end
- def run
- filenames = parse_filenames || []
- begin
- Dotenv.load!(*filenames)
- rescue Errno::ENOENT => e
- abort e.message
- else
- exec(*argv) unless argv.empty?
- end
- end
- private
- def parse_filenames
- pos = argv.index("-f")
- return nil unless pos
-
- argv.delete_at pos
-
- require "csv"
- CSV.parse_line argv.delete_at(pos)
- end
- end
- end
|