{"id":46015664,"url":"https://github.com/phateio/kiris","last_synced_at":"2026-03-01T01:07:38.446Z","repository":{"id":34137521,"uuid":"37971777","full_name":"phateio/kiris","owner":"phateio","description":"Phate Radio is an experimental internet radio about anime, games and pop music.","archived":false,"fork":false,"pushed_at":"2025-11-27T15:20:05.000Z","size":3210,"stargazers_count":16,"open_issues_count":3,"forks_count":1,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-11-28T04:19:20.512Z","etag":null,"topics":["rails","ruby"],"latest_commit_sha":null,"homepage":"https://phate.io","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/phateio.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2015-06-24T08:19:03.000Z","updated_at":"2025-11-27T15:15:33.000Z","dependencies_parsed_at":"2024-01-18T19:25:47.820Z","dependency_job_id":"61bc5d05-e0ad-4bc2-b150-0ee8930c23f4","html_url":"https://github.com/phateio/kiris","commit_stats":null,"previous_names":[],"tags_count":2,"template":false,"template_full_name":null,"purl":"pkg:github/phateio/kiris","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/phateio%2Fkiris","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/phateio%2Fkiris/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/phateio%2Fkiris/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/phateio%2Fkiris/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/phateio","download_url":"https://codeload.github.com/phateio/kiris/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/phateio%2Fkiris/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29957128,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-28T22:53:01.873Z","status":"ssl_error","status_checked_at":"2026-02-28T22:52:50.699Z","response_time":90,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: 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":["rails","ruby"],"created_at":"2026-03-01T01:07:37.535Z","updated_at":"2026-03-01T01:07:38.419Z","avatar_url":"https://github.com/phateio.png","language":"Ruby","readme":"[![Build Status](https://travis-ci.org/phateio/kiris.svg?branch=master)](https://travis-ci.org/phateio/kiris)\n[![Code Climate](https://codeclimate.com/github/phateio/kiris/badges/gpa.svg)](https://codeclimate.com/github/phateio/kiris)\n[![Test Coverage](https://codeclimate.com/github/phateio/kiris/badges/coverage.svg)](https://codeclimate.com/github/phateio/kiris/coverage)\n\n## Getting Started\n\n1. Install Bundler and Rails at the command prompt if you haven't yet:\n\n        $ gem install bundle --no-document\n        $ gem install rails --no-document\n\n2. Install the gem dependencies using bundler:\n\n        $ bundle install\n\n3. Initialize the database if you haven't yet:\n\n        $ bundle exec rake db:create\n        $ bundle exec rake db:migrate\n        $ bundle exec rake db:seed\n\n4. Start the web server:\n\n        $ rails server\n\n5. Using a browser, go to `http://localhost:3000` and you'll see the home page.\n\n## Test\n        $ bundle exec rake db:test:prepare\n        $ bundle exec rake test\n\n## Translations\nWe use [phateio-i18n@Locale](https://www.localeapp.com/projects/6196) to manage our translation files.\n\nEveryone is welcome to help correct, improve, or complete the translations.\n\n## Rails Upgrade Guidelines\n\nWhen upgrading Rails versions for this project, follow these strict guidelines to ensure a safe and systematic upgrade process.\n\n### 1. Upgrade Path Methodology\n\n**Adopt a step-by-step major version incremental strategy.** Never skip major versions.\n\n**Example:** Upgrading from Rails 4.2.10 to 6.1.7.10\n\nFollow this complete upgrade path:\n\n1. `4.2.10` → `4.2.11` (latest patch in current major version)\n2. `4.2.11` → `5.0.0` (first release of next major version)\n3. `5.0.0` → `5.2.8.1` (latest patch in current major version)\n4. `5.2.8.1` → `6.0.0` (first release of next major version)\n5. `6.0.0` → `6.1.7.10` (target version)\n\n**Important:** Always upgrade to the latest patch version within each major version before moving to the next major version.\n\n### 2. Complete Diff Application Rules\n\n- **Use [railsdiff.org](https://railsdiff.org/)** to compare differences between versions\n- **Apply ALL changes completely**, including:\n  - Configuration file updates\n  - Comment modifications (e.g., `http://` → `https://`)\n  - Framework default changes\n  - Deprecation warnings\n- **When encountering conflicts:**\n  - **STOP the upgrade process**\n  - Document the conflict\n  - Ask for guidance on resolution strategy\n  - Do not skip or partially apply conflicting changes\n\n### 3. Ruby Version Synchronization\n\n- **Check [rubygems.org Rails versions](https://rubygems.org/gems/rails/versions)** to determine the \"Required Ruby Version\" for each Rails version\n- **Select the highest patch version (x.y.z)** within the minimum required minor version (x.y)\n  - Example: If Rails requires Ruby \u003e= 2.5.0, use the latest 2.5.z version (e.g., 2.5.9)\n- **Upgrade Ruby synchronously** with each major Rails version upgrade\n- Update both `.ruby-version` and `Gemfile` to reflect the new Ruby version\n- Verify Ruby version compatibility before proceeding with Rails upgrade\n\n### 4. Gem Dependency Handling Principles\n\n- **Minimize changes:** Only upgrade gems that are strictly necessary for Rails compatibility\n- **For deprecated gems:**\n  - Research and identify trustworthy, actively maintained alternatives\n  - Prefer official recommendations from Rails upgrade guides\n  - Consider community adoption and maintenance status\n- **When uncertain about alternatives:**\n  - **STOP the upgrade process**\n  - Document the deprecated gem and its usage\n  - Request guidance on suitable replacements\n  - Do not proceed with unverified gem substitutions\n\n### 5. Test Completeness Requirements\n\n**After EACH upgrade step:**\n\n1. Run the full test suite:\n   ```bash\n   bundle exec rake db:test:prepare\n   bundle exec rake test\n   ```\n\n2. **All previously passing tests MUST continue to pass**\n   - If any test fails, investigate and fix before proceeding\n   - Do not skip failing tests or mark them as pending\n\n3. **Test coverage MUST be ≥ pre-upgrade level**\n   - Verify coverage metrics before and after upgrade\n   - Add tests if coverage drops\n   - Never proceed if coverage decreases\n\n4. **Manual testing checklist:**\n   - Verify critical user workflows function correctly\n   - Test streaming integration\n   - Confirm admin panel operations\n   - Validate API endpoints\n\n**Remember:** Systematic, incremental upgrades with comprehensive testing at each step ensure a stable application throughout the upgrade process.\n\n## License\nPhate Radio is released under the [MIT License](https://opensource.org/license/MIT).\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fphateio%2Fkiris","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fphateio%2Fkiris","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fphateio%2Fkiris/lists"}