class Emit::OutputGuard
Attributes
action[R]
channel_end[R]
message[R]
Public Class Methods
new(argument, message, action=nil)
click to toggle source
# File lib/emit/output_guard.rb, line 5 def initialize(argument, message, action=nil) case argument when OutputGuard @channel_end, @message, @action = argument.channel_end, argument.message, argument.action when ChannelEndWrite @channel_end, @message, @action = argument, message, action when Array fail "Wrong number of arguments" unless argument.size == 3 @channel_end, @message, @action = argument else fail "Unknown output guard type" end fail "OutputGuard must have a writing channel end." unless ChannelEndWrite === channel_end fail "OutputGuard action cannot be nil" if @action.nil? end