Sha256: b50b035f379f71311647eea1e7ac747099f4c68e0b15b5e9f95f74268db6d157

Contents?: true

Size: 1.34 KB

Versions: 13

Compression:

Stored size: 1.34 KB

Contents

module RocketChat
  #
  # Rocket.Chat Room
  #
  class Room
    # Raw user data
    attr_reader :data

    TYPES = {
      'c' => 'public',
      'p' => 'private',
      'd' => 'IM'
    }.freeze

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

    # Channel ID
    def id
      data['_id']
    end

    # Channel name
    def name
      data['name']
    end

    # Channel owner
    def owner
      data['u']
    end

    def created_at
      data['ts']
    end

    def last_update
      data['_updatedAt']
    end

    def topic
      data['topic']
    end

    def description
      data['description']
    end

    # Channel members
    def members
      data['usernames'] || []
    end

    # Read-only status
    def read_only
      data['ro']
    end

    # Message count
    def message_count
      data['msgs']
    end

    # Last message timestamp
    def last_message
      data['lm']
    end

    # Channel type
    def type
      TYPES[data['t']] || data['t']
    end

    # System messages (user left, got invited, room renamed, etc)
    def system_messages
      data['sysMes']
    end

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

Version data entries

13 entries across 13 versions & 1 rubygems

Version Path
rocketchat-0.1.14 lib/rocket_chat/room.rb
rocketchat-0.1.13 lib/rocket_chat/room.rb
rocketchat-0.1.12 lib/rocket_chat/room.rb
rocketchat-0.1.11 lib/rocket_chat/room.rb
rocketchat-0.1.10 lib/rocket_chat/room.rb
rocketchat-0.1.9 lib/rocket_chat/room.rb
rocketchat-0.1.8 lib/rocket_chat/room.rb
rocketchat-0.1.7 lib/rocket_chat/room.rb
rocketchat-0.1.6 lib/rocket_chat/room.rb
rocketchat-0.1.5 lib/rocket_chat/room.rb
rocketchat-0.1.4 lib/rocket_chat/room.rb
rocketchat-0.1.3 lib/rocket_chat/room.rb
rocketchat-0.1.2 lib/rocket_chat/room.rb