docs(ruby): fix response access pattern + prune phantom destinations#31
Merged
Conversation
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.
markwu35
approved these changes
May 27, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Several inaccuracies in the Ruby README caused new users to hit avoidable errors. Found while building a smoke-test suite against the gem.
QuicknodeSdk::IndifferentHash(Hash+Hashie::Extensions::IndifferentAccess). Dot accessors (resp.data.id) don't work — use[]ordig. 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 staleHashie::Mashmentions withIndifferentHash.pagination; streams/webhooks returnpageInfo(camelCase). Noted explicitly; fixedlist_streamsReturns line that saidpage_info.update_webhook_templateparameters: Accepts onlywebhook_id,template_args_json,name?,notification_email?. The destination cannot be changed after creation — README previously implied otherwise.table_name/sslmode(matches the wire), not the previously-documentedschema/table/use_ssl?. UpdatedKafkarow with the actual field set.Mysql,Mongo,Clickhouse,Snowflake,Redisfrom the destination tables in all four READMEs. These were never inDestinationAttributes— pure phantom documentation.eventHashescamelCase: Marked correctly in theevm_contract_eventstemplate-args table — the API rejects snake_case.rename_tagparameter: Fixed toid:(was documented astag_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 theHashie::Mashmistake.Docs-only — no code changes.
Test plan
cargo check && just lintpass locally (verified)get_endpoint_urls)