{"id":17513567,"url":"https://github.com/simandebvu/rubylint","last_synced_at":"2025-06-20T03:05:30.709Z","repository":{"id":47628335,"uuid":"274699837","full_name":"simandebvu/rubylint","owner":"simandebvu","description":"A basic ruby linter that checks spacing, indentation and line formatting conforming to the best practices as per the Ruby Style Guide.","archived":false,"fork":false,"pushed_at":"2021-08-20T19:42:10.000Z","size":859,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"develop","last_synced_at":"2025-03-28T22:31:22.331Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Ruby","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/simandebvu.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2020-06-24T15:11:04.000Z","updated_at":"2021-08-20T19:42:11.000Z","dependencies_parsed_at":"2022-09-06T12:12:39.515Z","dependency_job_id":null,"html_url":"https://github.com/simandebvu/rubylint","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/simandebvu/rubylint","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/simandebvu%2Frubylint","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/simandebvu%2Frubylint/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/simandebvu%2Frubylint/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/simandebvu%2Frubylint/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/simandebvu","download_url":"https://codeload.github.com/simandebvu/rubylint/tar.gz/refs/heads/develop","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/simandebvu%2Frubylint/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":260868849,"owners_count":23074959,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-10-20T06:46:49.819Z","updated_at":"2025-06-20T03:05:25.699Z","avatar_url":"https://github.com/simandebvu.png","language":"Ruby","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Rubylint\n\n- [Rubylint](#rubylint)\n    - [About RubyLint](#about-rubylint)\n  - [How to use](#how-to-use)\n\n  - [Rules](#rules)\n\n  - [Usage](#usage)\n    - [Built With](#built-with)\n  - [Video Presentation](#video-presentation)\n  - [Potential future features](#potential-future-features)\n  - [Contributors](#contributors)\n  - [:handshake: Contributing](#handshake-contributing)\n  - [Show your support](#show-your-support)\n  - [Acknowledgements](#acknowledgements)\n\n### About RubyLint\n**_Rubylint_** is a linter for Ruby Style Guide specifications, which:\n\n- Makes Ruby Code Readable\n- Checks compliance\n- Delivers early feedback for Ruby Developers\n- Provides best practices and advices\n\n\n## How to use \n\n1. Open the directory where the application is.\n2. In bash/terminal type `ruby bin/main.rb \u003cfull-path-to-ruby-file-to-check\u003e` as below.\n\n\n![Demo](images/RubyLint.gif)\n\n\n## Rules\n\n**Indentation**\n* 2 space indentation rule\n\nbad code:\n```ruby\n# bad - four spaces\ndef some_method\n    do_something\nend\n\n```\n\ngood code:\n```ruby\n# good\ndef some_method\n  do_something\nend\n```\n\n**Maximum line length**\n* Limit lines to 80 characters.\n\n**Termination**\n* 2 space indentation rule\n\nbad code:\n```ruby\n# bad\nputs 'foobar'; # superfluous semicolon\n\n```\n\ngood code:\n```ruby\n# good\nputs 'foobar'\n```\n**Two or More Empty Lines**\n* Don’t use several empty lines in a row.\n  \nbad code:\n```ruby\n# bad - It has two empty lines.\nsome_method\n\n\nsome_method\n\n```\n \ngood code:\n```ruby\n# good\nsome_method\n\nsome_method\n```\n\n## Usage\n\nThe **_Rubylint_** does basic syntax checking, as well as applying a set of rules to the code and throws back an error if bad syntax is found. Inspired by the ruby style guide.\nThe throwback error is being printed out indicating the line and column of the specific syntax issue.\n\n**Examples**\n- Spacing, not enough spacing between line items.\n- Class Usage, more than one class per file.\n- Line Format, unnecessary charater **';'**\n- Line length error, recommended line length is 60.\n\nTo test out **Rubylint** you need to:\n* have **Ruby** installed on your computer\n* [download](https://github.com/simandebvu/rubylint/archive/develop.zip) or clone this repo:\n  - Clone with SSH:\n  ```\n  git@github.com:simandebvu/rubylint.git\n  ```\n  - Clone with HTTPS:\n  ```\n  https://github.com/simandebvu/rubylint.git\n  ```\n* Navigate to root directory of the repo and run:\n```\n$ ruby bin/main path_to_file.rb (path_to_file being the file you want to check for linters)\n```\n![Screenshot](images/code_demo.png)\n\n\n**Automated Test**\n* Run the command and see the output\n```\n$ bundle exec rspec\n```\n![Screenshot](images/rspec.png)\n\n### Built With\nThis project was built using these technologies.\n* Ruby\n* Rspec\n* Rubocop\n* VSCode\n\n## Video Presentation\n\nCheck out full presentation [here]([#](https://www.loom.com/share/9053a51437b84e5ab9ba49fde4735549))\n\n## Potential future features\n\n- Accept more Complex Syntax\n- Make it an installable gem\n\n## Contributors\n\n👤 **Shingirayi Mandebvu**\n\n- LinkedIn: [simandebvu](https://www.linkedin.com/in/simandebvu/)\n- GitHub: [@simandebvu](https://github.com/simandebvu)\n- Twitter: [@simandebvu](https://twitter.com/simandebvu)\n\n\n## :handshake: Contributing\nContributions, issues and feature requests are welcome!\nFeel free to check the [issues page](https://github.com/simandebvu/rubylint/issues)\n\n## Show your support\nGive a :star: if you like this project!\n\n\n\u003c!-- ACKNOWLEDGEMENTS --\u003e\n## Acknowledgements\n* [Microverse](https://www.microverse.org/)\n* [Ruby Documentation](https://www.ruby-lang.org/en/documentation/)","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsimandebvu%2Frubylint","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsimandebvu%2Frubylint","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsimandebvu%2Frubylint/lists"}