Class: Pago::V2026_04::Models::BenefitDiscordProperties

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

Overview

Properties for a benefit of type discord.

Constant Summary collapse

JSON_KEYS =

Returns:

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

Returns:

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

Returns a new instance of BenefitDiscordProperties.

Parameters:

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


2884
2885
2886
2887
2888
2889
2890
2891
2892
2893
2894
2895
# File 'lib/pago/v2026_04/models.rb', line 2884

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

Instance Attribute Details

#guild_idString (readonly)

The ID of the Discord server.

Returns:

  • (String)


2871
2872
2873
# File 'lib/pago/v2026_04/models.rb', line 2871

def guild_id
  @guild_id
end

#guild_tokenString (readonly)

Returns:

  • (String)


2882
2883
2884
# File 'lib/pago/v2026_04/models.rb', line 2882

def guild_token
  @guild_token
end

#kick_memberBoolean (readonly)

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

Returns:

  • (Boolean)


2879
2880
2881
# File 'lib/pago/v2026_04/models.rb', line 2879

def kick_member
  @kick_member
end

#role_idString (readonly)

The ID of the Discord role to grant.

Returns:

  • (String)


2875
2876
2877
# File 'lib/pago/v2026_04/models.rb', line 2875

def role_id
  @role_id
end

Class Method Details

.from_json(data) ⇒ BenefitDiscordProperties?

Parameters:

  • data (Hash, String, nil)

Returns:



2899
2900
2901
2902
2903
2904
2905
2906
2907
2908
2909
2910
2911
2912
2913
# File 'lib/pago/v2026_04/models.rb', line 2899

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