Here is the challenge:
- Write a useful Ruby function
- Depends only on Ruby core and standard lib
This is a web application to have a community around this idea, We participate and share these functions to learn from each other and use it if we need to.
- It would be nice if you're looking for a function that validate URL/Email for example and you get to a website just to get this function, no external libraries needed, just the function use it.
- Show your creativity using just ruby to deliver something useful, how far can you get with just that?
- We can learn a lot from each other just by sharing useful functions we write.
- You get fast feedback on a small snippet of code.
- Ruby 2.6.3
- Yarn
- Postgres server
- Ruby docs https://devdocs.io/ruby~2.5/
- Rails docs https://devdocs.io/rails~6.0/
- Bulma documentation https://bulma.io/documentation/
- Font awesome icons list https://fontawesome.com/icons
- Undraw illustrations (brand color: #3273dc) https://undraw.co/
- cd to
src
- Create a github application for github login feature from here and set the callback URL to
http://localhost:3000/github/new
- Copy
.env.sample
to.env
and fill in the non-production variables and remove the rest. - Make sure the variables in
.env
file is loaded to your shell, you can use autoenv for that - Run
rails db:setup
- Make sure
rspec
passes - Run the server with
rails s
- Have fun developing your feature
- Create a github application for github login feature from here and set the callback URL to
http://localhost:3000/github/new
- Copy
src/.env.sample
tosrc/.env
and fill in the non-production variables and remove the rest. - Get a shell inside the web service container using docker-compose
docker-compose -f docker-compose-dev.yml run -p 3000:3000 web bash
- Run
rails db:setup
- Make sure
rspec
passes - Run the server with
rails s -b 0.0.0.0
- Have run developing your feature
- Having unncessary dependencies
- Javascript
- Saving user emails or access tokens
- Uploading files
- Fork this repo
- Clone the fork to your machine
- Open an issue with the your idea and how you're gonna solve it
- Agree on a final solution to your idea and start implementing it
- Create a new branch and commit your changes
- Open a pull request linking to the issue
- Write good and readable tests
- Make sure existing specs passes with
rspec
command - Make sure rubocop passes with
rubocop
command - Try to be as minimal as possible