Class: Rubycord::Application

Inherits:
Object
  • Object
show all
Includes:
IDObject
Defined in:
lib/rubycord/data/application.rb

Overview

OAuth Application information

Instance Attribute Summary collapse

Attributes included from IDObject

#id

Instance Method Summary collapse

Methods included from IDObject

#==, #creation_time, synthesise

Constructor Details

#initialize(data, bot) ⇒ Application

Returns a new instance of Application.



23
24
25
26
27
28
29
30
31
32
33
# File 'lib/rubycord/data/application.rb', line 23

def initialize(data, bot)
  @bot = bot

  @name = data["name"]
  @id = data["id"].to_i
  @description = data["description"]
  @icon_id = data["icon"]
  @rpc_origins = data["rpc_origins"]
  @flags = data["flags"]
  @owner = @bot.ensure_user(data["owner"])
end

Instance Attribute Details

#descriptionString (readonly)

Returns the application description.

Returns:

  • (String)

    the application description



10
11
12
# File 'lib/rubycord/data/application.rb', line 10

def description
  @description
end

#flagsInteger (readonly)

Returns:



16
17
18
# File 'lib/rubycord/data/application.rb', line 16

def flags
  @flags
end

#nameString (readonly)

Returns the application name.

Returns:

  • (String)

    the application name



7
8
9
# File 'lib/rubycord/data/application.rb', line 7

def name
  @name
end

#ownerUser (readonly)

Gets the user object of the owner. May be limited to username, discriminator, ID, and avatar if the bot cannot reach the owner.

Returns:

  • (User)

    the user object of the owner



21
22
23
# File 'lib/rubycord/data/application.rb', line 21

def owner
  @owner
end

#rpc_originsArray<String> (readonly)

Returns the application's origins permitted to use RPC.

Returns:

  • (Array<String>)

    the application's origins permitted to use RPC



13
14
15
# File 'lib/rubycord/data/application.rb', line 13

def rpc_origins
  @rpc_origins
end

Instance Method Details

#icon_urlString?

Utility function to get a application's icon URL.

Returns:

  • (String, nil)

    the URL of the icon image (nil if no image is set).



37
38
39
40
41
# File 'lib/rubycord/data/application.rb', line 37

def icon_url
  return nil if @icon_id.nil?

  API.app_icon_url(@id, @icon_id)
end

#inspectObject

The inspect method is overwritten to give more useful output



44
45
46
# File 'lib/rubycord/data/application.rb', line 44

def inspect
  "<Application name=#{@name} id=#{@id}>"
end