Class: Merge::Ats::AccountIntegration

Inherits:
Object
  • Object
show all
Defined in:
lib/merge_ruby_client/ats/types/account_integration.rb

Constant Summary collapse

OMIT =
Object.new

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(name:, abbreviated_name: OMIT, categories: OMIT, image: OMIT, square_image: OMIT, color: OMIT, slug: OMIT, api_endpoints_to_documentation_urls: OMIT, webhook_setup_guide_url: OMIT, category_beta_status: OMIT, additional_properties: nil) ⇒ Merge::Ats::AccountIntegration



68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
# File 'lib/merge_ruby_client/ats/types/account_integration.rb', line 68

def initialize(name:, abbreviated_name: OMIT, categories: OMIT, image: OMIT, square_image: OMIT, color: OMIT,
               slug: OMIT, api_endpoints_to_documentation_urls: OMIT, webhook_setup_guide_url: OMIT, category_beta_status: OMIT, additional_properties: nil)
  @name = name
  @abbreviated_name = abbreviated_name if abbreviated_name != OMIT
  @categories = categories if categories != OMIT
  @image = image if image != OMIT
  @square_image = square_image if square_image != OMIT
  @color = color if color != OMIT
  @slug = slug if slug != OMIT
  if api_endpoints_to_documentation_urls != OMIT
    @api_endpoints_to_documentation_urls = api_endpoints_to_documentation_urls
  end
  @webhook_setup_guide_url = webhook_setup_guide_url if webhook_setup_guide_url != OMIT
  @category_beta_status = category_beta_status if category_beta_status != OMIT
  @additional_properties = additional_properties
  @_field_set = {
    "name": name,
    "abbreviated_name": abbreviated_name,
    "categories": categories,
    "image": image,
    "square_image": square_image,
    "color": color,
    "slug": slug,
    "api_endpoints_to_documentation_urls": api_endpoints_to_documentation_urls,
    "webhook_setup_guide_url": webhook_setup_guide_url,
    "category_beta_status": category_beta_status
  }.reject do |_k, v|
    v == OMIT
  end
end

Instance Attribute Details

#abbreviated_nameString (readonly)



16
17
18
# File 'lib/merge_ruby_client/ats/types/account_integration.rb', line 16

def abbreviated_name
  @abbreviated_name
end

#additional_propertiesOpenStruct (readonly)



40
41
42
# File 'lib/merge_ruby_client/ats/types/account_integration.rb', line 40

def additional_properties
  @additional_properties
end

#api_endpoints_to_documentation_urlsHash{String => Object} (readonly)



34
35
36
# File 'lib/merge_ruby_client/ats/types/account_integration.rb', line 34

def api_endpoints_to_documentation_urls
  @api_endpoints_to_documentation_urls
end

#categoriesArray<Merge::Ats::CategoriesEnum> (readonly)



19
20
21
# File 'lib/merge_ruby_client/ats/types/account_integration.rb', line 19

def categories
  @categories
end

#category_beta_statusHash{String => Object} (readonly)



38
39
40
# File 'lib/merge_ruby_client/ats/types/account_integration.rb', line 38

def category_beta_status
  @category_beta_status
end

#colorString (readonly)



26
27
28
# File 'lib/merge_ruby_client/ats/types/account_integration.rb', line 26

def color
  @color
end

#imageString (readonly)



21
22
23
# File 'lib/merge_ruby_client/ats/types/account_integration.rb', line 21

def image
  @image
end

#nameString (readonly)



11
12
13
# File 'lib/merge_ruby_client/ats/types/account_integration.rb', line 11

def name
  @name
end

#slugString (readonly)



28
29
30
# File 'lib/merge_ruby_client/ats/types/account_integration.rb', line 28

def slug
  @slug
end

#square_imageString (readonly)



23
24
25
# File 'lib/merge_ruby_client/ats/types/account_integration.rb', line 23

def square_image
  @square_image
end

#webhook_setup_guide_urlString (readonly)



36
37
38
# File 'lib/merge_ruby_client/ats/types/account_integration.rb', line 36

def webhook_setup_guide_url
  @webhook_setup_guide_url
end

Class Method Details

.from_json(json_object:) ⇒ Merge::Ats::AccountIntegration

Deserialize a JSON object to an instance of AccountIntegration



103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
# File 'lib/merge_ruby_client/ats/types/account_integration.rb', line 103

def self.from_json(json_object:)
  struct = JSON.parse(json_object, object_class: OpenStruct)
  parsed_json = JSON.parse(json_object)
  name = parsed_json["name"]
  abbreviated_name = parsed_json["abbreviated_name"]
  categories = parsed_json["categories"]
  image = parsed_json["image"]
  square_image = parsed_json["square_image"]
  color = parsed_json["color"]
  slug = parsed_json["slug"]
  api_endpoints_to_documentation_urls = parsed_json["api_endpoints_to_documentation_urls"]
  webhook_setup_guide_url = parsed_json["webhook_setup_guide_url"]
  category_beta_status = parsed_json["category_beta_status"]
  new(
    name: name,
    abbreviated_name: abbreviated_name,
    categories: categories,
    image: image,
    square_image: square_image,
    color: color,
    slug: slug,
    api_endpoints_to_documentation_urls: api_endpoints_to_documentation_urls,
    webhook_setup_guide_url: webhook_setup_guide_url,
    category_beta_status: category_beta_status,
    additional_properties: struct
  )
end

.validate_raw(obj:) ⇒ Void

Leveraged for Union-type generation, validate_raw attempts to parse the given

hash and check each fields type against the current object's property
definitions.


144
145
146
147
148
149
150
151
152
153
154
155
# File 'lib/merge_ruby_client/ats/types/account_integration.rb', line 144

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.abbreviated_name&.is_a?(String) != false || raise("Passed value for field obj.abbreviated_name is not the expected type, validation failed.")
  obj.categories&.is_a?(Array) != false || raise("Passed value for field obj.categories is not the expected type, validation failed.")
  obj.image&.is_a?(String) != false || raise("Passed value for field obj.image is not the expected type, validation failed.")
  obj.square_image&.is_a?(String) != false || raise("Passed value for field obj.square_image is not the expected type, validation failed.")
  obj.color&.is_a?(String) != false || raise("Passed value for field obj.color is not the expected type, validation failed.")
  obj.slug&.is_a?(String) != false || raise("Passed value for field obj.slug is not the expected type, validation failed.")
  obj.api_endpoints_to_documentation_urls&.is_a?(Hash) != false || raise("Passed value for field obj.api_endpoints_to_documentation_urls is not the expected type, validation failed.")
  obj.webhook_setup_guide_url&.is_a?(String) != false || raise("Passed value for field obj.webhook_setup_guide_url is not the expected type, validation failed.")
  obj.category_beta_status&.is_a?(Hash) != false || raise("Passed value for field obj.category_beta_status is not the expected type, validation failed.")
end

Instance Method Details

#to_json(*_args) ⇒ String

Serialize an instance of AccountIntegration to a JSON object



134
135
136
# File 'lib/merge_ruby_client/ats/types/account_integration.rb', line 134

def to_json(*_args)
  @_field_set&.to_json
end