lib/sass/embedded/version_context.rb
# frozen_string_literal: true module Sass class Embedded # The {Observer} for {Embedded#info}. class VersionContext include Observer def initialize(channel) super(channel) send_message EmbeddedProtocol::InboundMessage::VersionRequest.new(id: id) end def update(error, message) raise error unless error.nil? case message when EmbeddedProtocol::OutboundMessage::VersionResponse return unless message.id == id Thread.new do super(nil, message) end end rescue StandardError => e Thread.new do super(e, nil) end end end private_constant :VersionContext end end