def process_item item
item.skip_query = true if @options[ :noninteractive ] >= NONINTERACTIVE
if @options.fetch( :fail_on_missing_answers, false )
item.fail_on_missing_answer = true
end
if @options[ :noninteractive ] == INTERACTIVE
item.query
else
value = item.default_value_noninteractive
if item.validate( value )
item.value = value
item.print_summary if @options.fetch( :verbose ) >= 0
else
if @options.fetch( :noninteractive ) >= REALLY_NONINTERACTIVE
raise "FATAL: '#{item.value}' is an invalid answer for '#{item.key}'"
else
print_invalid_item_error item
item.skip_query = false
value = item.query
end
end
end
item.safe_apply
end