CodeReaderMe/awesome-code-reading

Sinatra

lucasleecr opened this issue · 0 comments

Link to the codebase

https://github.com/sinatra/sinatra

Which release/version did you read?

2.0.0 (https://github.com/sinatra/sinatra/releases/tag/v2.0.0)

Why it is a good project to read?

  • Classic ruby based web framework. Large user base.

Starting point

lib/sinatra/main.rb (https://github.com/sinatra/sinatra/blob/v2.0.0/lib/sinatra/main.rb)

Reading order

main.rb (for stand-alone application)
base.rb (for sub-classing)

Interesting parts

  • Integration with rack and its plugins
  • Integration with template engines

Any parts should be skipped?

No

Any other tips?

  • Create a demo Sinatra application, set debuggers in the Sinatra library, and step through the code.
  • Learn rack https://github.com/rack/rack, which is more lower-level
  • Sinatra documentation is very good. Make sure you read it.

Links and resources

Contributor

@lucasleecr