#! /usr/bin/env ruby # frozen_string_literal: true # A simple Clamp command, with options and parameters require "clamp" Clamp do banner %( Say something. ) option "--loud", :flag, "say it loud" option ["-n", "--iterations"], "N", "say it N times", default: 1 do |s| Integer(s) end parameter "WORDS ...", "the thing to say", attribute_name: :words def execute the_truth = words.join(" ") the_truth.upcase! if loud? iterations.times do puts the_truth end end end