rumeme 0.1.5 → 0.1.6
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 +9 -0
- data/lib/rumeme/configuration.rb +0 -1
- data/lib/rumeme/message_status.rb +1 -3
- data/lib/rumeme/sms_interface.rb +22 -27
- data/lib/rumeme/version.rb +1 -1
- data/lib/rumeme.rb +3 -3
- metadata +2 -2
data/CHANGELOG
CHANGED
@@ -1,3 +1,11 @@
|
|
1
|
+
Version 0.1.6 - 2010-03-12
|
2
|
+
===============================================================================
|
3
|
+
|
4
|
+
antlypls (2):
|
5
|
+
code cleanup
|
6
|
+
code cleanup
|
7
|
+
|
8
|
+
|
1
9
|
Version 0.1.5 - 2010-03-12
|
2
10
|
===============================================================================
|
3
11
|
|
@@ -51,3 +59,4 @@ antlypls (5):
|
|
51
59
|
|
52
60
|
|
53
61
|
|
62
|
+
|
data/lib/rumeme/configuration.rb
CHANGED
data/lib/rumeme/sms_interface.rb
CHANGED
@@ -27,23 +27,24 @@ module Rumeme
|
|
27
27
|
@password = cfg.password
|
28
28
|
@use_message_id = cfg.use_message_id
|
29
29
|
@secure = cfg.secure
|
30
|
-
|
30
|
+
|
31
|
+
@long_messages_processor = case cfg.long_messages_strategy
|
32
|
+
when :send
|
33
|
+
lambda {|message| [message]}
|
34
|
+
when :cut
|
35
|
+
lambda {|message| [message[0..159]]}
|
36
|
+
when :split
|
37
|
+
lambda {|message| SmsInterface.split_message message}
|
38
|
+
else
|
39
|
+
lambda {|message| raise ArgumentError.new("invalid long_messages_strategy")}
|
40
|
+
end
|
41
|
+
|
31
42
|
@replies_auto_confirm = cfg.replies_auto_confirm
|
32
43
|
}
|
33
44
|
|
34
|
-
@response_code = -1
|
35
|
-
@response_message = nil
|
36
45
|
@message_list = []
|
37
46
|
@server_list = ["smsmaster.m4u.com.au", "smsmaster1.m4u.com.au", "smsmaster2.m4u.com.au"]
|
38
47
|
|
39
|
-
@long_messages_processor = case @long_messages_strategy
|
40
|
-
when :send
|
41
|
-
lambda {|message| [message]}
|
42
|
-
when :cut
|
43
|
-
lambda {|message| [message[0..159]]}
|
44
|
-
when :split
|
45
|
-
lambda {|message| SmsInterface.split_message message}
|
46
|
-
end
|
47
48
|
end
|
48
49
|
|
49
50
|
# Add a message to be sent.
|
@@ -115,7 +116,7 @@ module Rumeme
|
|
115
116
|
text_buffer = "MESSAGES2.0\r\n#{post_string}.\r\n"
|
116
117
|
response_message, response_code = post_data_to_server(text_buffer)
|
117
118
|
|
118
|
-
raise 'error during sending messages' if response_code != 100
|
119
|
+
raise BadServerResponse.new('error during sending messages') if response_code != 100
|
119
120
|
end
|
120
121
|
|
121
122
|
private
|
@@ -129,7 +130,7 @@ module Rumeme
|
|
129
130
|
|
130
131
|
def self.split_message_internal message
|
131
132
|
list =[]
|
132
|
-
sizes = Generator.new { |
|
133
|
+
sizes = Generator.new { |generator| generator.yield 152; generator.yield 155 while true }
|
133
134
|
|
134
135
|
while !message.nil? do
|
135
136
|
head, message = head_tail_split(message, sizes.next)
|
@@ -142,7 +143,8 @@ module Rumeme
|
|
142
143
|
def self.split_message message
|
143
144
|
messages = split_message_internal message
|
144
145
|
message_index = 1
|
145
|
-
|
146
|
+
total_messages = messages.size
|
147
|
+
["#{messages[0]}...(1/#{total_messages})"].concat(messages[1..-1].map {|msg| "(#{message_index+=1}/#{total_messages})#{msg}"})
|
146
148
|
end
|
147
149
|
|
148
150
|
def process_long_message message
|
@@ -172,26 +174,19 @@ module Rumeme
|
|
172
174
|
|
173
175
|
path = '/'
|
174
176
|
|
175
|
-
|
176
|
-
|
177
|
-
|
178
|
-
p data.inspect
|
179
|
-
rescue
|
180
|
-
p "error: #{$!}"
|
181
|
-
raise BadServerResponse.new("error: #{$!}")
|
182
|
-
end
|
177
|
+
resp, data = http_connection.post(path, text_buffer, headers)
|
178
|
+
p resp.inspect
|
179
|
+
p data.inspect
|
183
180
|
|
184
181
|
raise BadServerResponse.new('http response code != 200') if resp.code.to_i != 200
|
185
182
|
|
186
183
|
doc = Nokogiri::HTML(data)
|
187
|
-
|
188
184
|
raise BadServerResponse.new('bad title') if doc.xpath('//title').text != "M4U SMSMASTER"
|
189
185
|
|
190
186
|
response_message = doc.xpath('//body').text.strip
|
191
|
-
|
192
|
-
|
193
|
-
|
194
|
-
end
|
187
|
+
|
188
|
+
response_message.match /^(\d+)\s+/
|
189
|
+
response_code = $1.to_i
|
195
190
|
|
196
191
|
p "latest response code: #{response_code}"
|
197
192
|
p "response: #{response_message }"
|
data/lib/rumeme/version.rb
CHANGED
data/lib/rumeme.rb
CHANGED
@@ -10,10 +10,10 @@ module Rumeme
|
|
10
10
|
attr_accessor :configuration
|
11
11
|
|
12
12
|
def configure
|
13
|
-
|
14
|
-
yield(configuration)
|
13
|
+
@configuration ||= Configuration.new
|
14
|
+
yield(@configuration)
|
15
15
|
|
16
|
-
raise 'unknown long_messages_strategy' unless [:split, :send, :cut].include?(configuration.long_messages_strategy)
|
16
|
+
raise 'unknown long_messages_strategy' unless [:split, :send, :cut].include?(@configuration.long_messages_strategy)
|
17
17
|
end
|
18
18
|
end
|
19
19
|
end
|