Class: StreamFile

Inherits:
ReturnStatus show all
Defined in:
lib/ruby-agi/rs/stream_file.rb

Instance Method Summary collapse

Methods inherited from ReturnStatus

#command, #command_error?, #message, #result, #return_code, #to_s

Constructor Details

#initialize(command, response) ⇒ StreamFile

Returns a new instance of StreamFile.



50
51
52
# File 'lib/ruby-agi/rs/stream_file.rb', line 50

def initialize(command, response)
	super(command, response)
end

Instance Method Details

#digitObject



111
112
113
114
115
116
117
118
119
120
# File 'lib/ruby-agi/rs/stream_file.rb', line 111

def digit
	if @digit.nil?
		if interrupted?
			@digit = result.to_i.chr
		end
		@digit = '' if @digit.nil?
	end
	
	return @digit
end

#errorObject



122
123
124
125
126
127
128
# File 'lib/ruby-agi/rs/stream_file.rb', line 122

def error
	if random_error?
		return result
	else
		return ''
	end
end

#error?Boolean

Returns:

  • (Boolean)


130
131
132
# File 'lib/ruby-agi/rs/stream_file.rb', line 130

def error?
	return command_error?
end

#failure?Boolean

Returns:

  • (Boolean)


54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
# File 'lib/ruby-agi/rs/stream_file.rb', line 54

def failure?
	if @is_failure.nil?
		if result == '-1'
			@is_failure = true
		elsif result == '0'
			if offset == '0'
				@is_failure			= true
				@is_failure_on_open	= true
				@is_success			= false
			else
				@is_success			= true
			end
		else
			@is_failure = false
		end 
	end

	return @is_failure
end

#interrupted?Boolean

Returns:

  • (Boolean)


86
87
88
89
90
91
92
93
94
95
# File 'lib/ruby-agi/rs/stream_file.rb', line 86

def interrupted?
	if @is_interrupted.nil?
		@is_interrupted = false
		if ((success?) and (result.to_i > 0))
			@is_interrupted = true
		end
	end

	return @is_interrupted
end

#offsetObject



97
98
99
100
101
102
103
104
105
106
107
108
109
# File 'lib/ruby-agi/rs/stream_file.rb', line 97

def offset
	if @offset.nil?
		rgx = Regexp.new(/^endpos/)
		response.split(' ').each do | pair |
			if rgx.match(pair)
				@offset = pair.split('=').last
			end
		end
		@offset = '' if @offset.nil?
	end

	return @offset
end

#responseObject



134
135
136
# File 'lib/ruby-agi/rs/stream_file.rb', line 134

def response
	return message
end

#success?Boolean

Returns:

  • (Boolean)


74
75
76
77
78
79
80
81
82
83
84
# File 'lib/ruby-agi/rs/stream_file.rb', line 74

def success?
	if @is_success.nil?
		if ((not failure?) and (offset.to_i > 0)) 
			@is_success = true
		else
			@is_success = false
		end
	end
	
	return @is_success
end