ex_cli icon indicating copy to clipboard operation
ex_cli copied to clipboard

Negative values for arguments not parsed

Open n7st opened this issue 5 years ago • 0 comments

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

n7st avatar Oct 11 '19 10:10 n7st