Module: OpencodeClient::Event
- Defined in:
- lib/opencode_client/models/event.rb
Class Method Summary collapse
-
.build(data) ⇒ Object
Builds the object.
-
.openapi_any_of ⇒ Object
List of class defined in anyOf (OpenAPI v3).
Class Method Details
.build(data) ⇒ Object
Builds the object
63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 |
# File 'lib/opencode_client/models/event.rb', line 63 def build(data) # Go through the list of anyOf items and attempt to identify the appropriate one. # Note: # - No advanced validation of types in some cases (e.g. "x: { type: string }" will happily match { x: 123 }) # due to the way the deserialization is made in the base_object template (it just casts without verifying). # - TODO: scalar values are de facto behaving as if they were nullable. # - TODO: logging when debugging is set. openapi_any_of.each do |klass| begin next if klass == :AnyType # "nullable: true" return find_and_cast_into_type(klass, data) rescue # rescue all errors so we keep iterating even if the current item lookup raises end end openapi_any_of.include?(:AnyType) ? data : nil end |
.openapi_any_of ⇒ Object
List of class defined in anyOf (OpenAPI v3)
20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 |
# File 'lib/opencode_client/models/event.rb', line 20 def openapi_any_of [ :'EventCommandExecuted', :'EventFileEdited', :'EventFileWatcherUpdated', :'EventGlobalDisposed', :'EventInstallationUpdateAvailable', :'EventInstallationUpdated', :'EventLspClientDiagnostics', :'EventLspUpdated', :'EventMcpToolsChanged', :'EventMessagePartRemoved', :'EventMessagePartUpdated', :'EventMessageRemoved', :'EventMessageUpdated', :'EventPermissionReplied', :'EventPermissionUpdated', :'EventProjectUpdated', :'EventPtyCreated', :'EventPtyDeleted', :'EventPtyExited', :'EventPtyUpdated', :'EventServerConnected', :'EventServerInstanceDisposed', :'EventSessionCompacted', :'EventSessionCreated', :'EventSessionDeleted', :'EventSessionDiff', :'EventSessionError', :'EventSessionIdle', :'EventSessionStatus', :'EventSessionUpdated', :'EventTodoUpdated', :'EventTuiCommandExecute', :'EventTuiPromptAppend', :'EventTuiToastShow', :'EventVcsBranchUpdated' ] end |