Skip to content

docs(ruby): fix response access pattern + prune phantom destinations#31

Merged
johnpmitsch merged 1 commit into
mainfrom
jm/beta_fixes3
May 27, 2026
Merged

docs(ruby): fix response access pattern + prune phantom destinations#31
johnpmitsch merged 1 commit into
mainfrom
jm/beta_fixes3

Conversation

@johnpmitsch

Copy link
Copy Markdown
Collaborator

Summary

Several inaccuracies in the Ruby README caused new users to hit avoidable errors. Found while building a smoke-test suite against the gem.

  • Response shape: Document that responses are QuicknodeSdk::IndifferentHash (Hash + Hashie::Extensions::IndifferentAccess). Dot accessors (resp.data.id) don't work — use [] or dig. Added a Response shape section to Language conventions. Fixed the two example blocks (get_rate_limits, get_endpoint_urls) that used dot syntax. Replaced four stale Hashie::Mash mentions with IndifferentHash.
  • Pagination key naming: Admin list endpoints return pagination; streams/webhooks return pageInfo (camelCase). Noted explicitly; fixed list_streams Returns line that said page_info.
  • update_webhook_template parameters: Accepts only webhook_id, template_args_json, name?, notification_email?. The destination cannot be changed after creation — README previously implied otherwise.
  • Postgres destination: Fixed in all four READMEs to table_name/sslmode (matches the wire), not the previously-documented schema/table/use_ssl?. Updated Kafka row with the actual field set.
  • Phantom variants: Pruned Mysql, Mongo, Clickhouse, Snowflake, Redis from the destination tables in all four READMEs. These were never in DestinationAttributes — pure phantom documentation.
  • eventHashes camelCase: Marked correctly in the evm_contract_events template-args table — the API rejects snake_case.
  • rename_tag parameter: Fixed to id: (was documented as tag_id:); added a quick-reference table for the Admin client's delete/rename ID parameters.
  • CLAUDE.md: Updated to reflect the actual Ruby response type so future contributors don't repeat the Hashie::Mash mistake.

Docs-only — no code changes.

Test plan

  • cargo check && just lint pass locally (verified)
  • Skim the four destination tables to confirm they list only Webhook/S3/Azure/Postgres/Kafka
  • Skim the Ruby README's new Response shape + Pagination notes and the delete-method quick-reference table
  • Spot-check that the example snippets compile/run against the live SDK (e.g. get_endpoint_urls)

Several inaccuracies in the Ruby README caused new users to hit avoidable
errors when wiring up the SDK.

- Document that responses are `QuicknodeSdk::IndifferentHash` (Hash + indifferent access). Dot accessors (`resp.data.id`) do not work — use `[]` or `dig`. Add a Response shape section in Language conventions and fix the two example blocks (`get_rate_limits`, `get_endpoint_urls`) that used dot syntax. Replace four stale `Hashie::Mash` mentions with `IndifferentHash`.
- Note that admin list endpoints return `pagination` while streams/webhooks return `pageInfo` (camelCase on the wire). Fix `list_streams` Returns line that said `page_info`.
- `update_webhook_template` accepts only `webhook_id`, `template_args_json`, `name?`, `notification_email?`. The destination cannot be changed after creation — README previously implied otherwise.
- Fix the `Postgres` destination row in all four READMEs to use `table_name`/`sslmode` (matches the wire), not `schema`/`table`/`use_ssl?`. Update `Kafka` row with the actual field set.
- Prune `Mysql`, `Mongo`, `Clickhouse`, `Snowflake`, `Redis` from the destination tables in all four READMEs. These were never in the `DestinationAttributes` enum — pure phantom documentation. Public REST supports Webhook, S3, Azure, Postgres (plus Kafka in core).
- Mark `eventHashes` as camelCase in the `evm_contract_events` template-args table — the API rejects snake_case.
- Fix `rename_tag` parameter name (`id:`, not `tag_id:`); add a quick-reference table for the Admin client's delete/rename ID parameters.
- Update CLAUDE.md to reflect the actual Ruby response type so future contributors don't repeat the `Hashie::Mash` mistake.
@johnpmitsch johnpmitsch merged commit ad15cc2 into main May 27, 2026
4 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants