{"adoption": {"forks": 332, "observed_at": "2026-08-28T04:08:12.065406+00:00", "stars": 3632}, "canonical_url": "https://ross.abutalabs.com/products/rabl", "card": {"archived": false, "artifact_type": "library", "description": "General ruby templating with json, bson, xml, plist and msgpack support", "domain": ["web-development", "backend", "apis"], "enriched": true, "function": ["templating", "serialization", "api-framework"], "health_score": 74, "homepage": "http://blog.codepath.com/2011/06/27/building-a-platform-api-on-rails/", "language": "Ruby", "license": "MIT", "license_family": "permissive", "maturity": "stable", "member_repos": ["nesquena/rabl"], "name": "nesquena/rabl", "platform": ["ruby"], "pushed_at": "2026-03-18T20:00:35+00:00", "repo": "nesquena/rabl", "stars": 3632, "tags": ["-templating", "api-builder", "rails", "padrino", "xml", "msgpack", "bson", "plist", "web-server"], "topics": [], "urls": [], "use_cases": ["generate custom JSON API responses in Rails", "serialize ActiveRecord objects with renamed or aliased attributes", "render partial templates to reduce duplication in API views", "conditionally include nodes in API output", "build nested API representations from model associations", "output MessagePack or BSON instead of JSON"], "what_it_is": "RABL (Ruby API Builder Language) is a Ruby templating system for Rails and Padrino that generates JSON, XML, MessagePack, PList, and BSON API responses. It provides an expressive view-layer DSL for building API representations that don't match database schemas directly.", "when_to_avoid": ["simple APIs where ActiveRecord's to_ suffices", "non-Ruby stacks or frameworks without RABL integration", "projects preferring serializer gems like active_model_serializers or jbuilder"], "when_to_choose": ["you need complex JSON shapes that don't match your database schema", "you want API representation logic kept in the view layer per MVC", "you use Rails or Padrino and need multiple serialization formats"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/rabl", "repo": "nesquena/rabl", "role": "main", "score": 66}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:08:12.065406+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-29T18:31:52.599764+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "270d4938085206dc59ece60d816494b3dc9b8b57063bdafee22aaa2a6f26cf72", "fetched_at": "2026-08-28T04:08:12.065406+00:00", "kind": "readme", "missing": false, "url": "https://github.com/nesquena/rabl"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:08:12.065406+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-29T18:31:52.599764+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "270d4938085206dc59ece60d816494b3dc9b8b57063bdafee22aaa2a6f26cf72", "fetched_at": "2026-08-28T04:08:12.065406+00:00", "kind": "readme", "missing": false, "url": "https://github.com/nesquena/rabl"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-29T18:31:52.599764+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "270d4938085206dc59ece60d816494b3dc9b8b57063bdafee22aaa2a6f26cf72", "fetched_at": "2026-08-28T04:08:12.065406+00:00", "kind": "readme", "missing": false, "url": "https://github.com/nesquena/rabl"}], "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:12.065406+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:08:12.065406+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:08:12.065406+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-29T18:31:52.599764+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "270d4938085206dc59ece60d816494b3dc9b8b57063bdafee22aaa2a6f26cf72", "fetched_at": "2026-08-28T04:08:12.065406+00:00", "kind": "readme", "missing": false, "url": "https://github.com/nesquena/rabl"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:08:12.065406+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:08:12.065406+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-29T18:31:52.599764+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "270d4938085206dc59ece60d816494b3dc9b8b57063bdafee22aaa2a6f26cf72", "fetched_at": "2026-08-28T04:08:12.065406+00:00", "kind": "readme", "missing": false, "url": "https://github.com/nesquena/rabl"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:08:12.065406+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:08:12.065406+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:08:12.065406+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-29T18:31:52.599764+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "270d4938085206dc59ece60d816494b3dc9b8b57063bdafee22aaa2a6f26cf72", "fetched_at": "2026-08-28T04:08:12.065406+00:00", "kind": "readme", "missing": false, "url": "https://github.com/nesquena/rabl"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:08:12.065406+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:08:12.065406+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-29T18:31:52.599764+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "270d4938085206dc59ece60d816494b3dc9b8b57063bdafee22aaa2a6f26cf72", "fetched_at": "2026-08-28T04:08:12.065406+00:00", "kind": "readme", "missing": false, "url": "https://github.com/nesquena/rabl"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-29T18:31:52.599764+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "270d4938085206dc59ece60d816494b3dc9b8b57063bdafee22aaa2a6f26cf72", "fetched_at": "2026-08-28T04:08:12.065406+00:00", "kind": "readme", "missing": false, "url": "https://github.com/nesquena/rabl"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-29T18:31:52.599764+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "270d4938085206dc59ece60d816494b3dc9b8b57063bdafee22aaa2a6f26cf72", "fetched_at": "2026-08-28T04:08:12.065406+00:00", "kind": "readme", "missing": false, "url": "https://github.com/nesquena/rabl"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-29T18:31:52.599764+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "270d4938085206dc59ece60d816494b3dc9b8b57063bdafee22aaa2a6f26cf72", "fetched_at": "2026-08-28T04:08:12.065406+00:00", "kind": "readme", "missing": false, "url": "https://github.com/nesquena/rabl"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 72, "longevity": 100, "rhythm": 40}, "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": 5627, "days_push": 168, "days_rel": 645, "gap_med": 0, "n_releases_24m": 4}, "score": 66, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}