Sha256: da398d83129ddb80834daaaac0f194f99a76c16eda8c53696669a40e2976c170

Contents?: true

Size: 931 Bytes

Versions: 17

Compression:

Stored size: 931 Bytes

Contents

# frozen_string_literal: true

module Discorb
  #
  # Represents an activity for Gateway Command.
  #
  class Activity
    @types = {
      playing: 0,
      streaming: 1,
      listening: 2,
      watching: 3,
      competing: 5,
    }.freeze

    #
    # Initializes a new Activity.
    #
    # @param [String] name The name of the activity.
    # @param [:playing, :streaming, :listening, :watching, :competing] type The type of activity.
    # @param [String] url The URL of the activity.
    #
    def initialize(name, type = :playing, url = nil)
      @name = name
      @type = self.class.types[type]
      @url = url
    end

    #
    # Converts the activity to a hash.
    #
    # @return [Hash] A hash representation of the activity.
    #
    def to_hash
      {
        name: @name,
        type: @type,
        url: @url,
      }
    end

    class << self
      # @private
      attr_reader :types
    end
  end
end

Version data entries

17 entries across 17 versions & 1 rubygems

Version Path
discorb-0.12.4 lib/discorb/gateway_requests.rb
discorb-0.12.3 lib/discorb/gateway_requests.rb
discorb-0.12.2 lib/discorb/gateway_requests.rb
discorb-0.12.1 lib/discorb/gateway_requests.rb
discorb-0.12.0 lib/discorb/gateway_requests.rb
discorb-0.11.4 lib/discorb/gateway_requests.rb
discorb-0.11.3 lib/discorb/gateway_requests.rb
discorb-0.11.2 lib/discorb/gateway_requests.rb
discorb-0.11.1 lib/discorb/gateway_requests.rb
discorb-0.11.0 lib/discorb/gateway_requests.rb
discorb-0.10.3 lib/discorb/gateway_requests.rb
discorb-0.10.2 lib/discorb/gateway_requests.rb
discorb-0.10.1 lib/discorb/gateway_requests.rb
discorb-0.10.0 lib/discorb/gateway_requests.rb
discorb-0.9.6 lib/discorb/gateway_requests.rb
discorb-0.9.5 lib/discorb/gateway_requests.rb
discorb-0.9.4 lib/discorb/gateway_requests.rb