Class: Pago::V2026_04::Models::CustomFieldCreateSelect

Inherits:
Model
  • Object
show all
Defined in:
lib/pago/v2026_04/models.rb,
sig/pago/v2026_04/generated.rbs

Overview

Schema to create a custom field of type select.

Constant Summary collapse

JSON_KEYS =

Returns:

  • (Hash[Symbol, String])
{
  metadata: "metadata",
  type: "type",
  slug: "slug",
  name: "name",
  organization_id: "organization_id",
  properties: "properties"
}.freeze
REQUIRED_KEYS =

Returns:

  • (Array[String])
["type", "slug", "name", "properties"].freeze

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Methods inherited from Model

#==, #[], #field_set?, #hash, #inspect, json_keys, required_json_keys, #to_json, #to_json_hash, wrap_raw

Constructor Details

#initialize(metadata: ::Pago::UNSET, type:, slug:, name:, organization_id: ::Pago::UNSET, properties:) ⇒ CustomFieldCreateSelect

Returns a new instance of CustomFieldCreateSelect.

Parameters:

  • metadata: (Hash[String, untyped], nil) (defaults to: ::Pago::UNSET)
  • type: (String)
  • slug: (String)
  • name: (String)
  • organization_id: (String, nil) (defaults to: ::Pago::UNSET)
  • properties: (Models::CustomFieldSelectProperties)


13576
13577
13578
13579
13580
13581
13582
13583
13584
13585
13586
13587
13588
13589
13590
13591
# File 'lib/pago/v2026_04/models.rb', line 13576

def initialize(
  metadata: ::Pago::UNSET,
  type:,
  slug:,
  name:,
  organization_id: ::Pago::UNSET,
  properties:
)
  super()
  assign(:metadata, )
  assign(:type, type)
  assign(:slug, slug)
  assign(:name, name)
  assign(:organization_id, organization_id)
  assign(:properties, properties)
end

Instance Attribute Details

#metadataHash{String => String, Integer, Float, Boolean} (readonly)

Key-value object allowing you to store additional information.

The key must be a string with a maximum length of 40 characters. The value must be either:

  • A string with a maximum length of 500 characters
  • An integer
  • A floating-point number
  • A boolean

You can store up to 50 key-value pairs.

Returns:

  • (Hash{String => String, Integer, Float, Boolean})


13556
13557
13558
# File 'lib/pago/v2026_04/models.rb', line 13556

def 
  @metadata
end

#nameString (readonly)

Name of the custom field.

Returns:

  • (String)


13567
13568
13569
# File 'lib/pago/v2026_04/models.rb', line 13567

def name
  @name
end

#organization_idString? (readonly)

The ID of the organization owning the custom field. Required unless you use an organization token.

Returns:

  • (String, nil)


13571
13572
13573
# File 'lib/pago/v2026_04/models.rb', line 13571

def organization_id
  @organization_id
end

#propertiesModels::CustomFieldSelectProperties (readonly)



13574
13575
13576
# File 'lib/pago/v2026_04/models.rb', line 13574

def properties
  @properties
end

#slugString (readonly)

Identifier of the custom field. It'll be used as key when storing the value. Must be unique across the organization.It can only contain ASCII letters, numbers and hyphens.

Returns:

  • (String)


13563
13564
13565
# File 'lib/pago/v2026_04/models.rb', line 13563

def slug
  @slug
end

#typeString (readonly)

Returns:

  • (String)


13559
13560
13561
# File 'lib/pago/v2026_04/models.rb', line 13559

def type
  @type
end

Class Method Details

.from_json(data) ⇒ CustomFieldCreateSelect?

Parameters:

  • data (Hash, String, nil)

Returns:



13595
13596
13597
13598
13599
13600
13601
13602
13603
13604
13605
13606
13607
13608
13609
13610
13611
# File 'lib/pago/v2026_04/models.rb', line 13595

def self.from_json(data)
  data = ::JSON.parse(data) if data.is_a?(String)
  data = ::Pago::Serde.object(data)
  return nil if data.nil?

  wrap_raw(
    new(
      metadata: (data.key?("metadata") ? data["metadata"] : ::Pago::UNSET),
      type: (data.key?("type") ? data["type"] : ::Pago::UNSET),
      slug: (data.key?("slug") ? data["slug"] : ::Pago::UNSET),
      name: (data.key?("name") ? data["name"] : ::Pago::UNSET),
      organization_id: (data.key?("organization_id") ? data["organization_id"] : ::Pago::UNSET),
      properties: (data.key?("properties") ? Models::CustomFieldSelectProperties.from_json(data["properties"]) : ::Pago::UNSET)
    ),
    data
  )
end