Class: Retab::Types::BaseModel
- Inherits:
-
Object
- Object
- Retab::Types::BaseModel
- Defined in:
- lib/retab/types/base_model.rb
Direct Known Subclasses
Actor, AllItemsMatchCondition, AnyItemMatchesCondition, ApiCallAttempt, ApiCallInvocation, ApiTrigger, ApproveReviewRequest, ArrayContainsCondition, AssertionFailure, AssertionResult, AssertionSchemaDep, AssertionSpec, AwaitingReviewRun, AwaitingReviewStepLifecycle, BBox, BetweenCondition, BlockTestBatchExecutionCounts, BlockTestLifecycleCounts, BlockTestOutcomeCounts, CancelWorkflowExperimentRunResponse, CancelWorkflowRequest, CancelWorkflowResponse, CancelledStepLifecycle, CancelledTerminal, Category, Classification, ClassificationConsensus, ClassificationDecision, ClassificationRequest, ClassificationWorkflowArtifact, CompleteFileUploadRequest, CompletedBlockExecutionLifecycle, ConditionEvaluationDetails, ConditionEvaluationPerItem, ConditionEvaluationResult, ConditionEvaluationSubCondition, ConditionalEvaluation, ContainCondition, ContainerContextData, CreateBlockExecutionRequest, CreateEditTemplateRequest, CreateExperimentRequest, CreateExperimentRunRequest, CreateJobRequest, CreateReviewVersionRequest, CreateUploadResponse, CreateWorkflowRequest, CreateWorkflowRunRequest, CreateWorkflowTestRequest, DeclarativeApplyResponse, DeclarativeExportResponse, DeclarativePlanChange, DeclarativePlanFieldChange, DeclarativePlanResourceChange, DeclarativePlanResponse, DeclarativePlanSummary, DeclarativeValidationResponse, DeclarativeWorkflowRequest, Edit, EditConfig, EditRequest, EditResult, EditTemplate, EditWorkflowArtifact, EmailTrigger, EndsWithCondition, EqualCondition, ErrorBlockExecutionLifecycle, ErrorDetails, ErrorStepLifecycle, ErrorTerminal, ErrorWorkflowExperimentResult, ExistCondition, ExperimentByDocumentMetricsResponse, ExperimentByDocumentTargetMetric, ExperimentByTargetDocumentMetric, ExperimentByTargetMetricsResponse, ExperimentConfusionFlowMetric, ExperimentConfusionSummaryAggregate, ExperimentDocumentCaptureRequest, ExperimentDocumentProvenance, ExperimentExtractSummaryAggregate, ExperimentMetricDocumentRef, ExperimentMetricsMissingError, ExperimentMetricsStaleError, ExperimentResult, ExperimentResultTiming, ExperimentRun, ExperimentRunTiming, ExperimentRunTrigger, ExperimentSummaryMetricDocument, ExperimentSummaryMetricsResponse, ExperimentTargetConfusionMetric, ExperimentVoteRow, ExperimentVotesMetricsResponse, ExplicitExperimentDocumentRequest, Extraction, ExtractionConsensus, ExtractionRequest, ExtractionWorkflowArtifact, FileHandleInput, FileLink, FileModel, FileRef, FormField, FunctionInvocation, GenerateSchemaRequest, HandlePayload, HttpValidationError, Job, JobError, JobResponse, JsonHandleInput, JsonSchemaValidCondition, LatestBlockTestRunSummary, LengthCompareCondition, LlmJudgedAsCondition, LlmNotJudgedAsCondition, ManualTrigger, ManualWorkflowTestSource, MatcheRegexCondition, MaterializedDocument, MetricsStaleErrorLastRun, NotContainsCondition, NotEqualsCondition, NotExistsCondition, NumberCompareCondition, ObjectContainsCondition, OutputTarget, Parse, ParseOutput, ParseRequest, ParseWorkflowArtifact, PartialSchema, Partition, PartitionChunk, PartitionChunkLikelihood, PartitionConsensus, PartitionRequest, PartitionWorkflowArtifact, PendingRun, PublishWorkflowRequest, QueuedStepLifecycle, RejectReviewRequest, RestartTrigger, RetabUsage, Review, ReviewAllOf, ReviewAlways, ReviewAnyOf, ReviewAnyRequiredFieldNull, ReviewAnySplitPagesLt, ReviewBoundaryConfidenceLt, ReviewBranchIn, ReviewCategoryIn, ReviewConfidenceLt, ReviewDecision, ReviewEvaluation, ReviewFieldConfidenceLt, ReviewJsonCondition, ReviewSplitCountNeq, ReviewTopMarginLt, ReviewValidationFailed, ReviewVersion, RunInputs, RunStepWorkflowTestSource, RunTiming, RunningRun, ScheduleTrigger, SimilarityGteCondition, SkippedBlockExecutionLifecycle, SourcesResponse, Split, SplitConsensus, SplitIouCondition, SplitRequest, SplitResult, SplitSubdocumentLikelihood, SplitWorkflowArtifact, StartWithCondition, StepArtifactRef, StoredBlockExecution, Subdocument, SubmitDecisionResponse, UpdateEditTemplateRequest, UpdateExperimentRequest, UpdateWorkflowBlockRequest, UpdateWorkflowRequest, UpdateWorkflowTestRequest, UploadFileRequest, ValidationError, VerdictSummary, WebhookTrigger, WhileLoopTermination, Workflow, WorkflowArtifact, WorkflowBlock, WorkflowBlockCreateRequest, WorkflowBlockPosition, WorkflowConfigBlock, WorkflowConfigEdge, WorkflowDiagnosisIssue, WorkflowDiagnosisResponse, WorkflowDiagnosisStats, WorkflowEdgeCreateRequest, WorkflowEdgeDoc, WorkflowEmailTrigger, WorkflowExperiment, WorkflowExportPayloadRequest, WorkflowExportPayloadResponse, WorkflowGraphDiagnosisRequest, WorkflowPublished, WorkflowRun, WorkflowRunStep, WorkflowSnapshotRef, WorkflowTest, WorkflowTestBlockTarget, WorkflowTestResult, WorkflowTestRun, WorkflowTestRunTiming
Instance Attribute Summary collapse
-
#last_response ⇒ Object
Returns the value of attribute last_response.
Class Method Summary collapse
-
.normalize(json) ⇒ Object
Normalize incoming ‘json` into a Hash with symbol keys.
Instance Method Summary collapse
Instance Attribute Details
#last_response ⇒ Object
Returns the value of attribute last_response.
26 27 28 |
# File 'lib/retab/types/base_model.rb', line 26 def last_response @last_response end |
Class Method Details
.normalize(json) ⇒ Object
Normalize incoming ‘json` into a Hash with symbol keys. The spec-derived `initialize` body reads `hash` directly.
30 31 32 33 34 35 |
# File 'lib/retab/types/base_model.rb', line 30 def self.normalize(json) return {} if json.nil? return json.transform_keys(&:to_sym) if json.is_a?(Hash) return JSON.parse(json, symbolize_names: true) if json.is_a?(String) raise ArgumentError, "cannot normalize #{json.class} into a model hash" end |
Instance Method Details
#inspect ⇒ Object
51 52 53 54 |
# File 'lib/retab/types/base_model.rb', line 51 def inspect attrs = to_h.map { |k, v| "#{k}=#{v.inspect}" }.join(' ') "#<#{self.class.name} #{attrs}>" end |
#to_h ⇒ Object
37 38 39 40 41 42 43 44 45 |
# File 'lib/retab/types/base_model.rb', line 37 def to_h hash_attrs = self.class.const_defined?(:HASH_ATTRS) ? self.class.const_get(:HASH_ATTRS) : {} out = {} hash_attrs.each do |wire_key, attr| value = instance_variable_get("@#{attr}") out[wire_key] = serialize(value) end out end |
#to_json(*args) ⇒ Object
47 48 49 |
# File 'lib/retab/types/base_model.rb', line 47 def to_json(*args) to_h.to_json(*args) end |