package Ġnet . de an . j raw . meta Ċ Ċ import Ġnet . ste pp sch uh . markdown generator . link . Link Ċ import Ġnet . ste pp sch uh . markdown generator . table . Table Ċ import Ġnet . ste pp sch uh . markdown generator . text . code . Code Ċ import Ġnet . ste pp sch uh . markdown generator . text . heading . Heading Ċ import Ġjava . io . File Ċ import Ġjava . text . SimpleDateFormat Ċ import Ġjava . util .* Ċ Ċ object ĠMarkdown Overview Creator Ġ{ ĊĠĠĠ Ġfun Ġcreate ( endpoints : ĠEndpoint Overview , Ġf : ĠFile ) Ġ= Ġf . write Text ( create ( endpoints )) ĊĊĠĠĠ Ġprivate Ġval ĠdateFormat Ġ= ĠSimpleDateFormat (" yyyy - MM - dd Ġ' at ' ĠHH : mm : ss Ġz ") ĊĊĠĠĠ Ġ/** ĠIn Ġwhich Ġorder Ġto Ġdisplay Ġendpoints . ĠStat uses Ġthat Ġcome Ġfirst Ġwill Ġappear Ġfirst . Ġ*/ ĊĠĠĠ Ġprivate Ġval Ġimplementation Order Ġ= ĠlistOf ( ĊĠĠĠĠĠĠĠ ĠImplementation Status . IMPLEMENTED , ĊĠĠĠĠĠĠĠ ĠImplementation Status . PLAN N ED , ĊĠĠĠĠĠĠĠ ĠImplementation Status . NOT _ PLAN N ED ĊĠĠĠ Ġ) ĊĊĠĠĠ Ġprivate Ġfun Ġcreate ( overview : ĠEndpoint Overview ): ĠString Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġwith Ġ( StringBuilder ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// ĠComment Ġto Ġthose Ġcurious Ġenough Ġto Ġopen Ġthe Ġfile ĊĠĠĠĠĠĠĠĠĠĠĠ Ġblock (" <!--- ĠGenerated Ġ${ date Format . format ( Date ()) }. ĠUse Ġ`./ gradle w Ġ: meta : update ` Ġto Ġupdate . ĠDO ĠNOT Ġ" Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" MO DIFY ĠDIRECT LY Ġ--> ") ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// ĠMain Ġheader ĊĠĠĠĠĠĠĠĠĠĠĠ Ġheading (" Endpoints ") ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// ĠPurpose Ġof Ġthis Ġfile ĊĠĠĠĠĠĠĠĠĠĠĠ Ġblock ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" This Ġfile Ġcontains Ġa Ġlist Ġof Ġall Ġthe Ġendpoints Ġ( reg ard less Ġof Ġif Ġthey Ġhave Ġbeen Ġimplemented ) Ġthat Ġ" Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" can Ġbe Ġfound Ġat Ġthe Ġ[ official Ġre dd it ĠAPI Ġdocs ]( https :// www . sa id it . net / dev / api / oauth ). Ġ" Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" To Ġupdate Ġthis Ġfile , Ġrun Ġ`./ gradle w Ġ: meta : update `" ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// ĠSummary ĊĠĠĠĠĠĠĠĠĠĠĠ Ġblock (" So Ġfar , ĠAPI Ġcompletion Ġis Ġat Ġ** ${ overview . completion Percentage ( decimals Ġ= Ġ 2 )} % **. Ġ" Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ"${ overview . implemented } Ġout Ġof Ġ${ overview . effective Total } Ġendpoints Ġ( ign oring Ġ${ overview . not Pl anned } Ġ" Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" endpoints Ġnot Ġplanned ) Ġhave Ġbeen Ġimplemented Ġ") ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġoauth Scopes Ġ= Ġoverview . scopes () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfor Ġ( scope Ġin Ġoauth Scopes ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġsection Ġ= Ġoverview . by OAuth Scope ( scope ) ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġheading ( if Ġ( scope Ġ== Ġ" any ") Ġ"( any Ġscope )" Ġelse Ġscope , Ġ 2 ) ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġblock ("${ section . completion Percentage ( 2 )} % Ġcompletion Ġ(${ section . implemented } Ġimplemented , Ġ${ section . pl anned } Ġplanned , Ġand Ġ" Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ"${ section . not Pl anned } Ġnot Ġplanned )") ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġtable Ġ= ĠTable . Builder () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. with Align ments ( Table . ALIGN _ CENTER , ĠTable . ALIGN _ LEFT , ĠTable . ALIGN _ LEFT ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. add Row (" Method ", Ġ" Endpoint ", Ġ" Implementation ") ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġsorted Ġ= Ġsection . endpoints . sorted With ( compare By ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// ĠShow Ġsorted Ġendpoints Ġfirst , Ġthen Ġplanned , Ġthen Ġnot Ġplanned ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ{ Ġimplementation Order . indexOf ( it . status ) Ġ}, ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// ĠThen Ġsort Ġascending Ġalphabet ically Ġby Ġpath ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ{ Ġit . path Ġ}, ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// ĠThen Ġsort Ġascending Ġalphabet ically Ġby ĠHTTP Ġmethod ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ{ Ġit . method Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ)) ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfor Ġ( e Ġin Ġsorted ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtable . add Row ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠCode ( e . method ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠLink ( Code ( e . display Path ), Ġe . reddit Doc Link ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġimpl String ( e )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġblock ( table . build ()) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ ĠtoString () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun ĠStringBuilder . heading ( text : ĠString , Ġlevel : ĠInt Ġ= Ġ 1 ) Ġ= Ġblock ( Heading ( text , Ġlevel )) ĊĊĠĠĠ Ġprivate Ġfun ĠStringBuilder . block ( obj : ĠAny ) Ġ{ ĊĠĠĠĠĠĠĠ Ġappend ( obj ) ĊĠĠĠĠĠĠĠ Ġappend ("\ n \ n ") ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġimpl String ( e : ĠEndpoint Meta ): ĠString Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġwhen Ġ( e . status ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠImplementation Status . IMPLEMENTED Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġmethod Ġ= Ġe . implementation !! ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠLink ( Code ("${ method . decl aring Class . simple Name }.${ method . name }() "), Ġe . source Url ). toString () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ ĠImplementation Status . NOT _ PLAN N ED Ġ-> Ġ" Not Ġplanned " ĊĠĠĠĠĠĠĠĠĠĠĠ ĠImplementation Status . PLAN N ED Ġ-> Ġ" None " ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ