An open API service indexing awesome lists of open source software.

https://github.com/geekshubhamrajput/coder_byte


https://github.com/geekshubhamrajput/coder_byte

Last synced: about 2 months ago
JSON representation

Awesome Lists containing this project

README

        

# Ruby Code Exercise

Write an app that:

- Read/parse people information represented in different formats

Find a sample of each format in `spec/fixtures`

- Combine the entries from the different formats

- Sort the entries by `first_name`

- Format each entry to `, , `

- Write at least 2 specs, but no more than 5 - we don't expect 100% coverage

### Notes

- Create as many files/classes as you need
- Use anything you need from Ruby standard library
- Don't change files under `spec/fixtures`
- Don't change the existing functional test at `spec/functional/app_spec.rb`
- Don't use any gem to accomplish the solution
- Don't worry about invalid input data (if your solution works for the sample data, that's what we need)

## What we expect to see in your solution

- Adherence to Ruby's conventions and idioms
- Cleanliness/Clarity: Is the intent of the code obvious? Are things named appropriately? Please void overly clever solutions.
- Consistent style: We don't expect you to follow a specific Ruby code style, but you should be consistent with your choice.
- Elegant Object-oriented Design - please avoid imperative or functional coding style. Typically the good solutions will have **at least** two classes other than `PeopleController`
- Maintainability: How flexible is the code?
- Testability: Is it easy to test the code? Please demonstrate with unit tests.
- Use DRY, KISS and SOLID responsibly to find the sweet spot between an under-engineering and over-engineering.

# Instructions

1. Clone the repository, open this directory, and run `bundle install`

2. Run `bundle exec rspec`

Notice that there is one functional test failing

3. Create a branch to work on the solution

4. Write code and unit tests until the functional test at `spec/functional/app_spec.rb` becomes green

5. Push your branch and create a pull request on GitHub