Sha256: 35938681e8f7827ec4e269ffe3347366bc1443ca3953bac5df8177d22ddcea8a
Contents?: true
Size: 1.03 KB
Versions: 7
Compression:
Stored size: 1.03 KB
Contents
# frozen_string_literal: true module Discorb # # Represents an activity for Gateway Command. # class Activity # @private # @return [{Symbol => Integer}] The mapping of activity types. 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 = TYPES[type] or raise ArgumentError, "Invalid activity type: #{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 def inspect "#<#{self.class} @type=#{@type}>" end end end
Version data entries
7 entries across 7 versions & 1 rubygems