def to_print(attributes, sending_country=nil)
      # don't add country if sending from country
      unless sending_country.to_s.upcase == @code
        attributes.merge!({ country: name})
      end
      print = address_format.dup
      all_fields.each do |f|
        print.gsub!("{{#{f}}}", format_values(f, attributes[f].to_s) )
      end
      print.squeeze(' ')
      .gsub(/\A\s+\n|\n\s+|\s+\n\s+\Z/, "\n")
      .squeeze("\n")
      .strip
    end
def to_print(attributes, sending_country=nil)
      # don't add country if sending from country
      unless sending_country.to_s.upcase == @code
        attributes.merge!({ country: name})
      end
      print = address_format.dup
      all_fields.each do |f|
        print.gsub!("{{#{f}}}", format_values(f, attributes[f].to_s) )
      end
      print.squeeze(' ')
      .gsub(/\A\s+\n|\n\s+|\s+\n\s+\Z/, "\n")
      .squeeze("\n")
      .strip
    end
Generate an address for printing based on the countries address format.
 attributes = {address1: '12 hey St', address2: '', city: 'Homeville', postcode: 'AHZ 312' }
 sending country = 'AU'. If added the country name will be excluded from address