Class: Pago::V2026_04::Models::BenefitGitHubRepositoryCreateProperties

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

Constant Summary collapse

JSON_KEYS =

Returns:

  • (Hash[Symbol, String])
{
  repository_owner: "repository_owner",
  repository_name: "repository_name",
  permission: "permission"
}.freeze
REQUIRED_KEYS =

Returns:

  • (Array[String])
["repository_owner", "repository_name", "permission"].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(repository_owner:, repository_name:, permission:) ⇒ BenefitGitHubRepositoryCreateProperties

Returns a new instance of BenefitGitHubRepositoryCreateProperties.

Parameters:

  • repository_owner: (String)
  • repository_name: (String)
  • permission: (String)


4300
4301
4302
4303
4304
4305
4306
4307
4308
4309
# File 'lib/pago/v2026_04/models.rb', line 4300

def initialize(
  repository_owner:,
  repository_name:,
  permission:
)
  super()
  assign(:repository_owner, repository_owner)
  assign(:repository_name, repository_name)
  assign(:permission, permission)
end

Instance Attribute Details

#permissionString (readonly)

The permission level to grant. Read more about roles and their permissions on GitHub documentation.

Returns:

  • (String)


4298
4299
4300
# File 'lib/pago/v2026_04/models.rb', line 4298

def permission
  @permission
end

#repository_nameString (readonly)

The name of the repository.

Returns:

  • (String)


4294
4295
4296
# File 'lib/pago/v2026_04/models.rb', line 4294

def repository_name
  @repository_name
end

#repository_ownerString (readonly)

The owner of the repository.

Returns:

  • (String)


4290
4291
4292
# File 'lib/pago/v2026_04/models.rb', line 4290

def repository_owner
  @repository_owner
end

Class Method Details

.from_json(data) ⇒ BenefitGitHubRepositoryCreateProperties?

Parameters:

  • data (Hash, String, nil)

Returns:



4313
4314
4315
4316
4317
4318
4319
4320
4321
4322
4323
4324
4325
4326
# File 'lib/pago/v2026_04/models.rb', line 4313

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(
      repository_owner: (data.key?("repository_owner") ? data["repository_owner"] : ::Pago::UNSET),
      repository_name: (data.key?("repository_name") ? data["repository_name"] : ::Pago::UNSET),
      permission: (data.key?("permission") ? data["permission"] : ::Pago::UNSET)
    ),
    data
  )
end