code: def add(date = self, offset, period)
        y = period == 'y' ? (date.year + offset) : date.year 
        m = period == 'm' ? (month_of_year(date.year, date.month) + offset) : month_of_year(date.year, date.month) 
        d = date.day
        begin
          if (period == 'd' || period == 'w') 
            week_days = period == 'w' ? 7 : 1
            j_date = jd
            j_date = j_date + offset * week_days 
            result = HijriUmmAlqura.jd(j_date)
            return result
          elsif (period == 'm') 
            rys = resync_year_month(y, m)
            y  = rys[0]
            m = rys[1]
            return HijriUmmAlqura.format_date([y, m, d])
          elsif (period == 'y') 
            return HijriUmmAlqura.format_date([y, m, d])
          end
        rescue Exception => e  
          puts "Exception details: #{e.class} #{e.message}" 
        end
      end
docs: Add Days - Weeks - Months - Years