Class: Pago::V2026_04::Models::BenefitDiscordCreateProperties

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

Overview

Properties to create a benefit of type discord.

Constant Summary collapse

JSON_KEYS =

Returns:

  • (Hash[Symbol, String])
{
  guild_token: "guild_token",
  role_id: "role_id",
  kick_member: "kick_member"
}.freeze
REQUIRED_KEYS =

Returns:

  • (Array[String])
["guild_token", "role_id", "kick_member"].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(guild_token:, role_id:, kick_member:) ⇒ BenefitDiscordCreateProperties

Returns a new instance of BenefitDiscordCreateProperties.

Parameters:

  • guild_token: (String)
  • role_id: (String)
  • kick_member: (Boolean)


2830
2831
2832
2833
2834
2835
2836
2837
2838
2839
# File 'lib/pago/v2026_04/models.rb', line 2830

def initialize(
  guild_token:,
  role_id:,
  kick_member:
)
  super()
  assign(:guild_token, guild_token)
  assign(:role_id, role_id)
  assign(:kick_member, kick_member)
end

Instance Attribute Details

#guild_tokenString (readonly)

Returns:

  • (String)


2820
2821
2822
# File 'lib/pago/v2026_04/models.rb', line 2820

def guild_token
  @guild_token
end

#kick_memberBoolean (readonly)

Whether to kick the member from the Discord server on revocation.

Returns:

  • (Boolean)


2828
2829
2830
# File 'lib/pago/v2026_04/models.rb', line 2828

def kick_member
  @kick_member
end

#role_idString (readonly)

The ID of the Discord role to grant.

Returns:

  • (String)


2824
2825
2826
# File 'lib/pago/v2026_04/models.rb', line 2824

def role_id
  @role_id
end

Class Method Details

.from_json(data) ⇒ BenefitDiscordCreateProperties?

Parameters:

  • data (Hash, String, nil)

Returns:



2843
2844
2845
2846
2847
2848
2849
2850
2851
2852
2853
2854
2855
2856
# File 'lib/pago/v2026_04/models.rb', line 2843

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(
      guild_token: (data.key?("guild_token") ? data["guild_token"] : ::Pago::UNSET),
      role_id: (data.key?("role_id") ? data["role_id"] : ::Pago::UNSET),
      kick_member: (data.key?("kick_member") ? data["kick_member"] : ::Pago::UNSET)
    ),
    data
  )
end