ruby-agi 0.0.3 → 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -23,19 +23,21 @@
23
23
  # == Overview
24
24
  #
25
25
 
26
- require 'agi.rb'
27
- require 'error.rb'
26
+ require 'ruby-agi/agi.rb'
27
+ require 'ruby-agi/error.rb'
28
28
 
29
29
  class AGI
30
30
  end
31
31
 
32
32
  class AsteriskVariable < AGI
33
+
33
34
  def initialize
34
- @env = nil
35
35
  end
36
36
 
37
+ protected
37
38
  def env
38
- if @env.nil?
39
+ if @asterisk_variable.nil?
40
+ @asterisk_variable = Hash.new
39
41
  semaphore do
40
42
  $stdin.each_line do | line |
41
43
  line.strip!
@@ -43,102 +45,115 @@ class AsteriskVariable < AGI
43
45
  key, value = line.split(':')
44
46
  value.strip! if not value.nil?
45
47
  if ((not key.nil?) and (not key.to_s.size.zero?))
46
- @env[key.to_s] = value
48
+ @asterisk_variable[key.to_s] = value
47
49
  end
48
50
  end
49
51
  end
50
52
  end
51
53
 
52
- return @env
54
+ return @asterisk_variable
55
+ end
56
+
57
+ protected
58
+ def read_env(name)
59
+ val = env[name]
60
+ if debug?
61
+ semaphore do
62
+ $stderr.puts " -- ruby-agi << Read asterisk variable '#{name}'"
63
+ $stderr.puts " -- ruby-agi >> Asterisk variable #{name} = #{val.to_s}"
64
+ end
65
+ end
66
+
67
+ return val
53
68
  end
54
69
 
55
70
  public
56
71
  def request
57
- return env['agi_request']
72
+ return read_env('agi_request')
58
73
  end
59
74
 
60
75
  public
61
76
  def channel
62
- return env['agi_channel']
77
+ return read_env('agi_channel')
63
78
  end
64
79
 
65
80
  public
66
81
  def language
67
- return env['agi_language']
82
+ return read_env('agi_language')
68
83
  end
69
84
 
70
85
  public
71
86
  def type
72
- return env['agi_type']
87
+ return read_env('agi_type')
73
88
  end
74
89
 
75
90
  public
76
- def unique_id
77
- return env['agi_uniqueid']
91
+ def uniqueid
92
+ return read_env('agi_uniqueid')
78
93
  end
79
94
 
80
95
  public
81
- def caller_id
82
- return env['agi_callerid']
96
+ def callerid
97
+ return read_env('agi_callerid')
83
98
  end
84
99
 
85
100
  public
86
- def caller_id_name
87
- return env['agi_calleridname']
101
+ def calleridname
102
+ return read_env('agi_calleridname')
88
103
  end
89
104
 
90
105
  public
91
- def calling_pres
92
- return env['agi_callingpres']
106
+ def callingpres
107
+ return read_env('agi_callingpres')
93
108
  end
94
109
 
95
110
  public
96
- def calling_ani_2
97
- return env['agi_callingani2']
111
+ def callingani2
112
+ return read_env('agi_callingani2')
98
113
  end
99
114
 
100
115
  public
101
- def calling_ton
102
- return env['agi_callington']
116
+ def callington
117
+ return read_env('agi_callington')
103
118
  end
104
119
 
105
120
  public
106
- def calling_tns
107
- return env['agi_callingtns']
121
+ def callingtns
122
+ return read_env('agi_callingtns')
108
123
  end
109
124
 
110
125
  public
111
- def dn_id
112
- return env['agi_dnid']
126
+ def dnid
127
+ return read_env('agi_dnid')
113
128
  end
114
129
 
115
130
  public
116
- def rdn_id
117
- return env['agi_rdnid']
131
+ def rdnid
132
+ return read_env('agi_rdnid')
118
133
  end
119
134
 
120
135
  public
121
136
  def context
122
- return env['agi_context']
137
+ return read_env('agi_context')
123
138
  end
124
139
 
125
140
  public
126
141
  def extension
127
- return env['agi_extension']
142
+ return read_env('agi_extension')
128
143
  end
129
144
 
130
145
  public
131
146
  def priority
132
- return env['agi_priority']
147
+ return read_env('agi_priority')
133
148
  end
134
149
 
135
150
  public
136
151
  def enhanced
137
- return env['agi_enhanced']
152
+ return read_env('agi_enhanced')
138
153
  end
139
154
 
140
155
  public
141
- def account_code
142
- return env['agi_accountcode']
156
+ def accountcode
157
+ return read_env('agi_accountcode')
143
158
  end
144
159
  end