Conversation
Greptile SummaryThis PR updates the Ruby SDK to version 23.0.0, adding a substantial new The previously flagged Confidence Score: 4/5Safe to merge functionally but several model-layer P1 issues from prior review rounds remain unaddressed The get_platform dispatch regression from the prior review has been properly fixed. However, the previously-flagged P1 issues in Project.from (billing_limits and blocks nil crashes, platforms stored as raw hashes) and PlatformList.from (platforms not deserialized to typed models) are still present in the merged code. These represent real NoMethodError crashes for callers who receive API responses that omit billingLimits or blocks. lib/appwrite/models/project.rb and lib/appwrite/models/platform_list.rb require the nil guards and typed platform deserialization that were discussed in prior review threads Important Files Changed
Reviews (7): Last reviewed commit: "chore: update Ruby SDK to 23.0.0" | Re-trigger Greptile |
| @service_status_for_databases = service_status_for_databases | ||
| @service_status_for_tablesdb = service_status_for_tablesdb |
There was a problem hiding this comment.
to_map nil crash for billing_limits and blocks
to_map calls @billing_limits.to_map and @blocks.map { |it| it.to_map } directly. Once the nil guards recommended for from are applied (so @billing_limits and @blocks can be nil), calling to_map on a project deserialized from a response that omits those fields will raise NoMethodError. The guards need to be symmetric.
| @service_status_for_databases = service_status_for_databases | |
| @service_status_for_tablesdb = service_status_for_tablesdb | |
| "billingLimits": @billing_limits&.to_map, | |
| "blocks": @blocks&.map { |it| it.to_map }, |
This PR contains updates to the Ruby SDK for version 23.0.0.
What's Changed
security→tls,httpUser→authUsername,httpPass→authPassword,signatureKey→secretsecurity→tls,httpUser→authUsername,httpPass→authPasswordWebhooks#update_signaturetoWebhooks#update_secretwith new optionalsecretparameterClient#get_headersmethod to retrieve request headerssecretparameter to Webhook create and update methodsxOAuth provider toOAuthProviderenumuserTypefield toLogmodelpurgeparameter toupdate_collectionandupdate_tablefor cache invalidationKey,KeyList,Project,DevKey,MockNumber,AuthProvider,PlatformAndroid,PlatformApple,PlatformLinux,PlatformList,PlatformWeb,PlatformWindows,BillingLimits,BlockPlatformType,ProtocolId,ServiceIdBuildRuntime,Runtimeenums withdart-3.11andflutter-3.41Scopesenum withkeys_read,keys_write,platforms_read,platforms_writeX-Appwrite-Response-Formatheader to1.9.1