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

Configure Feed

Select the types of activity you want to include in your feed.

throw an error when ***Message.new is called with a different message

+10
+5
lib/skyfall/firehose/message.rb
··· 75 75 else Firehose::UnknownMessage 76 76 end 77 77 78 + if self != Firehose::Message && self != message_class 79 + expected_type = self.name.split('::').last.gsub(/Message$/, '').downcase 80 + raise DecodeError, "Expected ##{expected_type} message, got #{type_object['t']}" 81 + end 82 + 78 83 message = message_class.allocate 79 84 message.send(:initialize, type_object, data_object) 80 85 message
+5
lib/skyfall/jetstream/message.rb
··· 63 63 else Jetstream::UnknownMessage 64 64 end 65 65 66 + if self != Jetstream::Message && self != message_class 67 + expected_type = self.name.split('::').last.gsub(/Message$/, '').downcase 68 + raise DecodeError, "Expected '#{expected_type}' message, got '#{json['kind']}'" 69 + end 70 + 66 71 message = message_class.allocate 67 72 message.send(:initialize, json) 68 73 message