{"id":335,"name":null,"description":"URL Validation for Rails","url":"https://github.com/perfectline/validates_url","last_synced_at":"2026-05-24T04:30:24.901Z","repository":{"id":1061267,"uuid":"895991","full_name":"perfectline/validates_url","owner":"perfectline","description":"URL Validation for Rails","archived":false,"fork":false,"pushed_at":"2025-03-18T06:12:39.000Z","size":123,"stargazers_count":600,"open_issues_count":28,"forks_count":111,"subscribers_count":16,"default_branch":"master","last_synced_at":"2026-05-15T00:09:03.075Z","etag":null,"topics":[],"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/perfectline.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE.md","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}},"created_at":"2010-09-08T12:10:17.000Z","updated_at":"2026-04-03T00:09:39.000Z","dependencies_parsed_at":"2024-11-05T18:37:47.777Z","dependency_job_id":"b2dc117d-83c9-4b73-a2fc-ac7d14054d1d","html_url":"https://github.com/perfectline/validates_url","commit_stats":{"total_commits":142,"total_committers":58,"mean_commits":"2.4482758620689653","dds":0.7323943661971831,"last_synced_commit":"efc636f07bcbea656272d8f9bcebe0e658bb8a8f"},"previous_names":[],"tags_count":7,"template":false,"template_full_name":null,"purl":"pkg:github/perfectline/validates_url","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/perfectline%2Fvalidates_url","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/perfectline%2Fvalidates_url/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/perfectline%2Fvalidates_url/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/perfectline%2Fvalidates_url/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/perfectline","download_url":"https://codeload.github.com/perfectline/validates_url/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/perfectline%2Fvalidates_url/sbom","scorecard":{"id":727814,"data":{"date":"2025-08-11","repo":{"name":"github.com/perfectline/validates_url","commit":"b00502e7c9d66cd1b45ffef446ddaaa8724774a6"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":3.2,"checks":[{"name":"Dangerous-Workflow","score":10,"reason":"no dangerous workflow patterns detected","details":null,"documentation":{"short":"Determines if the project's GitHub Action workflows avoid dangerous patterns.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#dangerous-workflow"}},{"name":"Code-Review","score":7,"reason":"Found 15/19 approved changesets -- score normalized to 7","details":null,"documentation":{"short":"Determines if the project requires human code review before pull requests (aka merge requests) are merged.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#code-review"}},{"name":"Maintained","score":0,"reason":"0 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 0","details":null,"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#maintained"}},{"name":"Packaging","score":-1,"reason":"packaging workflow not detected","details":["Warn: no GitHub/GitLab publishing workflow detected."],"documentation":{"short":"Determines if the project is published as a package that others can easily download, install, easily update, and uninstall.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#packaging"}},{"name":"Token-Permissions","score":0,"reason":"detected GitHub workflow tokens with excessive permissions","details":["Warn: no topLevel permission defined: .github/workflows/test.yml:1","Info: no jobLevel write permissions found"],"documentation":{"short":"Determines if the project's workflows follow the principle of least privilege.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#token-permissions"}},{"name":"Pinned-Dependencies","score":0,"reason":"dependency not pinned by hash detected -- score normalized to 0","details":["Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/test.yml:31: update your workflow using https://app.stepsecurity.io/secureworkflow/perfectline/validates_url/test.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/test.yml:32: update your workflow using https://app.stepsecurity.io/secureworkflow/perfectline/validates_url/test.yml/master?enable=pin","Info:   0 out of   2 GitHub-owned GitHubAction dependencies pinned"],"documentation":{"short":"Determines if the project has declared and pinned the dependencies of its build process.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#pinned-dependencies"}},{"name":"Binary-Artifacts","score":10,"reason":"no binaries found in the repo","details":null,"documentation":{"short":"Determines if the project has generated executable (binary) artifacts in the source repository.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#binary-artifacts"}},{"name":"CII-Best-Practices","score":0,"reason":"no effort to earn an OpenSSF best practices badge detected","details":null,"documentation":{"short":"Determines if the project has an OpenSSF (formerly CII) Best Practices Badge.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#cii-best-practices"}},{"name":"Fuzzing","score":0,"reason":"project is not fuzzed","details":["Warn: no fuzzer integrations found"],"documentation":{"short":"Determines if the project uses fuzzing.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#fuzzing"}},{"name":"Security-Policy","score":0,"reason":"security policy file not detected","details":["Warn: no security policy file detected","Warn: no security file to analyze","Warn: no security file to analyze","Warn: no security file to analyze"],"documentation":{"short":"Determines if the project has published a security policy.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#security-policy"}},{"name":"License","score":10,"reason":"license file detected","details":["Info: project has a license file: LICENSE.md:0","Info: FSF or OSI recognized license: MIT License: LICENSE.md:0"],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#license"}},{"name":"Signed-Releases","score":-1,"reason":"no releases found","details":null,"documentation":{"short":"Determines if the project cryptographically signs release artifacts.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#signed-releases"}},{"name":"Branch-Protection","score":0,"reason":"branch protection not enabled on development/release branches","details":["Warn: branch protection not enabled for branch 'master'"],"documentation":{"short":"Determines if the default and release branches are protected with GitHub's branch protection settings.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#branch-protection"}},{"name":"Vulnerabilities","score":0,"reason":"35 existing vulnerabilities detected","details":["Warn: Project is vulnerable to: GHSA-3hhc-qp5v-9p2j","Warn: Project is vulnerable to: GHSA-579w-22j4-4749","Warn: Project is vulnerable to: GHSA-76r7-hhxj-r776","Warn: Project is vulnerable to: GHSA-cr5q-6q9f-rq6q","Warn: Project is vulnerable to: GHSA-j6gc-792m-qgm2","Warn: Project is vulnerable to: GHSA-pj73-v5mw-pm9j","Warn: Project is vulnerable to: GHSA-jxhc-q857-3j6g","Warn: Project is vulnerable to: GHSA-69p6-wvmq-27gg","Warn: Project is vulnerable to: GHSA-pfpr-3463-c6jh","Warn: Project is vulnerable to: GHSA-pphf-gfrm-v32r","Warn: Project is vulnerable to: GHSA-2qc6-mcvw-92cw","Warn: Project is vulnerable to: GHSA-353f-x4gh-cqq8","Warn: Project is vulnerable to: GHSA-5w6v-399v-w3cc","Warn: Project is vulnerable to: GHSA-mrxw-mxhj-p664","Warn: Project is vulnerable to: GHSA-pxvg-2qj5-37jq","Warn: Project is vulnerable to: GHSA-r95h-9x8f-r3f7","Warn: Project is vulnerable to: GHSA-vvfq-8hwr-qm4m","Warn: Project is vulnerable to: GHSA-xc9x-jj77-9p9j","Warn: Project is vulnerable to: GHSA-22f2-v57c-j9cx","Warn: Project is vulnerable to: GHSA-3h57-hmj3-gj3p","Warn: Project is vulnerable to: GHSA-54rr-7fvw-6x8f","Warn: Project is vulnerable to: GHSA-65f5-mfpf-vfhj","Warn: Project is vulnerable to: GHSA-7g2v-jj9q-g3rg","Warn: Project is vulnerable to: GHSA-7wqh-767x-r66v","Warn: Project is vulnerable to: GHSA-8cgq-6mh2-7j6v","Warn: Project is vulnerable to: GHSA-93pm-5p5f-3ghx","Warn: Project is vulnerable to: GHSA-c6qg-cjj8-47qp","Warn: Project is vulnerable to: GHSA-gjh7-p2fx-99vx","Warn: Project is vulnerable to: GHSA-hxqx-xwvh-44m2","Warn: Project is vulnerable to: GHSA-rqv2-275x-2jq5","Warn: Project is vulnerable to: GHSA-vpfw-47h7-xj4g","Warn: Project is vulnerable to: GHSA-wq4h-7r42-5hrr","Warn: Project is vulnerable to: GHSA-xj5v-6v4g-jfw6","Warn: Project is vulnerable to: GHSA-592j-995h-p23j","Warn: Project is vulnerable to: GHSA-5cm2-9h8c-rvfx"],"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#vulnerabilities"}},{"name":"SAST","score":0,"reason":"SAST tool is not run on all commits -- score normalized to 0","details":["Warn: 0 commits out of 26 are checked with a SAST tool"],"documentation":{"short":"Determines if the project uses static code analysis.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#sast"}}]},"last_synced_at":"2025-08-22T13:24:03.294Z","repository_id":1061267,"created_at":"2025-08-22T13:24:03.294Z","updated_at":"2025-08-22T13:24:03.294Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":33074392,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-15T11:35:32.926Z","status":"ssl_error","status_checked_at":"2026-05-15T11:35:31.362Z","response_time":103,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5: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"}},"owner":{"login":"perfectline","name":"PerfectLine","uuid":"75787","kind":"organization","description":"","email":"write@perfectline.co","website":"https://www.perfectline.co","location":"Estonia","twitter":null,"company":null,"icon_url":"https://avatars.githubusercontent.com/u/75787?v=4","repositories_count":46,"last_synced_at":"2024-04-21T04:44:06.280Z","metadata":{"has_sponsors_listing":false},"html_url":"https://github.com/perfectline","funding_links":[],"total_stars":911,"followers":1,"following":0,"created_at":"2022-11-02T16:34:29.449Z","updated_at":"2024-04-21T04:44:14.102Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/perfectline","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/perfectline/repositories"},"packages":[{"id":13780032,"name":"ruby-validate-url","ecosystem":"ubuntu","description":null,"homepage":"http://github.com/perfectline/validates_url/tree/master","licenses":null,"normalized_licenses":[],"repository_url":"https://github.com/perfectline/validates_url","keywords_array":["universe/misc"],"namespace":"universe","versions_count":1,"first_release_published_at":"2026-02-13T13:28:20.929Z","latest_release_published_at":"2026-02-13T13:28:20.929Z","latest_release_number":"1.0.2+git-2","last_synced_at":"2026-03-13T13:37:30.332Z","created_at":"2026-02-13T13:28:20.723Z","updated_at":"2026-03-13T13:37:30.332Z","registry_url":"https://launchpad.net/ubuntu/+source/ruby-validate-url","install_command":"apt-get install ruby-validate-url","documentation_url":null,"metadata":{"component":"universe","architecture":"all","priority":"optional","binary":"ruby-validate-url","standards_version":"4.3.0","maintainer":"Debian Ruby Extras Maintainers \u003cpkg-ruby-extras-maintainers@lists.alioth.debian.org\u003e","build_depends":"debhelper (\u003e= 11~), gem2deb, ruby-activemodel, ruby-activerecord, ruby-addressable, ruby-diff-lcs, ruby-rspec, ruby-sqlite3","build_depends_indep":null,"build_depends_arch":null},"repo_metadata":{},"repo_metadata_updated_at":"2026-02-13T13:28:21.525Z","dependent_packages_count":0,"downloads":null,"downloads_period":null,"dependent_repos_count":0,"rankings":{"downloads":null,"dependent_repos_count":0.0,"dependent_packages_count":0.0,"stargazers_count":null,"forks_count":null,"docker_downloads_count":null,"average":100},"purl":"pkg:deb/ubuntu/ruby-validate-url?arch=source\u0026distro=ubuntu-22.04\u0026repository_url=https://launchpad.net/ubuntu/jammy","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/ubuntu/ruby-validate-url","docker_dependents_count":null,"docker_downloads_count":null,"usage_url":"https://repos.ecosyste.ms/usage/ubuntu/ruby-validate-url","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/ubuntu/ruby-validate-url/dependencies","status":null,"funding_links":[],"critical":null,"issue_metadata":null,"versions_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-22.04/packages/ruby-validate-url/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-22.04/packages/ruby-validate-url/version_numbers","latest_version_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-22.04/packages/ruby-validate-url/latest_version","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-22.04/packages/ruby-validate-url/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-22.04/packages/ruby-validate-url/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-22.04/packages/ruby-validate-url/codemeta","maintainers":[],"registry":{"name":"ubuntu-22.04","url":"https://launchpad.net/ubuntu/jammy","ecosystem":"ubuntu","default":false,"packages_count":34289,"maintainers_count":0,"namespaces_count":4,"keywords_count":0,"github":"ubuntu","metadata":{"codename":"jammy"},"icon_url":"https://github.com/ubuntu.png","created_at":"2026-02-04T11:01:46.486Z","updated_at":"2026-04-27T18:20:36.155Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-22.04/packages","maintainers_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-22.04/maintainers","namespaces_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-22.04/namespaces"}},{"id":13531167,"name":"ruby-validate-url","ecosystem":"debian","description":null,"homepage":"http://github.com/perfectline/validates_url/tree/master","licenses":null,"normalized_licenses":[],"repository_url":"https://github.com/perfectline/validates_url","keywords_array":["misc"],"namespace":"main","versions_count":1,"first_release_published_at":"2026-02-10T23:41:16.536Z","latest_release_published_at":"2026-02-10T23:41:16.536Z","latest_release_number":"1.0.2+git-2","last_synced_at":"2026-03-13T10:28:28.610Z","created_at":"2026-02-10T23:41:16.353Z","updated_at":"2026-03-13T10:28:28.611Z","registry_url":"https://tracker.debian.org/pkg/ruby-validate-url","install_command":"apt-get install ruby-validate-url","documentation_url":"https://packages.debian.org/bullseye/ruby-validate-url","metadata":{"component":"main","architecture":"all","priority":"optional","binary":"ruby-validate-url","standards_version":"4.3.0","maintainer":"Debian Ruby Extras Maintainers \u003cpkg-ruby-extras-maintainers@lists.alioth.debian.org\u003e","build_depends":"debhelper (\u003e= 11~), gem2deb, ruby-activemodel, ruby-activerecord, ruby-addressable, ruby-diff-lcs, ruby-rspec, ruby-sqlite3","build_depends_indep":null,"build_depends_arch":null},"repo_metadata":{},"repo_metadata_updated_at":"2026-02-11T14:27:08.878Z","dependent_packages_count":0,"downloads":null,"downloads_period":null,"dependent_repos_count":0,"rankings":{"downloads":null,"dependent_repos_count":0.0,"dependent_packages_count":0.0,"stargazers_count":null,"forks_count":null,"docker_downloads_count":null,"average":100},"purl":"pkg:deb/debian/ruby-validate-url?arch=source\u0026distro=debian-11\u0026repository_url=https://packages.debian.org/bullseye","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/debian/ruby-validate-url","docker_dependents_count":null,"docker_downloads_count":null,"usage_url":"https://repos.ecosyste.ms/usage/debian/ruby-validate-url","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/debian/ruby-validate-url/dependencies","status":null,"funding_links":[],"critical":null,"issue_metadata":null,"versions_url":"https://packages.ecosyste.ms/api/v1/registries/debian-11/packages/ruby-validate-url/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/debian-11/packages/ruby-validate-url/version_numbers","latest_version_url":"https://packages.ecosyste.ms/api/v1/registries/debian-11/packages/ruby-validate-url/latest_version","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/debian-11/packages/ruby-validate-url/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/debian-11/packages/ruby-validate-url/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/debian-11/packages/ruby-validate-url/codemeta","maintainers":[],"registry":{"name":"debian-11","url":"https://packages.debian.org/bullseye","ecosystem":"debian","default":false,"packages_count":31268,"maintainers_count":0,"namespaces_count":3,"keywords_count":0,"github":"debian","metadata":{"codename":"bullseye"},"icon_url":"https://github.com/debian.png","created_at":"2026-02-04T11:01:49.702Z","updated_at":"2026-04-27T18:20:39.352Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/debian-11/packages","maintainers_url":"https://packages.ecosyste.ms/api/v1/registries/debian-11/maintainers","namespaces_url":"https://packages.ecosyste.ms/api/v1/registries/debian-11/namespaces"}},{"id":13805534,"name":"ruby-validate-url","ecosystem":"ubuntu","description":null,"homepage":"http://github.com/perfectline/validates_url/tree/master","licenses":null,"normalized_licenses":[],"repository_url":"https://github.com/perfectline/validates_url","keywords_array":["universe/misc"],"namespace":"universe","versions_count":1,"first_release_published_at":"2026-02-13T18:35:27.763Z","latest_release_published_at":"2026-02-13T18:35:27.763Z","latest_release_number":"1.0.2+git-2","last_synced_at":"2026-03-13T19:24:57.134Z","created_at":"2026-02-13T18:35:27.594Z","updated_at":"2026-03-13T19:24:57.134Z","registry_url":"https://launchpad.net/ubuntu/+source/ruby-validate-url","install_command":"apt-get install ruby-validate-url","documentation_url":null,"metadata":{"component":"universe","architecture":"all","priority":"optional","binary":"ruby-validate-url","standards_version":"4.3.0","maintainer":"Debian Ruby Extras Maintainers \u003cpkg-ruby-extras-maintainers@lists.alioth.debian.org\u003e","build_depends":"debhelper (\u003e= 11~), gem2deb, ruby-activemodel, ruby-activerecord, ruby-addressable, ruby-diff-lcs, ruby-rspec, ruby-sqlite3","build_depends_indep":null,"build_depends_arch":null},"repo_metadata":{},"repo_metadata_updated_at":"2026-02-13T18:35:34.602Z","dependent_packages_count":0,"downloads":null,"downloads_period":null,"dependent_repos_count":0,"rankings":{"downloads":null,"dependent_repos_count":0.0,"dependent_packages_count":0.0,"stargazers_count":null,"forks_count":null,"docker_downloads_count":null,"average":100},"purl":"pkg:deb/ubuntu/ruby-validate-url?arch=source\u0026distro=ubuntu-23.10\u0026repository_url=https://launchpad.net/ubuntu/mantic","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/ubuntu/ruby-validate-url","docker_dependents_count":null,"docker_downloads_count":null,"usage_url":"https://repos.ecosyste.ms/usage/ubuntu/ruby-validate-url","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/ubuntu/ruby-validate-url/dependencies","status":null,"funding_links":[],"critical":null,"issue_metadata":null,"versions_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-23.10/packages/ruby-validate-url/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-23.10/packages/ruby-validate-url/version_numbers","latest_version_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-23.10/packages/ruby-validate-url/latest_version","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-23.10/packages/ruby-validate-url/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-23.10/packages/ruby-validate-url/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-23.10/packages/ruby-validate-url/codemeta","maintainers":[],"registry":{"name":"ubuntu-23.10","url":"https://launchpad.net/ubuntu/mantic","ecosystem":"ubuntu","default":false,"packages_count":36642,"maintainers_count":0,"namespaces_count":4,"keywords_count":0,"github":"ubuntu","metadata":{"codename":"mantic","mirror":"http://old-releases.ubuntu.com/ubuntu"},"icon_url":"https://github.com/ubuntu.png","created_at":"2026-02-04T11:01:48.636Z","updated_at":"2026-04-27T18:20:38.051Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-23.10/packages","maintainers_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-23.10/maintainers","namespaces_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-23.10/namespaces"}},{"id":13751890,"name":"ruby-validate-url","ecosystem":"ubuntu","description":null,"homepage":"http://github.com/perfectline/validates_url/tree/master","licenses":null,"normalized_licenses":[],"repository_url":"https://github.com/perfectline/validates_url","keywords_array":["universe/misc"],"namespace":"universe","versions_count":1,"first_release_published_at":"2026-02-13T07:24:56.980Z","latest_release_published_at":"2026-02-13T07:24:56.980Z","latest_release_number":"1.0.2+git-2","last_synced_at":"2026-03-13T20:24:46.165Z","created_at":"2026-02-13T07:24:56.799Z","updated_at":"2026-03-13T20:24:46.165Z","registry_url":"https://launchpad.net/ubuntu/+source/ruby-validate-url","install_command":"apt-get install ruby-validate-url","documentation_url":null,"metadata":{"component":"universe","architecture":"all","priority":"optional","binary":"ruby-validate-url","standards_version":"4.3.0","maintainer":"Debian Ruby Extras Maintainers \u003cpkg-ruby-extras-maintainers@lists.alioth.debian.org\u003e","build_depends":"debhelper (\u003e= 11~), gem2deb, ruby-activemodel, ruby-activerecord, ruby-addressable, ruby-diff-lcs, ruby-rspec, ruby-sqlite3","build_depends_indep":null,"build_depends_arch":null},"repo_metadata":{},"repo_metadata_updated_at":"2026-02-13T07:24:57.644Z","dependent_packages_count":0,"downloads":null,"downloads_period":null,"dependent_repos_count":0,"rankings":{"downloads":null,"dependent_repos_count":0.0,"dependent_packages_count":0.0,"stargazers_count":null,"forks_count":null,"docker_downloads_count":null,"average":100},"purl":"pkg:deb/ubuntu/ruby-validate-url?arch=source\u0026distro=ubuntu-20.04\u0026repository_url=https://launchpad.net/ubuntu/focal","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/ubuntu/ruby-validate-url","docker_dependents_count":null,"docker_downloads_count":null,"usage_url":"https://repos.ecosyste.ms/usage/ubuntu/ruby-validate-url","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/ubuntu/ruby-validate-url/dependencies","status":null,"funding_links":[],"critical":null,"issue_metadata":null,"versions_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-20.04/packages/ruby-validate-url/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-20.04/packages/ruby-validate-url/version_numbers","latest_version_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-20.04/packages/ruby-validate-url/latest_version","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-20.04/packages/ruby-validate-url/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-20.04/packages/ruby-validate-url/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-20.04/packages/ruby-validate-url/codemeta","maintainers":[],"registry":{"name":"ubuntu-20.04","url":"https://launchpad.net/ubuntu/focal","ecosystem":"ubuntu","default":false,"packages_count":30789,"maintainers_count":0,"namespaces_count":4,"keywords_count":0,"github":"ubuntu","metadata":{"codename":"focal"},"icon_url":"https://github.com/ubuntu.png","created_at":"2026-02-04T11:01:47.233Z","updated_at":"2026-04-27T18:20:36.874Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-20.04/packages","maintainers_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-20.04/maintainers","namespaces_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-20.04/namespaces"}},{"id":12350506,"name":"validate_url","ecosystem":"rubygems","description":"Library for validating urls in Rails.","homepage":"http://github.com/perfectline/validates_url/tree/master","licenses":"mit","normalized_licenses":["MIT"],"repository_url":"https://github.com/perfectline/validates_url","keywords_array":[],"namespace":null,"versions_count":22,"first_release_published_at":"2010-09-08T12:44:00.337Z","latest_release_published_at":"2022-05-13T06:01:33.662Z","latest_release_number":"1.0.15","last_synced_at":"2026-05-22T03:01:44.728Z","created_at":"2025-10-07T06:46:50.397Z","updated_at":"2026-05-22T03:06:26.866Z","registry_url":"https://gem.coop/gems/validate_url","install_command":"gem install validate_url -s https://gem.coop","documentation_url":"http://www.rubydoc.info/gems/validate_url/","metadata":{"funding":null},"repo_metadata":{"id":1061267,"uuid":"895991","full_name":"perfectline/validates_url","owner":"perfectline","description":"URL Validation for Rails","archived":false,"fork":false,"pushed_at":"2025-03-18T06:12:39.000Z","size":123,"stargazers_count":600,"open_issues_count":28,"forks_count":111,"subscribers_count":16,"default_branch":"master","last_synced_at":"2026-05-15T00:09:03.075Z","etag":null,"topics":[],"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/perfectline.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE.md","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}},"created_at":"2010-09-08T12:10:17.000Z","updated_at":"2026-04-03T00:09:39.000Z","dependencies_parsed_at":"2024-11-05T18:37:47.777Z","dependency_job_id":"b2dc117d-83c9-4b73-a2fc-ac7d14054d1d","html_url":"https://github.com/perfectline/validates_url","commit_stats":{"total_commits":142,"total_committers":58,"mean_commits":"2.4482758620689653","dds":0.7323943661971831,"last_synced_commit":"efc636f07bcbea656272d8f9bcebe0e658bb8a8f"},"previous_names":[],"tags_count":7,"template":false,"template_full_name":null,"purl":"pkg:github/perfectline/validates_url","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/perfectline%2Fvalidates_url","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/perfectline%2Fvalidates_url/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/perfectline%2Fvalidates_url/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/perfectline%2Fvalidates_url/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/perfectline","download_url":"https://codeload.github.com/perfectline/validates_url/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/perfectline%2Fvalidates_url/sbom","scorecard":{"id":727814,"data":{"date":"2025-08-11","repo":{"name":"github.com/perfectline/validates_url","commit":"b00502e7c9d66cd1b45ffef446ddaaa8724774a6"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":3.2,"checks":[{"name":"Dangerous-Workflow","score":10,"reason":"no dangerous workflow patterns detected","details":null,"documentation":{"short":"Determines if the project's GitHub Action workflows avoid dangerous patterns.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#dangerous-workflow"}},{"name":"Code-Review","score":7,"reason":"Found 15/19 approved changesets -- score normalized to 7","details":null,"documentation":{"short":"Determines if the project requires human code review before pull requests (aka merge requests) are merged.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#code-review"}},{"name":"Maintained","score":0,"reason":"0 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 0","details":null,"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#maintained"}},{"name":"Packaging","score":-1,"reason":"packaging workflow not detected","details":["Warn: no GitHub/GitLab publishing workflow detected."],"documentation":{"short":"Determines if the project is published as a package that others can easily download, install, easily update, and uninstall.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#packaging"}},{"name":"Token-Permissions","score":0,"reason":"detected GitHub workflow tokens with excessive permissions","details":["Warn: no topLevel permission defined: .github/workflows/test.yml:1","Info: no jobLevel write permissions found"],"documentation":{"short":"Determines if the project's workflows follow the principle of least privilege.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#token-permissions"}},{"name":"Pinned-Dependencies","score":0,"reason":"dependency not pinned by hash detected -- score normalized to 0","details":["Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/test.yml:31: update your workflow using https://app.stepsecurity.io/secureworkflow/perfectline/validates_url/test.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/test.yml:32: update your workflow using https://app.stepsecurity.io/secureworkflow/perfectline/validates_url/test.yml/master?enable=pin","Info:   0 out of   2 GitHub-owned GitHubAction dependencies pinned"],"documentation":{"short":"Determines if the project has declared and pinned the dependencies of its build process.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#pinned-dependencies"}},{"name":"Binary-Artifacts","score":10,"reason":"no binaries found in the repo","details":null,"documentation":{"short":"Determines if the project has generated executable (binary) artifacts in the source repository.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#binary-artifacts"}},{"name":"CII-Best-Practices","score":0,"reason":"no effort to earn an OpenSSF best practices badge detected","details":null,"documentation":{"short":"Determines if the project has an OpenSSF (formerly CII) Best Practices Badge.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#cii-best-practices"}},{"name":"Fuzzing","score":0,"reason":"project is not fuzzed","details":["Warn: no fuzzer integrations found"],"documentation":{"short":"Determines if the project uses fuzzing.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#fuzzing"}},{"name":"Security-Policy","score":0,"reason":"security policy file not detected","details":["Warn: no security policy file detected","Warn: no security file to analyze","Warn: no security file to analyze","Warn: no security file to analyze"],"documentation":{"short":"Determines if the project has published a security policy.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#security-policy"}},{"name":"License","score":10,"reason":"license file detected","details":["Info: project has a license file: LICENSE.md:0","Info: FSF or OSI recognized license: MIT License: LICENSE.md:0"],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#license"}},{"name":"Signed-Releases","score":-1,"reason":"no releases found","details":null,"documentation":{"short":"Determines if the project cryptographically signs release artifacts.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#signed-releases"}},{"name":"Branch-Protection","score":0,"reason":"branch protection not enabled on development/release branches","details":["Warn: branch protection not enabled for branch 'master'"],"documentation":{"short":"Determines if the default and release branches are protected with GitHub's branch protection settings.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#branch-protection"}},{"name":"Vulnerabilities","score":0,"reason":"35 existing vulnerabilities detected","details":["Warn: Project is vulnerable to: GHSA-3hhc-qp5v-9p2j","Warn: Project is vulnerable to: GHSA-579w-22j4-4749","Warn: Project is vulnerable to: GHSA-76r7-hhxj-r776","Warn: Project is vulnerable to: GHSA-cr5q-6q9f-rq6q","Warn: Project is vulnerable to: GHSA-j6gc-792m-qgm2","Warn: Project is vulnerable to: GHSA-pj73-v5mw-pm9j","Warn: Project is vulnerable to: GHSA-jxhc-q857-3j6g","Warn: Project is vulnerable to: GHSA-69p6-wvmq-27gg","Warn: Project is vulnerable to: GHSA-pfpr-3463-c6jh","Warn: Project is vulnerable to: GHSA-pphf-gfrm-v32r","Warn: Project is vulnerable to: GHSA-2qc6-mcvw-92cw","Warn: Project is vulnerable to: GHSA-353f-x4gh-cqq8","Warn: Project is vulnerable to: GHSA-5w6v-399v-w3cc","Warn: Project is vulnerable to: GHSA-mrxw-mxhj-p664","Warn: Project is vulnerable to: GHSA-pxvg-2qj5-37jq","Warn: Project is vulnerable to: GHSA-r95h-9x8f-r3f7","Warn: Project is vulnerable to: GHSA-vvfq-8hwr-qm4m","Warn: Project is vulnerable to: GHSA-xc9x-jj77-9p9j","Warn: Project is vulnerable to: GHSA-22f2-v57c-j9cx","Warn: Project is vulnerable to: GHSA-3h57-hmj3-gj3p","Warn: Project is vulnerable to: GHSA-54rr-7fvw-6x8f","Warn: Project is vulnerable to: GHSA-65f5-mfpf-vfhj","Warn: Project is vulnerable to: GHSA-7g2v-jj9q-g3rg","Warn: Project is vulnerable to: GHSA-7wqh-767x-r66v","Warn: Project is vulnerable to: GHSA-8cgq-6mh2-7j6v","Warn: Project is vulnerable to: GHSA-93pm-5p5f-3ghx","Warn: Project is vulnerable to: GHSA-c6qg-cjj8-47qp","Warn: Project is vulnerable to: GHSA-gjh7-p2fx-99vx","Warn: Project is vulnerable to: GHSA-hxqx-xwvh-44m2","Warn: Project is vulnerable to: GHSA-rqv2-275x-2jq5","Warn: Project is vulnerable to: GHSA-vpfw-47h7-xj4g","Warn: Project is vulnerable to: GHSA-wq4h-7r42-5hrr","Warn: Project is vulnerable to: GHSA-xj5v-6v4g-jfw6","Warn: Project is vulnerable to: GHSA-592j-995h-p23j","Warn: Project is vulnerable to: GHSA-5cm2-9h8c-rvfx"],"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#vulnerabilities"}},{"name":"SAST","score":0,"reason":"SAST tool is not run on all commits -- score normalized to 0","details":["Warn: 0 commits out of 26 are checked with a SAST tool"],"documentation":{"short":"Determines if the project uses static code analysis.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#sast"}}]},"last_synced_at":"2025-08-22T13:24:03.294Z","repository_id":1061267,"created_at":"2025-08-22T13:24:03.294Z","updated_at":"2025-08-22T13:24:03.294Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":33074392,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-15T11:35:32.926Z","status":"ssl_error","status_checked_at":"2026-05-15T11:35:31.362Z","response_time":103,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5: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"},"owner_record":{"login":"perfectline","name":"PerfectLine","uuid":"75787","kind":"organization","description":"","email":"write@perfectline.co","website":"https://www.perfectline.co","location":"Estonia","twitter":null,"company":null,"icon_url":"https://avatars.githubusercontent.com/u/75787?v=4","repositories_count":46,"last_synced_at":"2024-04-21T04:44:06.280Z","metadata":{"has_sponsors_listing":false},"html_url":"https://github.com/perfectline","funding_links":[],"total_stars":911,"followers":1,"following":0,"created_at":"2022-11-02T16:34:29.449Z","updated_at":"2024-04-21T04:44:14.102Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/perfectline","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/perfectline/repositories"},"tags":[{"name":"v1.0.5","sha":"825af081ed15d40dda746f86991c4f1885054406","kind":"commit","published_at":"2019-03-12T19:57:27.000Z","download_url":"https://codeload.github.com/perfectline/validates_url/tar.gz/v1.0.5","html_url":"https://github.com/perfectline/validates_url/releases/tag/v1.0.5","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/perfectline/validates_url@v1.0.5","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/perfectline%2Fvalidates_url/tags/v1.0.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/perfectline%2Fvalidates_url/tags/v1.0.5/manifests"},{"name":"v1.0.4","sha":"01c0b319081004f97a34728c22c6564dbb812d00","kind":"commit","published_at":"2019-03-12T19:52:44.000Z","download_url":"https://codeload.github.com/perfectline/validates_url/tar.gz/v1.0.4","html_url":"https://github.com/perfectline/validates_url/releases/tag/v1.0.4","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/perfectline/validates_url@v1.0.4","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/perfectline%2Fvalidates_url/tags/v1.0.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/perfectline%2Fvalidates_url/tags/v1.0.4/manifests"},{"name":"v1.0.2","sha":"c26f7a1b5bf00bbcdadc825e69a9c401a94413ec","kind":"commit","published_at":"2015-07-21T08:46:31.000Z","download_url":"https://codeload.github.com/perfectline/validates_url/tar.gz/v1.0.2","html_url":"https://github.com/perfectline/validates_url/releases/tag/v1.0.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/perfectline/validates_url@v1.0.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/perfectline%2Fvalidates_url/tags/v1.0.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/perfectline%2Fvalidates_url/tags/v1.0.2/manifests"},{"name":"v1.0.1","sha":"53250d3af0ea868fc033fe69bf9d513ff712961b","kind":"commit","published_at":"2015-07-21T08:38:04.000Z","download_url":"https://codeload.github.com/perfectline/validates_url/tar.gz/v1.0.1","html_url":"https://github.com/perfectline/validates_url/releases/tag/v1.0.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/perfectline/validates_url@v1.0.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/perfectline%2Fvalidates_url/tags/v1.0.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/perfectline%2Fvalidates_url/tags/v1.0.1/manifests"},{"name":"v1.0.0","sha":"2567b011888f07c569b3ed03d445ac09ed2e1f83","kind":"commit","published_at":"2014-11-13T11:15:34.000Z","download_url":"https://codeload.github.com/perfectline/validates_url/tar.gz/v1.0.0","html_url":"https://github.com/perfectline/validates_url/releases/tag/v1.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/perfectline/validates_url@v1.0.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/perfectline%2Fvalidates_url/tags/v1.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/perfectline%2Fvalidates_url/tags/v1.0.0/manifests"},{"name":"v0.2.1","sha":"397ce929369e5fd6ba3d9ec6a87ee69fa266a98d","kind":"commit","published_at":"2014-06-07T13:06:05.000Z","download_url":"https://codeload.github.com/perfectline/validates_url/tar.gz/v0.2.1","html_url":"https://github.com/perfectline/validates_url/releases/tag/v0.2.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/perfectline/validates_url@v0.2.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/perfectline%2Fvalidates_url/tags/v0.2.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/perfectline%2Fvalidates_url/tags/v0.2.1/manifests"},{"name":"v0.2.0","sha":"d5477010e4dbc4b47949c739e22b021f713cffab","kind":"commit","published_at":"2014-06-07T13:00:43.000Z","download_url":"https://codeload.github.com/perfectline/validates_url/tar.gz/v0.2.0","html_url":"https://github.com/perfectline/validates_url/releases/tag/v0.2.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/perfectline/validates_url@v0.2.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/perfectline%2Fvalidates_url/tags/v0.2.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/perfectline%2Fvalidates_url/tags/v0.2.0/manifests"}]},"repo_metadata_updated_at":"2026-05-22T03:06:26.866Z","dependent_packages_count":0,"downloads":83300876,"downloads_period":"total","dependent_repos_count":0,"rankings":{"downloads":0.3741207891137338,"dependent_repos_count":0.0,"dependent_packages_count":0.0,"stargazers_count":null,"forks_count":null,"docker_downloads_count":0.19030421642779524,"average":0.14110625138538227},"purl":"pkg:gem/validate_url?repository_url=https://gem.coop","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/rubygems/validate_url","docker_dependents_count":253,"docker_downloads_count":514283262,"usage_url":"https://repos.ecosyste.ms/usage/rubygems/validate_url","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/rubygems/validate_url/dependencies","status":null,"funding_links":[],"critical":null,"issue_metadata":{"last_synced_at":"2026-04-24T14:02:19.061Z","issues_count":41,"pull_requests_count":74,"avg_time_to_close_issue":15367981.681818182,"avg_time_to_close_pull_request":6550583.107692308,"issues_closed_count":22,"pull_requests_closed_count":65,"pull_request_authors_count":36,"issue_authors_count":38,"avg_comments_per_issue":2.707317073170732,"avg_comments_per_pull_request":0.7027027027027027,"merged_pull_requests_count":52,"bot_issues_count":0,"bot_pull_requests_count":25,"past_year_issues_count":3,"past_year_pull_requests_count":0,"past_year_avg_time_to_close_issue":null,"past_year_avg_time_to_close_pull_request":null,"past_year_issues_closed_count":0,"past_year_pull_requests_closed_count":0,"past_year_pull_request_authors_count":0,"past_year_issue_authors_count":2,"past_year_avg_comments_per_issue":0.0,"past_year_avg_comments_per_pull_request":null,"past_year_bot_issues_count":0,"past_year_bot_pull_requests_count":0,"past_year_merged_pull_requests_count":0,"issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/perfectline%2Fvalidates_url/issues","maintainers":[],"active_maintainers":[]},"versions_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/packages/validate_url/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/packages/validate_url/version_numbers","latest_version_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/packages/validate_url/latest_version","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/packages/validate_url/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/packages/validate_url/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/packages/validate_url/codemeta","maintainers":[{"uuid":"43254","login":"PerfectLine","name":null,"email":null,"url":null,"packages_count":6,"html_url":"https://gem.coop/profiles/PerfectLine","role":null,"created_at":"2025-10-10T00:48:37.548Z","updated_at":"2025-10-10T00:48:37.548Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/maintainers/PerfectLine/packages"},{"uuid":"2897","login":"TanelSuurhans","name":null,"email":null,"url":null,"packages_count":7,"html_url":"https://gem.coop/profiles/TanelSuurhans","role":null,"created_at":"2025-10-10T00:48:37.513Z","updated_at":"2025-10-10T00:48:37.513Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/maintainers/TanelSuurhans/packages"},{"uuid":"74602","login":"vladimirPerfect","name":null,"email":null,"url":null,"packages_count":2,"html_url":"https://gem.coop/profiles/vladimirPerfect","role":null,"created_at":"2025-10-10T00:48:37.589Z","updated_at":"2025-10-10T00:48:37.589Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/maintainers/vladimirPerfect/packages"}],"registry":{"name":"gem.coop","url":"https://gem.coop","ecosystem":"rubygems","default":false,"packages_count":192121,"maintainers_count":67783,"namespaces_count":0,"keywords_count":0,"github":"gem-coop","metadata":{"funded_packages_count":6507},"icon_url":"https://github.com/gem-coop.png","created_at":"2025-10-06T17:24:20.932Z","updated_at":"2026-04-03T06:45:05.763Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/packages","maintainers_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/maintainers","namespaces_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/namespaces"}},{"id":13606226,"name":"ruby-validate-url","ecosystem":"debian","description":null,"homepage":"http://github.com/perfectline/validates_url/tree/master","licenses":null,"normalized_licenses":[],"repository_url":"https://github.com/perfectline/validates_url","keywords_array":["misc"],"namespace":"main","versions_count":1,"first_release_published_at":"2026-02-11T11:29:13.076Z","latest_release_published_at":"2026-02-11T11:29:13.076Z","latest_release_number":"1.0.2+git-2","last_synced_at":"2026-03-14T03:02:27.514Z","created_at":"2026-02-11T11:29:12.904Z","updated_at":"2026-03-14T03:02:27.514Z","registry_url":"https://tracker.debian.org/pkg/ruby-validate-url","install_command":"apt-get install ruby-validate-url","documentation_url":"https://packages.debian.org/buster/ruby-validate-url","metadata":{"component":"main","architecture":"all","priority":"optional","binary":"ruby-validate-url","standards_version":"4.3.0","maintainer":"Debian Ruby Extras Maintainers \u003cpkg-ruby-extras-maintainers@lists.alioth.debian.org\u003e","build_depends":"debhelper (\u003e= 11~), gem2deb, ruby-activemodel, ruby-activerecord, ruby-addressable, ruby-diff-lcs, ruby-rspec, ruby-sqlite3","build_depends_indep":null,"build_depends_arch":null},"repo_metadata":{},"repo_metadata_updated_at":"2026-02-11T15:15:30.223Z","dependent_packages_count":0,"downloads":null,"downloads_period":null,"dependent_repos_count":0,"rankings":{"downloads":null,"dependent_repos_count":0.0,"dependent_packages_count":0.0,"stargazers_count":null,"forks_count":null,"docker_downloads_count":null,"average":100},"purl":"pkg:deb/debian/ruby-validate-url?arch=source\u0026distro=debian-10\u0026repository_url=https://packages.debian.org/buster","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/debian/ruby-validate-url","docker_dependents_count":null,"docker_downloads_count":null,"usage_url":"https://repos.ecosyste.ms/usage/debian/ruby-validate-url","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/debian/ruby-validate-url/dependencies","status":null,"funding_links":[],"critical":null,"issue_metadata":null,"versions_url":"https://packages.ecosyste.ms/api/v1/registries/debian-10/packages/ruby-validate-url/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/debian-10/packages/ruby-validate-url/version_numbers","latest_version_url":"https://packages.ecosyste.ms/api/v1/registries/debian-10/packages/ruby-validate-url/latest_version","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/debian-10/packages/ruby-validate-url/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/debian-10/packages/ruby-validate-url/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/debian-10/packages/ruby-validate-url/codemeta","maintainers":[],"registry":{"name":"debian-10","url":"https://packages.debian.org/buster","ecosystem":"debian","default":false,"packages_count":28836,"maintainers_count":0,"namespaces_count":3,"keywords_count":915,"github":"debian","metadata":{"codename":"buster","mirror":"http://archive.debian.org/debian"},"icon_url":"https://github.com/debian.png","created_at":"2026-02-04T11:01:50.156Z","updated_at":"2026-05-22T18:14:24.960Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/debian-10/packages","maintainers_url":"https://packages.ecosyste.ms/api/v1/registries/debian-10/maintainers","namespaces_url":"https://packages.ecosyste.ms/api/v1/registries/debian-10/namespaces"}},{"id":324340,"name":"validate_url","ecosystem":"rubygems","description":"Library for validating urls in Rails.","homepage":"http://github.com/perfectline/validates_url/tree/master","licenses":"mit","normalized_licenses":["MIT"],"repository_url":"https://github.com/perfectline/validates_url","keywords_array":[],"namespace":null,"versions_count":22,"first_release_published_at":"2010-09-08T12:44:00.337Z","latest_release_published_at":"2022-05-13T06:01:33.662Z","latest_release_number":"1.0.15","last_synced_at":"2026-05-22T16:01:58.186Z","created_at":"2022-04-06T12:10:25.753Z","updated_at":"2026-05-22T16:06:01.297Z","registry_url":"https://rubygems.org/gems/validate_url","install_command":"gem install validate_url -s https://rubygems.org","documentation_url":"http://www.rubydoc.info/gems/validate_url/","metadata":{"funding":null},"repo_metadata":{"id":1061267,"uuid":"895991","full_name":"perfectline/validates_url","owner":"perfectline","description":"URL Validation for Rails","archived":false,"fork":false,"pushed_at":"2025-03-18T06:12:39.000Z","size":123,"stargazers_count":600,"open_issues_count":28,"forks_count":111,"subscribers_count":16,"default_branch":"master","last_synced_at":"2026-05-15T00:09:03.075Z","etag":null,"topics":[],"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/perfectline.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE.md","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}},"created_at":"2010-09-08T12:10:17.000Z","updated_at":"2026-04-03T00:09:39.000Z","dependencies_parsed_at":"2024-11-05T18:37:47.777Z","dependency_job_id":"b2dc117d-83c9-4b73-a2fc-ac7d14054d1d","html_url":"https://github.com/perfectline/validates_url","commit_stats":{"total_commits":142,"total_committers":58,"mean_commits":"2.4482758620689653","dds":0.7323943661971831,"last_synced_commit":"efc636f07bcbea656272d8f9bcebe0e658bb8a8f"},"previous_names":[],"tags_count":7,"template":false,"template_full_name":null,"purl":"pkg:github/perfectline/validates_url","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/perfectline%2Fvalidates_url","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/perfectline%2Fvalidates_url/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/perfectline%2Fvalidates_url/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/perfectline%2Fvalidates_url/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/perfectline","download_url":"https://codeload.github.com/perfectline/validates_url/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/perfectline%2Fvalidates_url/sbom","scorecard":{"id":727814,"data":{"date":"2025-08-11","repo":{"name":"github.com/perfectline/validates_url","commit":"b00502e7c9d66cd1b45ffef446ddaaa8724774a6"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":3.2,"checks":[{"name":"Dangerous-Workflow","score":10,"reason":"no dangerous workflow patterns detected","details":null,"documentation":{"short":"Determines if the project's GitHub Action workflows avoid dangerous patterns.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#dangerous-workflow"}},{"name":"Code-Review","score":7,"reason":"Found 15/19 approved changesets -- score normalized to 7","details":null,"documentation":{"short":"Determines if the project requires human code review before pull requests (aka merge requests) are merged.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#code-review"}},{"name":"Maintained","score":0,"reason":"0 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 0","details":null,"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#maintained"}},{"name":"Packaging","score":-1,"reason":"packaging workflow not detected","details":["Warn: no GitHub/GitLab publishing workflow detected."],"documentation":{"short":"Determines if the project is published as a package that others can easily download, install, easily update, and uninstall.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#packaging"}},{"name":"Token-Permissions","score":0,"reason":"detected GitHub workflow tokens with excessive permissions","details":["Warn: no topLevel permission defined: .github/workflows/test.yml:1","Info: no jobLevel write permissions found"],"documentation":{"short":"Determines if the project's workflows follow the principle of least privilege.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#token-permissions"}},{"name":"Pinned-Dependencies","score":0,"reason":"dependency not pinned by hash detected -- score normalized to 0","details":["Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/test.yml:31: update your workflow using https://app.stepsecurity.io/secureworkflow/perfectline/validates_url/test.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/test.yml:32: update your workflow using https://app.stepsecurity.io/secureworkflow/perfectline/validates_url/test.yml/master?enable=pin","Info:   0 out of   2 GitHub-owned GitHubAction dependencies pinned"],"documentation":{"short":"Determines if the project has declared and pinned the dependencies of its build process.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#pinned-dependencies"}},{"name":"Binary-Artifacts","score":10,"reason":"no binaries found in the repo","details":null,"documentation":{"short":"Determines if the project has generated executable (binary) artifacts in the source repository.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#binary-artifacts"}},{"name":"CII-Best-Practices","score":0,"reason":"no effort to earn an OpenSSF best practices badge detected","details":null,"documentation":{"short":"Determines if the project has an OpenSSF (formerly CII) Best Practices Badge.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#cii-best-practices"}},{"name":"Fuzzing","score":0,"reason":"project is not fuzzed","details":["Warn: no fuzzer integrations found"],"documentation":{"short":"Determines if the project uses fuzzing.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#fuzzing"}},{"name":"Security-Policy","score":0,"reason":"security policy file not detected","details":["Warn: no security policy file detected","Warn: no security file to analyze","Warn: no security file to analyze","Warn: no security file to analyze"],"documentation":{"short":"Determines if the project has published a security policy.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#security-policy"}},{"name":"License","score":10,"reason":"license file detected","details":["Info: project has a license file: LICENSE.md:0","Info: FSF or OSI recognized license: MIT License: LICENSE.md:0"],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#license"}},{"name":"Signed-Releases","score":-1,"reason":"no releases found","details":null,"documentation":{"short":"Determines if the project cryptographically signs release artifacts.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#signed-releases"}},{"name":"Branch-Protection","score":0,"reason":"branch protection not enabled on development/release branches","details":["Warn: branch protection not enabled for branch 'master'"],"documentation":{"short":"Determines if the default and release branches are protected with GitHub's branch protection settings.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#branch-protection"}},{"name":"Vulnerabilities","score":0,"reason":"35 existing vulnerabilities detected","details":["Warn: Project is vulnerable to: GHSA-3hhc-qp5v-9p2j","Warn: Project is vulnerable to: GHSA-579w-22j4-4749","Warn: Project is vulnerable to: GHSA-76r7-hhxj-r776","Warn: Project is vulnerable to: GHSA-cr5q-6q9f-rq6q","Warn: Project is vulnerable to: GHSA-j6gc-792m-qgm2","Warn: Project is vulnerable to: GHSA-pj73-v5mw-pm9j","Warn: Project is vulnerable to: GHSA-jxhc-q857-3j6g","Warn: Project is vulnerable to: GHSA-69p6-wvmq-27gg","Warn: Project is vulnerable to: GHSA-pfpr-3463-c6jh","Warn: Project is vulnerable to: GHSA-pphf-gfrm-v32r","Warn: Project is vulnerable to: GHSA-2qc6-mcvw-92cw","Warn: Project is vulnerable to: GHSA-353f-x4gh-cqq8","Warn: Project is vulnerable to: GHSA-5w6v-399v-w3cc","Warn: Project is vulnerable to: GHSA-mrxw-mxhj-p664","Warn: Project is vulnerable to: GHSA-pxvg-2qj5-37jq","Warn: Project is vulnerable to: GHSA-r95h-9x8f-r3f7","Warn: Project is vulnerable to: GHSA-vvfq-8hwr-qm4m","Warn: Project is vulnerable to: GHSA-xc9x-jj77-9p9j","Warn: Project is vulnerable to: GHSA-22f2-v57c-j9cx","Warn: Project is vulnerable to: GHSA-3h57-hmj3-gj3p","Warn: Project is vulnerable to: GHSA-54rr-7fvw-6x8f","Warn: Project is vulnerable to: GHSA-65f5-mfpf-vfhj","Warn: Project is vulnerable to: GHSA-7g2v-jj9q-g3rg","Warn: Project is vulnerable to: GHSA-7wqh-767x-r66v","Warn: Project is vulnerable to: GHSA-8cgq-6mh2-7j6v","Warn: Project is vulnerable to: GHSA-93pm-5p5f-3ghx","Warn: Project is vulnerable to: GHSA-c6qg-cjj8-47qp","Warn: Project is vulnerable to: GHSA-gjh7-p2fx-99vx","Warn: Project is vulnerable to: GHSA-hxqx-xwvh-44m2","Warn: Project is vulnerable to: GHSA-rqv2-275x-2jq5","Warn: Project is vulnerable to: GHSA-vpfw-47h7-xj4g","Warn: Project is vulnerable to: GHSA-wq4h-7r42-5hrr","Warn: Project is vulnerable to: GHSA-xj5v-6v4g-jfw6","Warn: Project is vulnerable to: GHSA-592j-995h-p23j","Warn: Project is vulnerable to: GHSA-5cm2-9h8c-rvfx"],"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#vulnerabilities"}},{"name":"SAST","score":0,"reason":"SAST tool is not run on all commits -- score normalized to 0","details":["Warn: 0 commits out of 26 are checked with a SAST tool"],"documentation":{"short":"Determines if the project uses static code analysis.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#sast"}}]},"last_synced_at":"2025-08-22T13:24:03.294Z","repository_id":1061267,"created_at":"2025-08-22T13:24:03.294Z","updated_at":"2025-08-22T13:24:03.294Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":33074392,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-15T11:35:32.926Z","status":"ssl_error","status_checked_at":"2026-05-15T11:35:31.362Z","response_time":103,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5: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"},"owner_record":{"login":"perfectline","name":"PerfectLine","uuid":"75787","kind":"organization","description":"","email":"write@perfectline.co","website":"https://www.perfectline.co","location":"Estonia","twitter":null,"company":null,"icon_url":"https://avatars.githubusercontent.com/u/75787?v=4","repositories_count":46,"last_synced_at":"2024-04-21T04:44:06.280Z","metadata":{"has_sponsors_listing":false},"html_url":"https://github.com/perfectline","funding_links":[],"total_stars":911,"followers":1,"following":0,"created_at":"2022-11-02T16:34:29.449Z","updated_at":"2024-04-21T04:44:14.102Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/perfectline","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/perfectline/repositories"},"tags":[{"name":"v1.0.5","sha":"825af081ed15d40dda746f86991c4f1885054406","kind":"commit","published_at":"2019-03-12T19:57:27.000Z","download_url":"https://codeload.github.com/perfectline/validates_url/tar.gz/v1.0.5","html_url":"https://github.com/perfectline/validates_url/releases/tag/v1.0.5","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/perfectline/validates_url@v1.0.5","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/perfectline%2Fvalidates_url/tags/v1.0.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/perfectline%2Fvalidates_url/tags/v1.0.5/manifests"},{"name":"v1.0.4","sha":"01c0b319081004f97a34728c22c6564dbb812d00","kind":"commit","published_at":"2019-03-12T19:52:44.000Z","download_url":"https://codeload.github.com/perfectline/validates_url/tar.gz/v1.0.4","html_url":"https://github.com/perfectline/validates_url/releases/tag/v1.0.4","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/perfectline/validates_url@v1.0.4","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/perfectline%2Fvalidates_url/tags/v1.0.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/perfectline%2Fvalidates_url/tags/v1.0.4/manifests"},{"name":"v1.0.2","sha":"c26f7a1b5bf00bbcdadc825e69a9c401a94413ec","kind":"commit","published_at":"2015-07-21T08:46:31.000Z","download_url":"https://codeload.github.com/perfectline/validates_url/tar.gz/v1.0.2","html_url":"https://github.com/perfectline/validates_url/releases/tag/v1.0.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/perfectline/validates_url@v1.0.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/perfectline%2Fvalidates_url/tags/v1.0.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/perfectline%2Fvalidates_url/tags/v1.0.2/manifests"},{"name":"v1.0.1","sha":"53250d3af0ea868fc033fe69bf9d513ff712961b","kind":"commit","published_at":"2015-07-21T08:38:04.000Z","download_url":"https://codeload.github.com/perfectline/validates_url/tar.gz/v1.0.1","html_url":"https://github.com/perfectline/validates_url/releases/tag/v1.0.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/perfectline/validates_url@v1.0.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/perfectline%2Fvalidates_url/tags/v1.0.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/perfectline%2Fvalidates_url/tags/v1.0.1/manifests"},{"name":"v1.0.0","sha":"2567b011888f07c569b3ed03d445ac09ed2e1f83","kind":"commit","published_at":"2014-11-13T11:15:34.000Z","download_url":"https://codeload.github.com/perfectline/validates_url/tar.gz/v1.0.0","html_url":"https://github.com/perfectline/validates_url/releases/tag/v1.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/perfectline/validates_url@v1.0.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/perfectline%2Fvalidates_url/tags/v1.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/perfectline%2Fvalidates_url/tags/v1.0.0/manifests"},{"name":"v0.2.1","sha":"397ce929369e5fd6ba3d9ec6a87ee69fa266a98d","kind":"commit","published_at":"2014-06-07T13:06:05.000Z","download_url":"https://codeload.github.com/perfectline/validates_url/tar.gz/v0.2.1","html_url":"https://github.com/perfectline/validates_url/releases/tag/v0.2.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/perfectline/validates_url@v0.2.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/perfectline%2Fvalidates_url/tags/v0.2.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/perfectline%2Fvalidates_url/tags/v0.2.1/manifests"},{"name":"v0.2.0","sha":"d5477010e4dbc4b47949c739e22b021f713cffab","kind":"commit","published_at":"2014-06-07T13:00:43.000Z","download_url":"https://codeload.github.com/perfectline/validates_url/tar.gz/v0.2.0","html_url":"https://github.com/perfectline/validates_url/releases/tag/v0.2.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/perfectline/validates_url@v0.2.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/perfectline%2Fvalidates_url/tags/v0.2.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/perfectline%2Fvalidates_url/tags/v0.2.0/manifests"}]},"repo_metadata_updated_at":"2026-05-22T16:06:01.297Z","dependent_packages_count":16,"downloads":83322683,"downloads_period":"total","dependent_repos_count":2686,"rankings":{"downloads":0.4120159231052285,"dependent_repos_count":0.6177451188100044,"dependent_packages_count":1.2321450474459472,"stargazers_count":2.391253442758221,"forks_count":2.5139104158071386,"docker_downloads_count":0.23472084387997455,"average":1.2336317986344192},"purl":"pkg:gem/validate_url","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/rubygems/validate_url","docker_dependents_count":253,"docker_downloads_count":514283262,"usage_url":"https://repos.ecosyste.ms/usage/rubygems/validate_url","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/rubygems/validate_url/dependencies","status":null,"funding_links":[],"critical":true,"issue_metadata":{"last_synced_at":"2026-04-24T14:02:19.061Z","issues_count":41,"pull_requests_count":74,"avg_time_to_close_issue":15367981.681818182,"avg_time_to_close_pull_request":6550583.107692308,"issues_closed_count":22,"pull_requests_closed_count":65,"pull_request_authors_count":36,"issue_authors_count":38,"avg_comments_per_issue":2.707317073170732,"avg_comments_per_pull_request":0.7027027027027027,"merged_pull_requests_count":52,"bot_issues_count":0,"bot_pull_requests_count":25,"past_year_issues_count":3,"past_year_pull_requests_count":0,"past_year_avg_time_to_close_issue":null,"past_year_avg_time_to_close_pull_request":null,"past_year_issues_closed_count":0,"past_year_pull_requests_closed_count":0,"past_year_pull_request_authors_count":0,"past_year_issue_authors_count":2,"past_year_avg_comments_per_issue":0.0,"past_year_avg_comments_per_pull_request":null,"past_year_bot_issues_count":0,"past_year_bot_pull_requests_count":0,"past_year_merged_pull_requests_count":0,"issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/perfectline%2Fvalidates_url/issues","maintainers":[],"active_maintainers":[]},"versions_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/packages/validate_url/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/packages/validate_url/version_numbers","latest_version_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/packages/validate_url/latest_version","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/packages/validate_url/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/packages/validate_url/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/packages/validate_url/codemeta","maintainers":[{"uuid":"43254","login":"PerfectLine","name":null,"email":null,"url":null,"packages_count":6,"html_url":"https://rubygems.org/profiles/PerfectLine","role":null,"created_at":"2022-11-09T09:55:46.325Z","updated_at":"2022-11-09T09:55:46.325Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/maintainers/PerfectLine/packages"},{"uuid":"2897","login":"TanelSuurhans","name":null,"email":null,"url":null,"packages_count":7,"html_url":"https://rubygems.org/profiles/TanelSuurhans","role":null,"created_at":"2022-11-09T09:55:46.316Z","updated_at":"2022-11-09T09:55:46.316Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/maintainers/TanelSuurhans/packages"},{"uuid":"74602","login":"vladimirPerfect","name":null,"email":null,"url":null,"packages_count":2,"html_url":"https://rubygems.org/profiles/vladimirPerfect","role":null,"created_at":"2022-11-09T09:55:46.334Z","updated_at":"2022-11-09T09:55:46.334Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/maintainers/vladimirPerfect/packages"}],"registry":{"name":"rubygems.org","url":"https://rubygems.org","ecosystem":"rubygems","default":true,"packages_count":207283,"maintainers_count":68774,"namespaces_count":0,"keywords_count":18627,"github":"rubygems","metadata":{"funded_packages_count":7375},"icon_url":"https://github.com/rubygems.png","created_at":"2022-04-04T15:19:23.446Z","updated_at":"2026-05-13T05:11:24.133Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/packages","maintainers_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/maintainers","namespaces_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/namespaces"}},{"id":13567358,"name":"ruby-validate-url","ecosystem":"ubuntu","description":null,"homepage":"http://github.com/perfectline/validates_url/tree/master","licenses":null,"normalized_licenses":[],"repository_url":"https://github.com/perfectline/validates_url","keywords_array":["universe/misc"],"namespace":"universe","versions_count":1,"first_release_published_at":"2026-02-11T06:52:02.675Z","latest_release_published_at":"2026-02-11T06:52:02.675Z","latest_release_number":"1.0.2+git-2","last_synced_at":"2026-03-11T15:30:57.156Z","created_at":"2026-02-11T06:52:02.483Z","updated_at":"2026-03-11T15:30:57.156Z","registry_url":"https://launchpad.net/ubuntu/+source/ruby-validate-url","install_command":"apt-get install ruby-validate-url","documentation_url":null,"metadata":{"component":"universe","architecture":"all","priority":"optional","binary":"ruby-validate-url","standards_version":"4.3.0","maintainer":"Debian Ruby Extras Maintainers \u003cpkg-ruby-extras-maintainers@lists.alioth.debian.org\u003e","build_depends":"debhelper (\u003e= 11~), gem2deb, ruby-activemodel, ruby-activerecord, ruby-addressable, ruby-diff-lcs, ruby-rspec, ruby-sqlite3","build_depends_indep":null,"build_depends_arch":null},"repo_metadata":{},"repo_metadata_updated_at":"2026-02-11T14:57:18.385Z","dependent_packages_count":0,"downloads":null,"downloads_period":null,"dependent_repos_count":0,"rankings":{"downloads":null,"dependent_repos_count":0.0,"dependent_packages_count":0.0,"stargazers_count":null,"forks_count":null,"docker_downloads_count":null,"average":100},"purl":"pkg:deb/ubuntu/ruby-validate-url?arch=source\u0026distro=ubuntu-23.04\u0026repository_url=https://launchpad.net/ubuntu/lunar","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/ubuntu/ruby-validate-url","docker_dependents_count":null,"docker_downloads_count":null,"usage_url":"https://repos.ecosyste.ms/usage/ubuntu/ruby-validate-url","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/ubuntu/ruby-validate-url/dependencies","status":null,"funding_links":[],"critical":null,"issue_metadata":null,"versions_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-23.04/packages/ruby-validate-url/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-23.04/packages/ruby-validate-url/version_numbers","latest_version_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-23.04/packages/ruby-validate-url/latest_version","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-23.04/packages/ruby-validate-url/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-23.04/packages/ruby-validate-url/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-23.04/packages/ruby-validate-url/codemeta","maintainers":[],"registry":{"name":"ubuntu-23.04","url":"https://launchpad.net/ubuntu/lunar","ecosystem":"ubuntu","default":false,"packages_count":36116,"maintainers_count":0,"namespaces_count":4,"keywords_count":0,"github":"ubuntu","metadata":{"codename":"lunar","mirror":"http://old-releases.ubuntu.com/ubuntu"},"icon_url":"https://github.com/ubuntu.png","created_at":"2026-02-04T11:01:49.117Z","updated_at":"2026-04-27T18:20:38.741Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-23.04/packages","maintainers_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-23.04/maintainers","namespaces_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-23.04/namespaces"}},{"id":13467468,"name":"ruby-validate-url","ecosystem":"ubuntu","description":null,"homepage":"http://github.com/perfectline/validates_url/tree/master","licenses":null,"normalized_licenses":[],"repository_url":"https://github.com/perfectline/validates_url","keywords_array":["universe/misc"],"namespace":"universe","versions_count":1,"first_release_published_at":"2026-02-09T17:31:41.711Z","latest_release_published_at":"2026-02-09T17:31:41.711Z","latest_release_number":"1.0.2+git-2","last_synced_at":"2026-03-09T18:23:47.348Z","created_at":"2026-02-09T17:31:41.421Z","updated_at":"2026-03-09T18:32:54.949Z","registry_url":"https://launchpad.net/ubuntu/+source/ruby-validate-url","install_command":"apt-get install ruby-validate-url","documentation_url":null,"metadata":{"component":"universe","architecture":"all","priority":"optional","binary":"ruby-validate-url","standards_version":"4.3.0","maintainer":"Debian Ruby Extras Maintainers \u003cpkg-ruby-extras-maintainers@lists.alioth.debian.org\u003e","build_depends":"debhelper (\u003e= 11~), gem2deb, ruby-activemodel, ruby-activerecord, ruby-addressable, ruby-diff-lcs, ruby-rspec, ruby-sqlite3","build_depends_indep":null,"build_depends_arch":null},"repo_metadata":{},"repo_metadata_updated_at":null,"dependent_packages_count":0,"downloads":null,"downloads_period":null,"dependent_repos_count":0,"rankings":{"downloads":null,"dependent_repos_count":0.0,"dependent_packages_count":0.0,"stargazers_count":null,"forks_count":null,"docker_downloads_count":null,"average":100},"purl":"pkg:deb/ubuntu/ruby-validate-url?arch=source\u0026distro=ubuntu-24.10\u0026repository_url=https://launchpad.net/ubuntu/oracular","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/ubuntu/ruby-validate-url","docker_dependents_count":null,"docker_downloads_count":null,"usage_url":"https://repos.ecosyste.ms/usage/ubuntu/ruby-validate-url","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/ubuntu/ruby-validate-url/dependencies","status":null,"funding_links":[],"critical":null,"issue_metadata":null,"versions_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-24.10/packages/ruby-validate-url/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-24.10/packages/ruby-validate-url/version_numbers","latest_version_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-24.10/packages/ruby-validate-url/latest_version","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-24.10/packages/ruby-validate-url/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-24.10/packages/ruby-validate-url/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-24.10/packages/ruby-validate-url/codemeta","maintainers":[],"registry":{"name":"ubuntu-24.10","url":"https://launchpad.net/ubuntu/oracular","ecosystem":"ubuntu","default":false,"packages_count":38437,"maintainers_count":0,"namespaces_count":4,"keywords_count":0,"github":"ubuntu","metadata":{"codename":"oracular","mirror":"http://old-releases.ubuntu.com/ubuntu"},"icon_url":"https://github.com/ubuntu.png","created_at":"2026-02-04T11:01:48.028Z","updated_at":"2026-04-27T18:20:37.303Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-24.10/packages","maintainers_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-24.10/maintainers","namespaces_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-24.10/namespaces"}},{"id":13713560,"name":"ruby-validate-url","ecosystem":"debian","description":null,"homepage":"http://github.com/perfectline/validates_url/tree/master","licenses":null,"normalized_licenses":[],"repository_url":"https://github.com/perfectline/validates_url","keywords_array":["misc"],"namespace":"main","versions_count":1,"first_release_published_at":"2026-02-12T23:43:40.745Z","latest_release_published_at":"2026-02-12T23:43:40.745Z","latest_release_number":"1.0.2+git-2","last_synced_at":"2026-03-13T23:47:50.717Z","created_at":"2026-02-12T23:43:40.062Z","updated_at":"2026-03-13T23:47:50.717Z","registry_url":"https://tracker.debian.org/pkg/ruby-validate-url","install_command":"apt-get install ruby-validate-url","documentation_url":"https://packages.debian.org/bookworm/ruby-validate-url","metadata":{"component":"main","architecture":"all","priority":"optional","binary":"ruby-validate-url","standards_version":"4.3.0","maintainer":"Debian Ruby Extras Maintainers \u003cpkg-ruby-extras-maintainers@lists.alioth.debian.org\u003e","build_depends":"debhelper (\u003e= 11~), gem2deb, ruby-activemodel, ruby-activerecord, ruby-addressable, ruby-diff-lcs, ruby-rspec, ruby-sqlite3","build_depends_indep":null,"build_depends_arch":null},"repo_metadata":{},"repo_metadata_updated_at":"2026-02-12T23:43:41.340Z","dependent_packages_count":0,"downloads":null,"downloads_period":null,"dependent_repos_count":0,"rankings":{"downloads":null,"dependent_repos_count":0.0,"dependent_packages_count":0.0,"stargazers_count":null,"forks_count":null,"docker_downloads_count":null,"average":100},"purl":"pkg:deb/debian/ruby-validate-url?arch=source\u0026distro=debian-12","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/debian/ruby-validate-url","docker_dependents_count":null,"docker_downloads_count":null,"usage_url":"https://repos.ecosyste.ms/usage/debian/ruby-validate-url","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/debian/ruby-validate-url/dependencies","status":null,"funding_links":[],"critical":null,"issue_metadata":null,"versions_url":"https://packages.ecosyste.ms/api/v1/registries/debian-12/packages/ruby-validate-url/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/debian-12/packages/ruby-validate-url/version_numbers","latest_version_url":"https://packages.ecosyste.ms/api/v1/registries/debian-12/packages/ruby-validate-url/latest_version","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/debian-12/packages/ruby-validate-url/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/debian-12/packages/ruby-validate-url/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/debian-12/packages/ruby-validate-url/codemeta","maintainers":[],"registry":{"name":"debian-12","url":"https://packages.debian.org/bookworm","ecosystem":"debian","default":true,"packages_count":34734,"maintainers_count":0,"namespaces_count":4,"keywords_count":0,"github":"debian","metadata":{"codename":"bookworm"},"icon_url":"https://github.com/debian.png","created_at":"2026-02-04T11:01:49.459Z","updated_at":"2026-04-27T18:20:38.992Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/debian-12/packages","maintainers_url":"https://packages.ecosyste.ms/api/v1/registries/debian-12/maintainers","namespaces_url":"https://packages.ecosyste.ms/api/v1/registries/debian-12/namespaces"}},{"id":13407484,"name":"ruby-validate-url","ecosystem":"ubuntu","description":null,"homepage":"http://github.com/perfectline/validates_url/tree/master","licenses":null,"normalized_licenses":[],"repository_url":"https://github.com/perfectline/validates_url","keywords_array":["universe/misc"],"namespace":"universe","versions_count":1,"first_release_published_at":"2026-02-06T16:12:52.756Z","latest_release_published_at":"2026-02-06T16:12:52.756Z","latest_release_number":"1.0.2+git-2","last_synced_at":"2026-03-06T17:22:47.584Z","created_at":"2026-02-06T16:12:52.489Z","updated_at":"2026-03-06T17:32:18.203Z","registry_url":"https://launchpad.net/ubuntu/+source/ruby-validate-url","install_command":"apt-get install ruby-validate-url","documentation_url":null,"metadata":{"component":"universe","architecture":"all","priority":"optional","binary":"ruby-validate-url","standards_version":"4.3.0","maintainer":"Debian Ruby Extras Maintainers \u003cpkg-ruby-extras-maintainers@lists.alioth.debian.org\u003e","build_depends":"debhelper (\u003e= 11~), gem2deb, ruby-activemodel, ruby-activerecord, ruby-addressable, ruby-diff-lcs, ruby-rspec, ruby-sqlite3","build_depends_indep":null,"build_depends_arch":null},"repo_metadata":{},"repo_metadata_updated_at":null,"dependent_packages_count":0,"downloads":null,"downloads_period":null,"dependent_repos_count":0,"rankings":{"downloads":null,"dependent_repos_count":0.0,"dependent_packages_count":0.0,"stargazers_count":null,"forks_count":null,"docker_downloads_count":null,"average":100},"purl":"pkg:deb/ubuntu/ruby-validate-url?arch=source\u0026distro=ubuntu-24.04","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/ubuntu/ruby-validate-url","docker_dependents_count":null,"docker_downloads_count":null,"usage_url":"https://repos.ecosyste.ms/usage/ubuntu/ruby-validate-url","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/ubuntu/ruby-validate-url/dependencies","status":null,"funding_links":[],"critical":null,"issue_metadata":null,"versions_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-24.04/packages/ruby-validate-url/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-24.04/packages/ruby-validate-url/version_numbers","latest_version_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-24.04/packages/ruby-validate-url/latest_version","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-24.04/packages/ruby-validate-url/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-24.04/packages/ruby-validate-url/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-24.04/packages/ruby-validate-url/codemeta","maintainers":[],"registry":{"name":"ubuntu-24.04","url":"https://launchpad.net/ubuntu/noble","ecosystem":"ubuntu","default":true,"packages_count":37306,"maintainers_count":0,"namespaces_count":4,"keywords_count":0,"github":"ubuntu","metadata":{"codename":"noble"},"icon_url":"https://github.com/ubuntu.png","created_at":"2026-02-04T11:01:45.928Z","updated_at":"2026-04-27T18:20:35.701Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-24.04/packages","maintainers_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-24.04/maintainers","namespaces_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-24.04/namespaces"}},{"id":13669714,"name":"ruby-validate-url","ecosystem":"debian","description":null,"homepage":"http://github.com/perfectline/validates_url/tree/master","licenses":null,"normalized_licenses":[],"repository_url":"https://github.com/perfectline/validates_url","keywords_array":["misc"],"namespace":"main","versions_count":1,"first_release_published_at":"2026-02-12T12:48:00.629Z","latest_release_published_at":"2026-02-12T12:48:00.629Z","latest_release_number":"1.0.2+git-2","last_synced_at":"2026-03-14T18:12:13.795Z","created_at":"2026-02-12T12:48:00.461Z","updated_at":"2026-03-14T18:12:13.795Z","registry_url":"https://tracker.debian.org/pkg/ruby-validate-url","install_command":"apt-get install ruby-validate-url","documentation_url":"https://packages.debian.org/trixie/ruby-validate-url","metadata":{"component":"main","architecture":"all","priority":"optional","binary":"ruby-validate-url","standards_version":"4.3.0","maintainer":"Debian Ruby Extras Maintainers \u003cpkg-ruby-extras-maintainers@lists.alioth.debian.org\u003e","build_depends":"debhelper (\u003e= 11~), gem2deb, ruby-activemodel, ruby-activerecord, ruby-addressable, ruby-diff-lcs, ruby-rspec, ruby-sqlite3","build_depends_indep":null,"build_depends_arch":null},"repo_metadata":{},"repo_metadata_updated_at":"2026-02-12T12:48:01.303Z","dependent_packages_count":0,"downloads":null,"downloads_period":null,"dependent_repos_count":0,"rankings":{"downloads":null,"dependent_repos_count":0.0,"dependent_packages_count":0.0,"stargazers_count":null,"forks_count":null,"docker_downloads_count":null,"average":100},"purl":"pkg:deb/debian/ruby-validate-url?arch=source\u0026distro=debian-13\u0026repository_url=https://packages.debian.org/trixie","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/debian/ruby-validate-url","docker_dependents_count":null,"docker_downloads_count":null,"usage_url":"https://repos.ecosyste.ms/usage/debian/ruby-validate-url","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/debian/ruby-validate-url/dependencies","status":null,"funding_links":[],"critical":null,"issue_metadata":null,"versions_url":"https://packages.ecosyste.ms/api/v1/registries/debian-13/packages/ruby-validate-url/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/debian-13/packages/ruby-validate-url/version_numbers","latest_version_url":"https://packages.ecosyste.ms/api/v1/registries/debian-13/packages/ruby-validate-url/latest_version","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/debian-13/packages/ruby-validate-url/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/debian-13/packages/ruby-validate-url/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/debian-13/packages/ruby-validate-url/codemeta","maintainers":[],"registry":{"name":"debian-13","url":"https://packages.debian.org/trixie","ecosystem":"debian","default":false,"packages_count":38024,"maintainers_count":0,"namespaces_count":4,"keywords_count":0,"github":"debian","metadata":{"codename":"trixie"},"icon_url":"https://github.com/debian.png","created_at":"2026-02-04T11:01:50.448Z","updated_at":"2026-04-27T18:20:39.853Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/debian-13/packages","maintainers_url":"https://packages.ecosyste.ms/api/v1/registries/debian-13/maintainers","namespaces_url":"https://packages.ecosyste.ms/api/v1/registries/debian-13/namespaces"}}],"commits":{"id":19617,"full_name":"perfectline/validates_url","default_branch":"master","total_commits":146,"total_committers":58,"total_bot_commits":10,"total_bot_committers":1,"mean_commits":2.5172413793103448,"dds":0.7397260273972603,"past_year_total_commits":0,"past_year_total_committers":0,"past_year_total_bot_commits":0,"past_year_total_bot_committers":0,"past_year_mean_commits":0.0,"past_year_dds":0.0,"last_synced_at":"2026-05-22T03:09:54.764Z","last_synced_commit":"b00502e7c9d66cd1b45ffef446ddaaa8724774a6","created_at":"2023-03-07T11:41:37.907Z","updated_at":"2026-05-22T03:07:41.921Z","committers":[{"name":"Vladimir Krylov","email":"vladimir.krylov@perfectline.co","login":"kritik","count":38},{"name":"dependabot[bot]","email":"49699333+dependabot[bot]","login":"dependabot[bot]","count":10},{"name":"Antoine Niek","email":"antoine.niek@adgear.com","login":null,"count":9},{"name":"Tanel Suurhans","email":"tanel.suurhans@perfectline.ee","login":null,"count":9},{"name":"Olle Jonsson","email":"olle.jonsson@gmail.com","login":"olleolleolle","count":4},{"name":"Donald Piret","email":"donald@donaldpiret.com","login":"donaldpiret","count":4},{"name":"Christopher Guess","email":"cguess@gmail.com","login":"cguess","count":4},{"name":"gaga5lala","email":"gaga5lala1013@gmail.com","login":"gaga5lala","count":3},{"name":"Yusuf YALIM","email":"yusufyalim@gmail.com","login":"yyalim","count":3},{"name":"Tim Rogers","email":"me@timrogers.co.uk","login":"timrogers","count":3},{"name":"Chris Mason","email":"chris@chaione.com","login":"cmason","count":3},{"name":"Susan van den Broek","email":"susan.van.den.broek@axini.com","login":null,"count":2},{"name":"Erica Love and Matt Olenick","email":"pair+love+matto@ministryofvelocity.com","login":null,"count":2},{"name":"Aaron Reisman","email":"aaron@lifeiscontent.net","login":"lifeiscontent","count":2},{"name":"Alex Kestner","email":"alex.kestner@gmail.com","login":"akestner","count":2},{"name":"Martin Kivi","email":"martin.kivi@perfectline.co","login":"martinkivi","count":2},{"name":"Novik","email":"novik65@gmail.com","login":"Novik","count":2},{"name":"Seedot1234","email":"supersuus14@gmail.com","login":"seedot1234","count":2},{"name":"Wojtek Kruszewski","email":"wojtek@oxos.pl","login":"wkrsz","count":2},{"name":"Benjamin L","email":"benjamin.lethier@jobteaser.com","login":"benjamin-ltr","count":2},{"name":"Eric Guo","email":"eric@cloud-mes.com","login":"Eric-Guo","count":1},{"name":"Derek","email":"quanmn.libra@gmail.com","login":"dereknguyen269","count":1},{"name":"David Wilkie","email":"dwilkie@gmail.com","login":"dwilkie","count":1},{"name":"Clarissa Borges","email":"clarissalimab08@gmail.com","login":"clarissalimab","count":1},{"name":"Anthony Truskinger","email":"anthony.truskinger@gmail.com","login":"atruskie","count":1},{"name":"David Revelo","email":"david@aperturaradical.org","login":null,"count":1},{"name":"Jordan Maguire","email":"jmaguire@thefrontiergroup.com.au","login":null,"count":1},{"name":"Miguel A. Diab","email":"miguel@hint.com","login":null,"count":1},{"name":"PerfectLine","email":"info@perfectline.ee","login":null,"count":1},{"name":"tferrerITBA","email":"tferrer@itba.edu.ar","login":"tferrerm","count":1},{"name":"shawchian","email":"shawchian@gmail.com","login":"shawchian","count":1},{"name":"razvanmitre","email":"razvanmitre","login":"razvanmitre","count":1},{"name":"muhammad ebeid","email":"muhammed.ebeid@gmail.com","login":"mosaaleb","count":1},{"name":"denisenkom","email":"denisenkom@gmail.com","login":"denisenkom","count":1},{"name":"Yasuo Tabira","email":"ytabira@gmail.com","login":"ytabira","count":1},{"name":"Ville Lautanala","email":"lautis@gmail.com","login":"lautis","count":1},{"name":"TimothyAlexisVass","email":"55708319+TimothyAlexisVass","login":"TimothyAlexisVass","count":1},{"name":"Stephen Paul Weber","email":"stephen.weber@shopify.com","login":"singpolyma-shopify","count":1},{"name":"Seenkoo","email":"shinkupro@gmail.com","login":"seenkoo","count":1},{"name":"Robert Rawlins","email":"robrawlins@gmail.com","login":"SirRawlins","count":1},{"name":"Rimenes Ribeiro","email":"eu@rimenes.net","login":"rimenes","count":1},{"name":"Philip Giuliani","email":"giiuliio@gmail.com","login":"philipgiuliani","count":1},{"name":"OKURA Masafumi","email":"masafumi.o1988@gmail.com","login":"okuramasafumi","count":1},{"name":"Niall Duggan","email":"NDuggan","login":"NDuggan","count":1},{"name":"MothOnMars","email":"437455+MothOnMars","login":"MothOnMars","count":1},{"name":"Michał Zając","email":"michal.zajac+github@gmail.com","login":"Quintasan","count":1},{"name":"Matt Coneybeare","email":"matt@coneybeare.me","login":"coneybeare","count":1},{"name":"Mark IJbema","email":"markijbema@gmail.com","login":"markijbema","count":1},{"name":"Manuel van Rijn","email":"manuel@manuelvanrijn.nl","login":"manuelvanrijn","count":1},{"name":"Madogiwa","email":"17684091+Madogiwa0124","login":"Madogiwa0124","count":1},{"name":"Leandro Tk","email":"leandrotk100@gmail.com","login":"imteekay","count":1},{"name":"Jonathan Schatz","email":"jschatz@goodreads.com","login":"goodreads-dev","count":1},{"name":"Jean Boussier","email":"jean.boussier@gmail.com","login":"byroot","count":1},{"name":"Jared Fraser","email":"dev@jsf.io","login":"modsognir","count":1},{"name":"Janosch Müller","email":"janosch84@gmail.com","login":"jaynetics","count":1},{"name":"GunChleoc","email":"fios@foramnagaidhlig.net","login":"gunchleoc","count":1},{"name":"Guillaume Occuly","email":"occuly.guillaume@gmail.com","login":"GuillaumeOcculy","count":1},{"name":"Fabrizio Monti","email":"monti.fabrizio@gmail.com","login":"delphaber","count":1}],"past_year_committers":[],"commits_url":"https://commits.ecosyste.ms/api/v1/hosts/GitHub/repositories/perfectline%2Fvalidates_url/commits","host":{"name":"GitHub","url":"https://github.com","kind":"github","last_synced_at":"2026-05-23T00:00:39.628Z","repositories_count":6238931,"commits_count":884690058,"contributors_count":34899800,"owners_count":1156336,"icon_url":"https://github.com/github.png","host_url":"https://commits.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://commits.ecosyste.ms/api/v1/hosts/GitHub/repositories"}},"issues_stats":{"full_name":"perfectline/validates_url","html_url":"https://github.com/perfectline/validates_url","last_synced_at":"2026-04-24T14:02:19.061Z","status":"active","issues_count":41,"pull_requests_count":74,"avg_time_to_close_issue":15367981.681818182,"avg_time_to_close_pull_request":6550583.107692308,"issues_closed_count":22,"pull_requests_closed_count":65,"pull_request_authors_count":36,"issue_authors_count":38,"avg_comments_per_issue":2.707317073170732,"avg_comments_per_pull_request":0.7027027027027027,"merged_pull_requests_count":52,"bot_issues_count":0,"bot_pull_requests_count":25,"past_year_issues_count":3,"past_year_pull_requests_count":0,"past_year_avg_time_to_close_issue":null,"past_year_avg_time_to_close_pull_request":null,"past_year_issues_closed_count":0,"past_year_pull_requests_closed_count":0,"past_year_pull_request_authors_count":0,"past_year_issue_authors_count":2,"past_year_avg_comments_per_issue":0.0,"past_year_avg_comments_per_pull_request":null,"past_year_bot_issues_count":0,"past_year_bot_pull_requests_count":0,"past_year_merged_pull_requests_count":0,"created_at":"2023-05-12T18:57:17.478Z","updated_at":"2026-04-24T14:02:19.061Z","repository_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/perfectline%2Fvalidates_url","issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/perfectline%2Fvalidates_url/issues","issue_labels_count":{},"pull_request_labels_count":{"dependencies":25},"issue_author_associations_count":{"NONE":37,"CONTRIBUTOR":4},"pull_request_author_associations_count":{"CONTRIBUTOR":63,"NONE":11},"issue_authors":{"rhymes":2,"gravitystorm":2,"sshaw":2,"grzegorz-jakubiak":1,"Liquidsoul":1,"JulienItard":1,"Jeremy1026":1,"madmax":1,"ishields":1,"NAR8789":1,"coneybeare":1,"overdrivemachines":1,"HenryHaller":1,"krtschmr":1,"dobryakov":1,"aviscasillas":1,"deevis":1,"airled":1,"SirRawlins":1,"pardeyke":1,"badosu":1,"mices":1,"olleolleolle":1,"JoeWoodward":1,"00dav00":1,"misner":1,"bryszard":1,"zhangjingqiang":1,"julienbfabre":1,"collimarco":1,"destsimon":1,"swanson":1,"lostie":1,"IsabelleLePivain":1,"building39":1,"gavingmiller":1,"bh-e":1,"mjankowski":1},"pull_request_authors":{"dependabot[bot]":25,"seedot1234":6,"zapo":4,"olleolleolle":4,"petergoldstein":2,"atruskie":2,"benjamin-ltr":2,"MothOnMars":1,"NDuggan":1,"Quintasan":1,"jaynetics":1,"NAR8789":1,"coneybeare":1,"cguess":1,"timrogers":1,"imteekay":1,"lifeiscontent":1,"Novik":1,"singpolyma-shopify":1,"SirRawlins":1,"manuelvanrijn":1,"00dav00":1,"mosaaleb":1,"migueldiab":1,"dereknguyen269":1,"madogiwa0124":1,"casperisfine":1,"jperichon":1,"Eric-Guo":1,"clarissalimab":1,"iamsaso":1,"tferrerm":1,"minifast-winston":1,"akestner":1,"okuramasafumi":1,"TimothyAlexisVass":1},"host":{"name":"GitHub","url":"https://github.com","kind":"github","last_synced_at":"2026-05-23T00:00:30.079Z","repositories_count":14668197,"issues_count":34108931,"pull_requests_count":111631846,"authors_count":11270208,"icon_url":"https://github.com/github.png","host_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories","owners_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/owners","authors_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors"},"past_year_issue_labels_count":{},"past_year_pull_request_labels_count":{},"past_year_issue_author_associations_count":{"NONE":3},"past_year_pull_request_author_associations_count":{},"past_year_issue_authors":{"sshaw":2,"pardeyke":1},"past_year_pull_request_authors":{},"maintainers":[],"active_maintainers":[]},"events":{"total":{"PullRequestEvent":6,"ForkEvent":6,"IssuesEvent":1,"WatchEvent":27,"PushEvent":3,"PullRequestReviewEvent":3},"last_year":{"WatchEvent":4}},"keywords":[],"dependencies":[{"ecosystem":"rubygems","filepath":"Gemfile.lock","sha":null,"kind":"lockfile","created_at":"2022-07-15T06:47:06.549Z","updated_at":"2022-07-15T06:47:06.549Z","repository_link":"https://github.com/perfectline/validates_url/blob/master/Gemfile.lock","dependencies":[{"id":217038875,"package_name":"validate_url","ecosystem":"rubygems","requirements":"1.0.13","direct":false,"kind":"runtime","optional":false},{"id":217038876,"package_name":"activemodel","ecosystem":"rubygems","requirements":"5.2.4.5","direct":false,"kind":"runtime","optional":false},{"id":217038877,"package_name":"activerecord","ecosystem":"rubygems","requirements":"5.2.4.5","direct":false,"kind":"runtime","optional":false},{"id":217038878,"package_name":"activesupport","ecosystem":"rubygems","requirements":"5.2.4.5","direct":false,"kind":"runtime","optional":false},{"id":217038879,"package_name":"addressable","ecosystem":"rubygems","requirements":"2.4.0","direct":false,"kind":"runtime","optional":false},{"id":217038880,"package_name":"arel","ecosystem":"rubygems","requirements":"9.0.0","direct":false,"kind":"runtime","optional":false},{"id":217038881,"package_name":"builder","ecosystem":"rubygems","requirements":"3.2.3","direct":false,"kind":"runtime","optional":false},{"id":217038882,"package_name":"concurrent-ruby","ecosystem":"rubygems","requirements":"1.1.8","direct":false,"kind":"runtime","optional":false},{"id":217038883,"package_name":"descendants_tracker","ecosystem":"rubygems","requirements":"0.0.4","direct":false,"kind":"runtime","optional":false},{"id":217038884,"package_name":"diff-lcs","ecosystem":"rubygems","requirements":"1.3","direct":false,"kind":"runtime","optional":false},{"id":217038885,"package_name":"faraday","ecosystem":"rubygems","requirements":"0.9.2","direct":false,"kind":"runtime","optional":false},{"id":217038886,"package_name":"git","ecosystem":"rubygems","requirements":"1.5.0","direct":false,"kind":"runtime","optional":false},{"id":217038887,"package_name":"github_api","ecosystem":"rubygems","requirements":"0.16.0","direct":false,"kind":"runtime","optional":false},{"id":217038888,"package_name":"hashie","ecosystem":"rubygems","requirements":"3.6.0","direct":false,"kind":"runtime","optional":false},{"id":217038889,"package_name":"highline","ecosystem":"rubygems","requirements":"2.0.0","direct":false,"kind":"runtime","optional":false},{"id":217038890,"package_name":"i18n","ecosystem":"rubygems","requirements":"1.8.10","direct":false,"kind":"runtime","optional":false},{"id":217038891,"package_name":"jeweler","ecosystem":"rubygems","requirements":"2.3.9","direct":false,"kind":"runtime","optional":false},{"id":217038892,"package_name":"jwt","ecosystem":"rubygems","requirements":"2.1.0","direct":false,"kind":"runtime","optional":false},{"id":217038893,"package_name":"mime-types","ecosystem":"rubygems","requirements":"2.99.3","direct":false,"kind":"runtime","optional":false},{"id":217038894,"package_name":"mini_portile2","ecosystem":"rubygems","requirements":"2.8.0","direct":false,"kind":"runtime","optional":false},{"id":217038895,"package_name":"minitest","ecosystem":"rubygems","requirements":"5.14.4","direct":false,"kind":"runtime","optional":false},{"id":217038896,"package_name":"multi_json","ecosystem":"rubygems","requirements":"1.13.1","direct":false,"kind":"runtime","optional":false},{"id":217038897,"package_name":"multi_xml","ecosystem":"rubygems","requirements":"0.6.0","direct":false,"kind":"runtime","optional":false},{"id":217038898,"package_name":"multipart-post","ecosystem":"rubygems","requirements":"2.0.0","direct":false,"kind":"runtime","optional":false},{"id":217038899,"package_name":"nokogiri","ecosystem":"rubygems","requirements":"1.13.6","direct":false,"kind":"runtime","optional":false},{"id":217038900,"package_name":"oauth2","ecosystem":"rubygems","requirements":"1.4.1","direct":false,"kind":"runtime","optional":false},{"id":217038901,"package_name":"psych","ecosystem":"rubygems","requirements":"4.0.3","direct":false,"kind":"runtime","optional":false},{"id":217038902,"package_name":"public_suffix","ecosystem":"rubygems","requirements":"4.0.6","direct":false,"kind":"runtime","optional":false},{"id":217038903,"package_name":"racc","ecosystem":"rubygems","requirements":"1.6.0","direct":false,"kind":"runtime","optional":false},{"id":217038904,"package_name":"rack","ecosystem":"rubygems","requirements":"2.2.3","direct":false,"kind":"runtime","optional":false},{"id":217038905,"package_name":"rake","ecosystem":"rubygems","requirements":"13.0.1","direct":false,"kind":"runtime","optional":false},{"id":217038906,"package_name":"rdoc","ecosystem":"rubygems","requirements":"6.4.0","direct":false,"kind":"runtime","optional":false},{"id":217038907,"package_name":"rspec","ecosystem":"rubygems","requirements":"3.8.0","direct":false,"kind":"runtime","optional":false},{"id":217038908,"package_name":"rspec-core","ecosystem":"rubygems","requirements":"3.8.0","direct":false,"kind":"runtime","optional":false},{"id":217038909,"package_name":"rspec-expectations","ecosystem":"rubygems","requirements":"3.8.2","direct":false,"kind":"runtime","optional":false},{"id":217038910,"package_name":"rspec-mocks","ecosystem":"rubygems","requirements":"3.8.0","direct":false,"kind":"runtime","optional":false},{"id":217038911,"package_name":"rspec-support","ecosystem":"rubygems","requirements":"3.8.0","direct":false,"kind":"runtime","optional":false},{"id":217038912,"package_name":"semver2","ecosystem":"rubygems","requirements":"3.4.2","direct":false,"kind":"runtime","optional":false},{"id":217038913,"package_name":"sqlite3","ecosystem":"rubygems","requirements":"1.3.13","direct":false,"kind":"runtime","optional":false},{"id":217038914,"package_name":"stringio","ecosystem":"rubygems","requirements":"3.0.2","direct":false,"kind":"runtime","optional":false},{"id":217038915,"package_name":"thread_safe","ecosystem":"rubygems","requirements":"0.3.6","direct":false,"kind":"runtime","optional":false},{"id":217038916,"package_name":"tzinfo","ecosystem":"rubygems","requirements":"1.2.9","direct":false,"kind":"runtime","optional":false}]},{"ecosystem":"actions","filepath":".github/workflows/test.yml","sha":null,"kind":"manifest","created_at":"2023-02-12T00:30:57.439Z","updated_at":"2023-02-12T00:30:57.439Z","repository_link":"https://github.com/perfectline/validates_url/blob/master/.github/workflows/test.yml","dependencies":[{"id":7562945073,"package_name":"actions/checkout","ecosystem":"actions","requirements":"v2","direct":true,"kind":"composite","optional":false},{"id":7562945074,"package_name":"actions/cache","ecosystem":"actions","requirements":"v2","direct":true,"kind":"composite","optional":false}]},{"ecosystem":"rubygems","filepath":"Gemfile","sha":null,"kind":"manifest","created_at":"2024-11-05T18:37:46.959Z","updated_at":"2024-11-05T18:37:46.959Z","repository_link":"https://github.com/perfectline/validates_url/blob/master/Gemfile","dependencies":[]},{"ecosystem":"rubygems","filepath":"validate_url.gemspec","sha":null,"kind":"manifest","created_at":"2024-11-05T18:37:47.256Z","updated_at":"2024-11-05T18:37:47.256Z","repository_link":"https://github.com/perfectline/validates_url/blob/master/validate_url.gemspec","dependencies":[]}],"score":31.404556938565264,"created_at":"2024-12-15T21:38:07.777Z","updated_at":"2026-05-24T04:30:24.901Z","avatar_url":"https://github.com/perfectline.png","language":"Ruby","monthly_downloads":0,"readme":"# Validates URL\n\nThis gem adds the capability of validating URLs to ActiveRecord and ActiveModel.\n\n## Installation\n\nAdd this to your `Gemfile`:\n\n```ruby\ngem \"validate_url\"\n```\n\nOr install it yourself:\n\n```sh\nsudo gem install validate_url\n```\n\n## Usage\n\n### With ActiveRecord\n\n```ruby\nclass Pony \u003c ActiveRecord::Base\n  # standard validation\n  validates :homepage, url: true\n\n  # with allow_nil\n  validates :homepage, url: { allow_nil: true }\n\n  # with allow_blank\n  validates :homepage, url: { allow_blank: true }\n\n  # without local hostnames\n  validates :homepage, url: { no_local: true }\n\n  # with custom schemes\n  validates :homepage, url: { schemes: ['https'] }\n\n  # with public suffix database https://publicsuffix.org/\n  validates :homepage, url: { public_suffix: true }\n\n  # with Postgres array of urls, described [here](https://guides.rubyonrails.org/active_record_postgresql.html#array)\n  validates :homepage, url: { accept_array: true }\nend\n```\n\n### With ActiveModel\n\n```ruby\nclass Unicorn\n  include ActiveModel::Validations\n\n  attr_accessor :homepage\n\n  # with legacy syntax (the syntax above works also)\n  validates_url :homepage, allow_blank: true\nend\n```\n\n### With RSpec\n\nRequire the matcher in `spec_helper.rb` or `rails_helper.rb`:\n\n```ruby\nrequire 'validate_url/rspec_matcher'\n```\n\nIn your spec:\n\n```ruby\nRSpec.describe Unicorn\n  it { is_expected.to validate_url_of(:homepage) }\nend\n```\n\n### I18n\n\nThe default error message `is not a valid URL`.\nYou can pass the `message: \"my custom error\"` option to your validation to define your own, custom message.\n\n\n## Contributing\n\n\nBig thanks to Tanel Suurhans, Tarmo Lehtpuu, Steve Smith and all the [contributors](https://github.com/perfectline/validates_url/contributors)! We appreciate all your work on new features and bugfixes.\n\n## Credits\n\nValidates URL is created and maintained by [PerfectLine](http://www.perfectline.co), LLC.\n\n## License\n\nValidates URL is Copyright © 2010-2014 [PerfectLine](http://www.perfectline.co), LLC. It is free software, and may be\nredistributed under the terms specified in the LICENSE file.\n\n## How to push a new version\n\n1. Bump the version number automatically:\n\n```sh\nrake version:bump:patch\nrake gemspec\n```\n\n2. Manually update `validate_url.gemspec` to remove incorrect strings\n3. Update `CHANGELOG.md` to describe what is changing in the new version\n4. Commit and push the updated version information, gemspec and changelog to GitHub\n5. Build and push the gem to RubyGems\n\n```sh\ngem build validate_url.gemspec\ngem push validate_url-1.0.8.gem\n```\n","funding_links":[],"readme_doi_urls":[],"works":{},"citation_counts":{},"total_citations":0,"keywords_from_contributors":["activerecord","feature-flag","rack","rubocop","mvc","rubygem","activejob","sidekiq","marshalling","static-code-analysis"],"project_url":"https://ruby.ecosyste.ms/api/v1/projects/335","html_url":"https://ruby.ecosyste.ms/projects/335"}