module FFaker::AddressUS

def capitalize_all_words(string)

def capitalize_all_words(string)
  string.split.map(&:capitalize).join(' ')
end

def check_state_existence(state_name)

def check_state_existence(state_name)
  return if STATE.include?(state_name)
  raise ArgumentError, "Unexpected state name: '#{state_name}'"
end

def continental_state

def continental_state
  fetch_sample(CONTINENTAL_STATE)
end

def continental_state_abbr

def continental_state_abbr
  fetch_sample(CONTINENTAL_STATE_ABBR)
end

def find_abbr(state)

def find_abbr(state)
  STATE_ABBR[STATE.index(state)]
end

def state

def state
  fetch_sample(STATE)
end

def state_abbr(st_name = nil)

def state_abbr(st_name = nil)
  return find_abbr(state) unless st_name
  st_name = capitalize_all_words(st_name)
  check_state_existence(st_name)
  find_abbr(st_name)
end

def state_and_territories_abbr

def state_and_territories_abbr
  fetch_sample(STATE_AND_TERRITORIES_ABBR)
end

def zip_code

def zip_code
  FFaker.numerify(fetch_sample(ZIP_FORMATS))
end