Sha256: b6434a4fca84f8def184861302830c6e346ecc56e5828c5a20fac8f0da18f855

Contents?: true

Size: 805 Bytes

Versions: 13

Compression:

Stored size: 805 Bytes

Contents

# frozen_string_literal: true

module RocketChat
  #
  # Rocket.Chat PresenceStatus
  #
  class PresenceStatus
    # Raw presence status data
    attr_reader :data

    #
    # @param [Hash] data Raw presence status data
    #
    def initialize(data)
      @data = Util.stringify_hash_keys data
    end

    # Presence
    def presence
      data['presence']
    end

    # Connection status
    def connection_status
      data['connectionStatus']
    end

    # Last login
    def last_login
      Time.parse data['lastLogin']
    rescue ArgumentError, TypeError
      nil
    end

    def inspect
      format(
        '#<%<class_name>s:0x%<object_id>p @presence="%<presence>s">',
        class_name: self.class.name,
        object_id: object_id,
        presence: presence
      )
    end
  end
end

Version data entries

13 entries across 13 versions & 1 rubygems

Version Path
rocketchat-0.3.1 lib/rocket_chat/presence_status.rb
rocketchat-0.2.7 lib/rocket_chat/presence_status.rb
rocketchat-0.2.6 lib/rocket_chat/presence_status.rb
rocketchat-0.2.5 lib/rocket_chat/presence_status.rb
rocketchat-0.2.4 lib/rocket_chat/presence_status.rb
rocketchat-0.2.3 lib/rocket_chat/presence_status.rb
rocketchat-0.2.2 lib/rocket_chat/presence_status.rb
rocketchat-0.2.1 lib/rocket_chat/presence_status.rb
rocketchat-0.1.23 lib/rocket_chat/presence_status.rb
rocketchat-0.1.22 lib/rocket_chat/presence_status.rb
rocketchat-0.1.21 lib/rocket_chat/presence_status.rb
rocketchat-0.1.20 lib/rocket_chat/presence_status.rb
rocketchat-0.1.19 lib/rocket_chat/presence_status.rb