Class: Legion::Extensions::Apollo::Transport::Messages::Writeback

Inherits:
Transport::Message
  • Object
show all
Defined in:
lib/legion/extensions/apollo/transport/messages/writeback.rb

Instance Method Summary collapse

Instance Method Details

#exchangeObject



11
12
13
# File 'lib/legion/extensions/apollo/transport/messages/writeback.rb', line 11

def exchange
  Exchanges::Apollo
end

#messageObject



23
24
25
26
27
28
29
30
31
32
33
34
35
36
# File 'lib/legion/extensions/apollo/transport/messages/writeback.rb', line 23

def message
  {
    content:          @options[:content],
    content_type:     @options[:content_type],
    tags:             @options[:tags],
    source_agent:     @options[:source_agent],
    source_channel:   @options[:source_channel],
    submitted_by:     @options[:submitted_by],
    submitted_from:   @options[:submitted_from],
    embedding:        @options[:embedding],
    knowledge_domain: @options[:knowledge_domain],
    context:          @options[:context] || {}
  }.compact
end

#routing_keyObject



15
16
17
# File 'lib/legion/extensions/apollo/transport/messages/writeback.rb', line 15

def routing_key
  @options[:has_embedding] ? 'legion.apollo.writeback.store' : 'legion.apollo.writeback.vectorize'
end

#typeObject



19
20
21
# File 'lib/legion/extensions/apollo/transport/messages/writeback.rb', line 19

def type
  'apollo_writeback'
end

#validateObject

Raises:

  • (TypeError)


38
39
40
41
42
# File 'lib/legion/extensions/apollo/transport/messages/writeback.rb', line 38

def validate
  raise TypeError, 'content is required' unless @options[:content].is_a?(String)

  @valid = true
end