Class: Vellum::WorkflowReleaseTagRead

Inherits:
Object
  • Object
show all
Defined in:
lib/vellum_ai/types/workflow_release_tag_read.rb

Constant Summary collapse

OMIT =
Object.new

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(name:, source:, history_item:, release:, additional_properties: nil) ⇒ Vellum::WorkflowReleaseTagRead



36
37
38
39
40
41
42
43
# File 'lib/vellum_ai/types/workflow_release_tag_read.rb', line 36

def initialize(name:, source:, history_item:, release:, additional_properties: nil)
  @name = name
  @source = source
  @history_item = history_item
  @release = release
  @additional_properties = additional_properties
  @_field_set = { "name": name, "source": source, "history_item": history_item, "release": release }
end

Instance Attribute Details

#additional_properties ⇒ OpenStruct (readonly)



21
22
23
# File 'lib/vellum_ai/types/workflow_release_tag_read.rb', line 21

def additional_properties
  @additional_properties
end

#history_item ⇒ Vellum::WorkflowReleaseTagWorkflowDeploymentHistoryItem (readonly)



17
18
19
# File 'lib/vellum_ai/types/workflow_release_tag_read.rb', line 17

def history_item
  @history_item
end

#name ⇒ String (readonly)



11
12
13
# File 'lib/vellum_ai/types/workflow_release_tag_read.rb', line 11

def name
  @name
end

#release ⇒ Vellum::ReleaseTagRelease (readonly)



19
20
21
# File 'lib/vellum_ai/types/workflow_release_tag_read.rb', line 19

def release
  @release
end

#source ⇒ Object (readonly)

  • USER - User


15
16
17
# File 'lib/vellum_ai/types/workflow_release_tag_read.rb', line 15

def source
  @source
end

Class Method Details

.from_json(json_object:) ⇒ Vellum::WorkflowReleaseTagRead



48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
# File 'lib/vellum_ai/types/workflow_release_tag_read.rb', line 48

def self.from_json(json_object:)
  struct = JSON.parse(json_object, object_class: OpenStruct)
  parsed_json = JSON.parse(json_object)
  name = parsed_json["name"]
  source = parsed_json["source"]
  unless parsed_json["history_item"].nil?
    history_item = parsed_json["history_item"].to_json
    history_item = Vellum::WorkflowReleaseTagWorkflowDeploymentHistoryItem.from_json(json_object: history_item)
  else
    history_item = nil
  end
  unless parsed_json["release"].nil?
    release = parsed_json["release"].to_json
    release = Vellum::ReleaseTagRelease.from_json(json_object: release)
  else
    release = nil
  end
  new(
    name: name,
    source: source,
    history_item: history_item,
    release: release,
    additional_properties: struct
  )
end

.validate_raw(obj:) ⇒ Void



85
86
87
88
89
90
# File 'lib/vellum_ai/types/workflow_release_tag_read.rb', line 85

def self.validate_raw(obj:)
  obj.name.is_a?(String) != false || raise("Passed value for field obj.name is not the expected type, validation failed.")
  obj.source.is_a?(Vellum::ReleaseTagSource) != false || raise("Passed value for field obj.source is not the expected type, validation failed.")
  Vellum::WorkflowReleaseTagWorkflowDeploymentHistoryItem.validate_raw(obj: obj.history_item)
  Vellum::ReleaseTagRelease.validate_raw(obj: obj.release)
end

Instance Method Details

#to_json ⇒ String



76
77
78
# File 'lib/vellum_ai/types/workflow_release_tag_read.rb', line 76

def to_json
  @_field_set&.to_json
end