#! /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
