lib/vindetta/cli.rb in vindetta-0.14.0 vs lib/vindetta/cli.rb in vindetta-0.15.0

- old
+ new

@@ -1,42 +1,56 @@ require "gli" require "vindetta/version" -require "pp" +require "i18n" +I18n.load_path << Dir["./lib/vindetta/locale/*.yml"] +I18n.backend.load_translations + module Vindetta class CLI extend GLI::App program_desc "Vehicle Identification Number (VIN) CLI" version Vindetta::VERSION + error_device = error_device desc "Transliterates a VIN character" arg_name "character" + command %i[transliterate t] do |c| c.action do |_global, _options, args| puts Vindetta::Transliterator.run(args.first) end end desc "Validates a VIN" + command %i[validate v] do |c| c.action do |_global, _options, args| - puts Vindetta::Validator.run(args.first) + vin = args.first + + exit_now!(I18n.t("required"), 1) if vin.nil? + + valid = Vindetta::Validator.run(vin) + + puts valid ? 1 : 0 end end desc "Decodes a VIN" + command %i[decode d] do |c| - c.action do |_global, _options, _args| - vin = _args.first + c.action do |_global, _options, args| + vin = args.first - exit_now!("vin is required") if vin.nil? + exit_now!(I18n.t("required"), 1) if vin.nil? puts Vindetta::Decoder.decode_vin(vin).to_json end end desc "Generates a random VIN" + command %i[generate g] do |c| c.action do |_global, _options, _args| puts Vindetta::Generator.generate end end