Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Sinatra #8

Open
lucasleecr opened this issue Sep 28, 2018 · 0 comments
Open

Sinatra #8

lucasleecr opened this issue Sep 28, 2018 · 0 comments

Comments

@lucasleecr
Copy link
Contributor

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

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant