{"adoption": {"forks": 579, "observed_at": "2026-08-28T04:08:33.782514+00:00", "stars": 4049}, "canonical_url": "https://ross.abutalabs.com/products/webmock", "card": {"archived": false, "artifact_type": "library", "description": "Library for stubbing and setting expectations on HTTP requests in Ruby.", "domain": ["testing", "developer-tools", "web-development"], "enriched": true, "function": ["mocking", "testing", "http-client"], "health_score": 99, "homepage": null, "language": "Ruby", "license": "MIT", "license_family": "permissive", "maturity": "stable", "member_repos": ["bblimke/webmock"], "name": "bblimke/webmock", "platform": ["ruby", "jvm"], "pushed_at": "2026-08-22T20:20:21+00:00", "repo": "bblimke/webmock", "stars": 4049, "tags": ["http-stubbing", "request-mocking", "rspec", "minitest", "test-unit"], "topics": [], "urls": [], "use_cases": ["stub external HTTP requests in Ruby tests", "verify that my code made expected HTTP calls", "mock Net::HTTP and HTTParty responses in specs", "disable real network access during tests", "match requests by method, URI, headers, and body in tests"], "what_it_is": "WebMock is a Ruby library for stubbing HTTP requests and setting expectations on them at the HTTP client library level. It works with many popular Ruby HTTP clients and integrates with RSpec, MiniTest, and Test::Unit.", "when_to_avoid": ["you need to mock non-HTTP protocols like gRPC or WebSockets", "you want record-and-replay of real HTTP traffic (consider VCR instead)", "you are not working in Ruby"], "when_to_choose": ["you write Ruby tests that hit HTTP APIs and need deterministic, offline stubs", "you want request expectations and verification across multiple HTTP client libraries", "you need framework integration with RSpec, MiniTest, or Test::Unit"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/webmock", "repo": "bblimke/webmock", "role": "main", "score": 95}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:08:33.782514+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-29T18:23:41.071856+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "199d898cf37b51c0a61e95b7d8bd40f658fc28c54924dcba2926a7cf45ad7164", "fetched_at": "2026-08-28T04:08:33.782514+00:00", "kind": "readme", "missing": false, "url": "https://github.com/bblimke/webmock"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:08:33.782514+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-29T18:23:41.071856+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "199d898cf37b51c0a61e95b7d8bd40f658fc28c54924dcba2926a7cf45ad7164", "fetched_at": "2026-08-28T04:08:33.782514+00:00", "kind": "readme", "missing": false, "url": "https://github.com/bblimke/webmock"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-29T18:23:41.071856+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "199d898cf37b51c0a61e95b7d8bd40f658fc28c54924dcba2926a7cf45ad7164", "fetched_at": "2026-08-28T04:08:33.782514+00:00", "kind": "readme", "missing": false, "url": "https://github.com/bblimke/webmock"}], "taxonomy_version": 1}, "health_score": {"inputs": ["days_since_push", "days_since_release", "archived"], "kind": "computed", "method": "health_v1"}, "homepage": {"kind": "observed", "observed_at": "2026-08-28T04:08:33.782514+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:08:33.782514+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:08:33.782514+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-29T18:23:41.071856+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "199d898cf37b51c0a61e95b7d8bd40f658fc28c54924dcba2926a7cf45ad7164", "fetched_at": "2026-08-28T04:08:33.782514+00:00", "kind": "readme", "missing": false, "url": "https://github.com/bblimke/webmock"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:08:33.782514+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:08:33.782514+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-29T18:23:41.071856+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "199d898cf37b51c0a61e95b7d8bd40f658fc28c54924dcba2926a7cf45ad7164", "fetched_at": "2026-08-28T04:08:33.782514+00:00", "kind": "readme", "missing": false, "url": "https://github.com/bblimke/webmock"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:08:33.782514+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:08:33.782514+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:08:33.782514+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-29T18:23:41.071856+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "199d898cf37b51c0a61e95b7d8bd40f658fc28c54924dcba2926a7cf45ad7164", "fetched_at": "2026-08-28T04:08:33.782514+00:00", "kind": "readme", "missing": false, "url": "https://github.com/bblimke/webmock"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:08:33.782514+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:08:33.782514+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-29T18:23:41.071856+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "199d898cf37b51c0a61e95b7d8bd40f658fc28c54924dcba2926a7cf45ad7164", "fetched_at": "2026-08-28T04:08:33.782514+00:00", "kind": "readme", "missing": false, "url": "https://github.com/bblimke/webmock"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-29T18:23:41.071856+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "199d898cf37b51c0a61e95b7d8bd40f658fc28c54924dcba2926a7cf45ad7164", "fetched_at": "2026-08-28T04:08:33.782514+00:00", "kind": "readme", "missing": false, "url": "https://github.com/bblimke/webmock"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-29T18:23:41.071856+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "199d898cf37b51c0a61e95b7d8bd40f658fc28c54924dcba2926a7cf45ad7164", "fetched_at": "2026-08-28T04:08:33.782514+00:00", "kind": "readme", "missing": false, "url": "https://github.com/bblimke/webmock"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-29T18:23:41.071856+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "199d898cf37b51c0a61e95b7d8bd40f658fc28c54924dcba2926a7cf45ad7164", "fetched_at": "2026-08-28T04:08:33.782514+00:00", "kind": "readme", "missing": false, "url": "https://github.com/bblimke/webmock"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 99, "longevity": 100, "rhythm": 86}, "computed_at": "2026-09-03T02:20:16.233290+00:00", "flags": [], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 6144, "days_push": 11, "days_rel": 12, "gap_med": 71.5, "n_releases_24m": 5}, "score": 95, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}