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