ruby_ami 1.2.3 → 1.2.4
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.
- data/CHANGELOG.md +3 -0
- data/lib/ruby_ami/async_agi_environment_parser.rb +1 -0
- data/lib/ruby_ami/client.rb +2 -1
- data/lib/ruby_ami/error.rb +2 -1
- data/lib/ruby_ami/event.rb +1 -0
- data/lib/ruby_ami/lexer.rb +33 -32
- data/lib/ruby_ami/lexer.rl.rb +3 -2
- data/lib/ruby_ami/metaprogramming.rb +1 -0
- data/lib/ruby_ami/response.rb +1 -0
- data/lib/ruby_ami/stream.rb +1 -0
- data/lib/ruby_ami/version.rb +2 -1
- data/spec/ruby_ami/action_spec.rb +1 -0
- data/spec/ruby_ami/agi_result_parser_spec.rb +1 -0
- data/spec/ruby_ami/async_agi_environment_parser_spec.rb +1 -0
- data/spec/ruby_ami/client_spec.rb +1 -0
- data/spec/ruby_ami/error_spec.rb +1 -0
- data/spec/ruby_ami/event_spec.rb +1 -0
- data/spec/ruby_ami/response_spec.rb +1 -0
- data/spec/ruby_ami/stream_spec.rb +1 -0
- data/spec/spec_helper.rb +1 -0
- data/spec/support/mock_server.rb +1 -0
- metadata +4 -4
data/CHANGELOG.md
CHANGED
@@ -1,5 +1,8 @@
|
|
1
1
|
# [develop](https://github.com/adhearsion/ruby_ami)
|
2
2
|
|
3
|
+
# [1.2.4](https://github.com/adhearsion/ruby_ami/compare/v1.2.3...v1.2.4) - [2012-10-13](https://rubygems.org/gems/ruby_ami/versions/1.2.4)
|
4
|
+
* Bugfix: No longer suffer "invalid byte sequence" exceptions due to encoding mismatch. Thanks tboyko
|
5
|
+
|
3
6
|
# [1.2.3](https://github.com/adhearsion/ruby_ami/compare/v1.2.2...v1.2.3) - [2012-09-20](https://rubygems.org/gems/ruby_ami/versions/1.2.3)
|
4
7
|
* Streams now inherit the client's logger
|
5
8
|
|
data/lib/ruby_ami/client.rb
CHANGED
@@ -1,10 +1,11 @@
|
|
1
|
+
# encoding: utf-8
|
1
2
|
module RubyAMI
|
2
3
|
class Client
|
3
4
|
attr_reader :options, :action_queue, :events_stream, :actions_stream
|
4
5
|
|
5
6
|
def initialize(options)
|
6
7
|
@options = options
|
7
|
-
@logger = options[:logger]
|
8
|
+
@logger = options[:logger] || Logger.new(STDOUT)
|
8
9
|
@logger.level = options[:log_level] || Logger::DEBUG if @logger
|
9
10
|
@event_handler = @options[:event_handler]
|
10
11
|
@state = :stopped
|
data/lib/ruby_ami/error.rb
CHANGED
@@ -1,3 +1,4 @@
|
|
1
|
+
# encoding: utf-8
|
1
2
|
module RubyAMI
|
2
3
|
class Error < StandardError
|
3
4
|
attr_accessor :message, :action
|
@@ -22,4 +23,4 @@ module RubyAMI
|
|
22
23
|
"#<#{self.class} #{[:message, :headers].map { |c| "#{c}=#{self.__send__(c).inspect rescue nil}" }.compact * ', '}>"
|
23
24
|
end
|
24
25
|
end
|
25
|
-
end # RubyAMI
|
26
|
+
end # RubyAMI
|
data/lib/ruby_ami/event.rb
CHANGED
data/lib/ruby_ami/lexer.rb
CHANGED
@@ -1,5 +1,6 @@
|
|
1
1
|
|
2
2
|
# line 1 "lib/ruby_ami/lexer.rl.rb"
|
3
|
+
# encoding: utf-8
|
3
4
|
module RubyAMI
|
4
5
|
class Lexer
|
5
6
|
|
@@ -27,20 +28,20 @@ module RubyAMI
|
|
27
28
|
]
|
28
29
|
|
29
30
|
|
30
|
-
# line
|
31
|
+
# line 69 "lib/ruby_ami/lexer.rl.rb"
|
31
32
|
##
|
32
33
|
|
33
34
|
attr_accessor :ami_version
|
34
35
|
|
35
36
|
def initialize(delegate = nil)
|
36
37
|
@delegate = delegate
|
37
|
-
@data =
|
38
|
+
@data = ''.encode('ISO-8859-1', 'ISO-8859-1')
|
38
39
|
@current_pointer = 0
|
39
40
|
@ragel_stack = []
|
40
41
|
@ami_version = 0.0
|
41
42
|
|
42
43
|
|
43
|
-
# line
|
44
|
+
# line 45 "lib/ruby_ami/lexer.rb"
|
44
45
|
class << self
|
45
46
|
attr_accessor :_ami_protocol_parser_actions
|
46
47
|
private :_ami_protocol_parser_actions, :_ami_protocol_parser_actions=
|
@@ -857,7 +858,7 @@ end
|
|
857
858
|
self.ami_protocol_parser_en_response_follows = 268;
|
858
859
|
|
859
860
|
|
860
|
-
# line
|
861
|
+
# line 862 "lib/ruby_ami/lexer.rb"
|
861
862
|
begin
|
862
863
|
@current_pointer ||= 0
|
863
864
|
@data_ending_pointer ||= @data.length
|
@@ -868,7 +869,7 @@ begin
|
|
868
869
|
@ragel_act = 0
|
869
870
|
end
|
870
871
|
|
871
|
-
# line
|
872
|
+
# line 97 "lib/ruby_ami/lexer.rl.rb"
|
872
873
|
##
|
873
874
|
end
|
874
875
|
|
@@ -879,7 +880,7 @@ end
|
|
879
880
|
|
880
881
|
def resume!
|
881
882
|
|
882
|
-
# line
|
883
|
+
# line 884 "lib/ruby_ami/lexer.rb"
|
883
884
|
begin
|
884
885
|
_klen, _trans, _keys, _acts, _nacts = nil
|
885
886
|
_goto_level = 0
|
@@ -913,7 +914,7 @@ begin
|
|
913
914
|
begin
|
914
915
|
@token_start = @current_pointer
|
915
916
|
end
|
916
|
-
# line
|
917
|
+
# line 918 "lib/ruby_ami/lexer.rb"
|
917
918
|
end # from state action switch
|
918
919
|
end
|
919
920
|
if _trigger_goto
|
@@ -981,87 +982,87 @@ begin
|
|
981
982
|
_acts += 1
|
982
983
|
case _ami_protocol_parser_actions[_acts - 1]
|
983
984
|
when 0 then
|
984
|
-
# line
|
985
|
+
# line 34 "lib/ruby_ami/lexer.rl.rb"
|
985
986
|
begin
|
986
987
|
init_success end
|
987
988
|
when 1 then
|
988
|
-
# line
|
989
|
+
# line 36 "lib/ruby_ami/lexer.rl.rb"
|
989
990
|
begin
|
990
991
|
init_response_follows end
|
991
992
|
when 2 then
|
992
|
-
# line
|
993
|
+
# line 38 "lib/ruby_ami/lexer.rl.rb"
|
993
994
|
begin
|
994
995
|
init_error end
|
995
996
|
when 3 then
|
996
|
-
# line
|
997
|
+
# line 40 "lib/ruby_ami/lexer.rl.rb"
|
997
998
|
begin
|
998
999
|
message_received @current_message end
|
999
1000
|
when 4 then
|
1000
|
-
# line
|
1001
|
+
# line 41 "lib/ruby_ami/lexer.rl.rb"
|
1001
1002
|
begin
|
1002
1003
|
error_received @current_message end
|
1003
1004
|
when 5 then
|
1004
|
-
# line
|
1005
|
+
# line 43 "lib/ruby_ami/lexer.rl.rb"
|
1005
1006
|
begin
|
1006
1007
|
version_starts end
|
1007
1008
|
when 6 then
|
1008
|
-
# line
|
1009
|
+
# line 44 "lib/ruby_ami/lexer.rl.rb"
|
1009
1010
|
begin
|
1010
1011
|
version_stops end
|
1011
1012
|
when 7 then
|
1012
|
-
# line
|
1013
|
+
# line 46 "lib/ruby_ami/lexer.rl.rb"
|
1013
1014
|
begin
|
1014
1015
|
key_starts end
|
1015
1016
|
when 8 then
|
1016
|
-
# line
|
1017
|
+
# line 47 "lib/ruby_ami/lexer.rl.rb"
|
1017
1018
|
begin
|
1018
1019
|
key_stops end
|
1019
1020
|
when 9 then
|
1020
|
-
# line
|
1021
|
+
# line 49 "lib/ruby_ami/lexer.rl.rb"
|
1021
1022
|
begin
|
1022
1023
|
value_starts end
|
1023
1024
|
when 10 then
|
1024
|
-
# line
|
1025
|
+
# line 50 "lib/ruby_ami/lexer.rl.rb"
|
1025
1026
|
begin
|
1026
1027
|
value_stops end
|
1027
1028
|
when 11 then
|
1028
|
-
# line
|
1029
|
+
# line 52 "lib/ruby_ami/lexer.rl.rb"
|
1029
1030
|
begin
|
1030
1031
|
error_reason_starts end
|
1031
1032
|
when 12 then
|
1032
|
-
# line
|
1033
|
+
# line 53 "lib/ruby_ami/lexer.rl.rb"
|
1033
1034
|
begin
|
1034
1035
|
error_reason_stops end
|
1035
1036
|
when 13 then
|
1036
|
-
# line
|
1037
|
+
# line 55 "lib/ruby_ami/lexer.rl.rb"
|
1037
1038
|
begin
|
1038
1039
|
syntax_error_starts end
|
1039
1040
|
when 14 then
|
1040
|
-
# line
|
1041
|
+
# line 56 "lib/ruby_ami/lexer.rl.rb"
|
1041
1042
|
begin
|
1042
1043
|
syntax_error_stops end
|
1043
1044
|
when 15 then
|
1044
|
-
# line
|
1045
|
+
# line 58 "lib/ruby_ami/lexer.rl.rb"
|
1045
1046
|
begin
|
1046
1047
|
immediate_response_starts end
|
1047
1048
|
when 16 then
|
1048
|
-
# line
|
1049
|
+
# line 59 "lib/ruby_ami/lexer.rl.rb"
|
1049
1050
|
begin
|
1050
1051
|
immediate_response_stops end
|
1051
1052
|
when 17 then
|
1052
|
-
# line
|
1053
|
+
# line 61 "lib/ruby_ami/lexer.rl.rb"
|
1053
1054
|
begin
|
1054
1055
|
follows_text_starts end
|
1055
1056
|
when 18 then
|
1056
|
-
# line
|
1057
|
+
# line 62 "lib/ruby_ami/lexer.rl.rb"
|
1057
1058
|
begin
|
1058
1059
|
follows_text_stops end
|
1059
1060
|
when 19 then
|
1060
|
-
# line
|
1061
|
+
# line 64 "lib/ruby_ami/lexer.rl.rb"
|
1061
1062
|
begin
|
1062
1063
|
event_name_starts end
|
1063
1064
|
when 20 then
|
1064
|
-
# line
|
1065
|
+
# line 65 "lib/ruby_ami/lexer.rl.rb"
|
1065
1066
|
begin
|
1066
1067
|
event_name_stops end
|
1067
1068
|
when 21 then
|
@@ -1385,7 +1386,7 @@ end
|
|
1385
1386
|
end
|
1386
1387
|
end
|
1387
1388
|
end
|
1388
|
-
# line
|
1389
|
+
# line 1390 "lib/ruby_ami/lexer.rb"
|
1389
1390
|
end # action switch
|
1390
1391
|
end
|
1391
1392
|
end
|
@@ -1410,7 +1411,7 @@ when 29 then
|
|
1410
1411
|
begin
|
1411
1412
|
@ragel_act = 0
|
1412
1413
|
end
|
1413
|
-
# line
|
1414
|
+
# line 1415 "lib/ruby_ami/lexer.rb"
|
1414
1415
|
end # to state action switch
|
1415
1416
|
end
|
1416
1417
|
if _trigger_goto
|
@@ -1441,7 +1442,7 @@ end
|
|
1441
1442
|
end
|
1442
1443
|
end
|
1443
1444
|
|
1444
|
-
# line
|
1445
|
+
# line 106 "lib/ruby_ami/lexer.rl.rb"
|
1445
1446
|
##
|
1446
1447
|
end
|
1447
1448
|
|
@@ -1464,7 +1465,7 @@ end
|
|
1464
1465
|
@data.slice! 0...length
|
1465
1466
|
adjust_pointers -length
|
1466
1467
|
end
|
1467
|
-
@data << new_data
|
1468
|
+
@data << new_data.encode('ISO-8859-1', 'ISO-8859-1')
|
1468
1469
|
@data_ending_pointer = @data.size
|
1469
1470
|
end
|
1470
1471
|
|
data/lib/ruby_ami/lexer.rl.rb
CHANGED
@@ -1,3 +1,4 @@
|
|
1
|
+
# encoding: utf-8
|
1
2
|
module RubyAMI
|
2
3
|
class Lexer
|
3
4
|
|
@@ -71,7 +72,7 @@ module RubyAMI
|
|
71
72
|
|
72
73
|
def initialize(delegate = nil)
|
73
74
|
@delegate = delegate
|
74
|
-
@data =
|
75
|
+
@data = ''.encode('ISO-8859-1', 'ISO-8859-1')
|
75
76
|
@current_pointer = 0
|
76
77
|
@ragel_stack = []
|
77
78
|
@ami_version = 0.0
|
@@ -124,7 +125,7 @@ module RubyAMI
|
|
124
125
|
@data.slice! 0...length
|
125
126
|
adjust_pointers -length
|
126
127
|
end
|
127
|
-
@data << new_data
|
128
|
+
@data << new_data.encode('ISO-8859-1', 'ISO-8859-1')
|
128
129
|
@data_ending_pointer = @data.size
|
129
130
|
end
|
130
131
|
|
data/lib/ruby_ami/response.rb
CHANGED
data/lib/ruby_ami/stream.rb
CHANGED
data/lib/ruby_ami/version.rb
CHANGED
data/spec/ruby_ami/error_spec.rb
CHANGED
data/spec/ruby_ami/event_spec.rb
CHANGED
data/spec/spec_helper.rb
CHANGED
data/spec/support/mock_server.rb
CHANGED
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: ruby_ami
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.2.
|
4
|
+
version: 1.2.4
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2012-
|
12
|
+
date: 2012-10-13 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: celluloid-io
|
@@ -330,7 +330,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
330
330
|
version: '0'
|
331
331
|
segments:
|
332
332
|
- 0
|
333
|
-
hash: -
|
333
|
+
hash: -2097569653935330103
|
334
334
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
335
335
|
none: false
|
336
336
|
requirements:
|
@@ -339,7 +339,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
339
339
|
version: '0'
|
340
340
|
segments:
|
341
341
|
- 0
|
342
|
-
hash: -
|
342
|
+
hash: -2097569653935330103
|
343
343
|
requirements: []
|
344
344
|
rubyforge_project: ruby_ami
|
345
345
|
rubygems_version: 1.8.23
|