def weight_logs(start_date: nil, end_date: nil, period: nil)
      unless start_date
        raise FitgemOauth2::InvalidArgumentError, 'start_date not specified.'
      end

      if period && end_date
        raise FitgemOauth2::InvalidArgumentError, 'both end_date and period specified. please provide only one.'
      end

      if period
        unless WEIGHT_PERIODS.include?(period)
          raise FitgemOauth2::InvalidArgumentError, "valid period not specified. please choose a period from #{WEIGHT_PERIODS}"
        end
      end

      first = format_date(start_date)
      url = ['user', user_id, 'body/log/weight/date', first].join('/')
      if period || end_date
        second = period || format_date(end_date)
        url = [url, second].join('/')
      end

      get_call(url + '.json')
    end
def weight_logs(start_date: nil, end_date: nil, period: nil)
      unless start_date
        raise FitgemOauth2::InvalidArgumentError, 'start_date not specified.'
      end

      if period && end_date
        raise FitgemOauth2::InvalidArgumentError, 'both end_date and period specified. please provide only one.'
      end

      if period
        unless WEIGHT_PERIODS.include?(period)
          raise FitgemOauth2::InvalidArgumentError, "valid period not specified. please choose a period from #{WEIGHT_PERIODS}"
        end
      end

      first = format_date(start_date)
      url = ['user', user_id, 'body/log/weight/date', first].join('/')
      if period || end_date
        second = period || format_date(end_date)
        url = [url, second].join('/')
      end

      get_call(url + '.json')
    end
======================================
      Body Weight
 ======================================
 retrieve weight logs; specify either the end_date or period
 @param start_date start date for the logs
 @param end_date (optional)end_date for the logs
 @param period (optional)period for the logs