{"id":20929265,"url":"https://github.com/ostaptan/self_rateable","last_synced_at":"2026-05-21T04:36:20.928Z","repository":{"id":10913402,"uuid":"13211908","full_name":"ostaptan/self_rateable","owner":"ostaptan","description":"rubygem for displaying and handling ratings, likes, and feedbacks for ActiveRecord model.","archived":false,"fork":false,"pushed_at":"2018-02-15T12:31:22.000Z","size":15,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2026-02-11T23:43:51.421Z","etag":null,"topics":["activerecord-models","handling-ratings","ruby"],"latest_commit_sha":null,"homepage":"","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/ostaptan.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.txt","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2013-09-30T10:05:50.000Z","updated_at":"2018-06-15T07:20:37.000Z","dependencies_parsed_at":"2022-09-02T12:01:49.832Z","dependency_job_id":null,"html_url":"https://github.com/ostaptan/self_rateable","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/ostaptan/self_rateable","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ostaptan%2Fself_rateable","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ostaptan%2Fself_rateable/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ostaptan%2Fself_rateable/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ostaptan%2Fself_rateable/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ostaptan","download_url":"https://codeload.github.com/ostaptan/self_rateable/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ostaptan%2Fself_rateable/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":33288903,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-21T02:57:32.698Z","status":"ssl_error","status_checked_at":"2026-05-21T02:57:31.990Z","response_time":62,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"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":["activerecord-models","handling-ratings","ruby"],"created_at":"2024-11-18T21:18:41.113Z","updated_at":"2026-05-21T04:36:20.903Z","avatar_url":"https://github.com/ostaptan.png","language":"Ruby","funding_links":[],"categories":[],"sub_categories":[],"readme":"# SelfRateable [![Code Climate](https://codeclimate.com/github/ostaptan/self_rateable.png)](https://codeclimate.com/github/ostaptan/self_rateable)\n\nClean, powerful, customizable, simple, configurable, gem for displaying and handling ratings, likes, and feedbacks for ActiveRecord model.\nPeople!!! Please provide your feedbacks what functionality to add on the issues page. I'm open to whatever questions for improving this gem.\n\n## Installation\n\n- Add this line to your application's Gemfile:\n\n  `gem 'self_rateable'`\n\n- Execute:\n\n  `$ bundle`\n\n- Or install it yourself as:\n\n  `$ gem install self_rateable`\n\n## Usage\n\nMake you ActiveRecord model self rateable:\n\nThe default type is :likes\n\n    class Model \u003c ActiveRecord::Base\n      self_rateable by: :class_name_of_AR_model_that_can_rate\n    end\n\nRates philosophy as in facebook \u0026 vk (like/unlike)\n\n    class Model \u003c ActiveRecord::Base\n      self_rateable by: :class_name_of_AR_model_that_can_rate, type: :likes\n    end\n\n   \tRate:\n\n    object.like object_of_AR_model_that_can_rate\n\nStars rates diapasone 1..5 (as on movies)\n\n    class Model \u003c ActiveRecord::Base\n      self_rateable by: :class_name_of_AR_model_that_can_rate, type: :stars\n    end\n\n   \tRate:\n\n    object.rate object_of_AR_model_that_can_rate, count_of_stars\n\nRates philosophy as in stackoverflow (+1 vs -1)\n\n    class Model \u003c ActiveRecord::Base\n      self_rateable by: :class_name_of_AR_model_that_can_rate, type: :points\n    end\n\n    Rate:\n\n    object.vote object_of_AR_model_that_can_rate, bool\n\nThis vote method returns false if object-of-AR-model-that-can-rate has already voted once. You can capture that output to show some messages.\n\n (If true it adds 1 point if false it decreases 1 point)\n\nRun rake task to prepare and update your database:\n\n  `rake self_rateable`\n\n\n## Contributing\n\n1. Fork it\n2. Create your feature branch (`git checkout -b my-new-feature`)\n3. Commit your changes (`git commit -am 'Add some feature'`)\n4. Push to the branch (`git push origin my-new-feature`)\n5. Create new Pull Request.\n\n## What to do?\n\n1. Cover with tests\n2. Create generators for templates to render on UI with images and styling of different types of ratings.\n3. Improve flexibility.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fostaptan%2Fself_rateable","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fostaptan%2Fself_rateable","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fostaptan%2Fself_rateable/lists"}