Class: Pago::V2026_04::Models::CustomFieldCreateText

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 text.

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:) ⇒ CustomFieldCreateText

Returns a new instance of CustomFieldCreateText.

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::CustomFieldTextProperties)


13658
13659
13660
13661
13662
13663
13664
13665
13666
13667
13668
13669
13670
13671
13672
13673
# File 'lib/pago/v2026_04/models.rb', line 13658

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})


13638
13639
13640
# File 'lib/pago/v2026_04/models.rb', line 13638

def 
  @metadata
end

#nameString (readonly)

Name of the custom field.

Returns:

  • (String)


13649
13650
13651
# File 'lib/pago/v2026_04/models.rb', line 13649

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)


13653
13654
13655
# File 'lib/pago/v2026_04/models.rb', line 13653

def organization_id
  @organization_id
end

#propertiesModels::CustomFieldTextProperties (readonly)



13656
13657
13658
# File 'lib/pago/v2026_04/models.rb', line 13656

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)


13645
13646
13647
# File 'lib/pago/v2026_04/models.rb', line 13645

def slug
  @slug
end

#typeString (readonly)

Returns:

  • (String)


13641
13642
13643
# File 'lib/pago/v2026_04/models.rb', line 13641

def type
  @type
end

Class Method Details

.from_json(data) ⇒ CustomFieldCreateText?

Parameters:

  • data (Hash, String, nil)

Returns:



13677
13678
13679
13680
13681
13682
13683
13684
13685
13686
13687
13688
13689
13690
13691
13692
13693
# File 'lib/pago/v2026_04/models.rb', line 13677

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::CustomFieldTextProperties.from_json(data["properties"]) : ::Pago::UNSET)
    ),
    data
  )
end