A Ruby gem for streaming data from the Bluesky/ATProto firehose

made LabelsMessage a subclass of Firehose::Message

+7 -14
+7 -14
lib/skyfall/firehose/labels_message.rb
··· 2 2 require_relative '../label' 3 3 4 4 module Skyfall 5 - class Firehose::LabelsMessage 6 - using Skyfall::Extensions 5 + class Firehose::LabelsMessage < Firehose::Message 6 + def labels 7 + @labels ||= @data_object['labels'].map { |x| Label.new(x) } 8 + end 7 9 8 - attr_reader :type_object, :data_object 9 - attr_reader :type, :seq 10 + protected 10 11 11 - def initialize(type_object, data_object) 12 - @type_object = type_object 13 - @data_object = data_object 14 - 15 - @type = @type_object['t'][1..-1].to_sym 16 - @seq = @data_object['seq'] 17 - end 18 - 19 - def labels 20 - @labels ||= @data_object['labels'].map { |x| Label.new(x) } 12 + def inspectable_variables 13 + super - [:@did] 21 14 end 22 15 end 23 16 end