Class MCollective::RPC::Request
In: lib/mcollective/rpc/request.rb
Parent: Object

Simple class to manage compliant requests for MCollective::RPC agents

Methods

[]   include?   new   should_respond?   to_hash  

Attributes

action  [RW] 
agent  [RW] 
caller  [RW] 
data  [RW] 
sender  [RW] 
time  [RW] 
uniqid  [RW] 

Public Class methods

[Source]

    # File lib/mcollective/rpc/request.rb, line 7
 7:             def initialize(msg)
 8:                 @time = msg[:msgtime]
 9:                 @action = msg[:body][:action]
10:                 @data = msg[:body][:data]
11:                 @sender = msg[:senderid]
12:                 @agent = msg[:body][:agent]
13:                 @uniqid = msg[:requestid]
14:                 @caller = msg[:callerid] || "unknown"
15:             end

Public Instance methods

If data is a hash, gives easy access to its members, else returns nil

[Source]

    # File lib/mcollective/rpc/request.rb, line 37
37:             def [](key)
38:                 return nil unless @data.is_a?(Hash)
39:                 return @data[key]
40:             end

If data is a hash, quick helper to get access to it‘s include? method else returns false

[Source]

    # File lib/mcollective/rpc/request.rb, line 19
19:             def include?(key)
20:                 return false unless @data.is_a?(Hash)
21:                 return @data.include?(key)
22:             end

Parses the :process_results request property returning true if the caller cares for a response else false

[Source]

    # File lib/mcollective/rpc/request.rb, line 26
26:             def should_respond?
27:                 if @data.include?(:process_results)
28:                     unless @data[:process_results]
29:                         return false
30:                     end
31:                 end
32: 
33:                 return true
34:             end

[Source]

    # File lib/mcollective/rpc/request.rb, line 42
42:             def to_hash
43:                 return {:agent => @agent,
44:                         :action => @action,
45:                         :data => @data}
46:             end

[Validate]