ex_cli
ex_cli copied to clipboard
Negative values for arguments not parsed
option :lon, help: "The venue's longitude", type: :float
% mix venue -v add 'Temple of Boom' --lat 53.8020657 --lon -1.5319708
No argument provided for 'lon'
% mix venue -v add 'Temple of Boom' --lat 53.8020657 --lon '-1.5319708'
No argument provided for 'lon'
Full script:
defmodule BandTracker.Venue do
use ExCLI.DSL, mix_task: :venue
name "BandTracker.Venue"
description "Venue operations"
option :verbose, count: true, aliases: [:v]
command :add do
aliases [:a]
description "Add a new venue"
argument :name, help: "The venue's name"
option :lat, help: "The venue's latitude", type: :float
option :lon, help: "The venue's longitude", type: :float
run context do
if context.verbose > 0 do
IO.puts("Adding new venue...")
end
name = context[:name]
lat = context[:lat]
lon = context[:lon]
IO.write("Name: #{name}, latitude: #{lat}, longitude: #{lon}")
end
end
end