kannel_rails 0.0.6 → 0.0.7
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/README.md +7 -0
- data/lib/kannel_rails/version.rb +1 -1
- data/lib/kannel_rails.rb +11 -1
- metadata +2 -2
data/README.md
CHANGED
|
@@ -93,3 +93,10 @@ KannelRails.send_message("+639001234567", "Hello World!", :msg_id => '1234')
|
|
|
93
93
|
```
|
|
94
94
|
|
|
95
95
|
This will result in Kannel calling something similar to the URL: `http://rails_app/some_endpoint?msg_id=1234&type=1&smsc_id=the_smsc_id`
|
|
96
|
+
|
|
97
|
+
### Sending and receiving Unicode SMS
|
|
98
|
+
|
|
99
|
+
If your message text contains characters not in the [GSM charset](http://en.wikipedia.org/wiki/GSM_03.38), it will be automatically sent as Unicode by setting the param `coding=2`. Kannel should be able to handle this and send the message properly.
|
|
100
|
+
|
|
101
|
+
To receive Unicode SMS, just set `mo-recode = true` in your Kannel smsbox configuration so that everything the server receives will be in UTF-8.
|
|
102
|
+
|
data/lib/kannel_rails/version.rb
CHANGED
data/lib/kannel_rails.rb
CHANGED
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
# encoding: UTF-8
|
|
2
|
+
|
|
1
3
|
require "kannel_rails/engine"
|
|
2
4
|
require "kannel_rails/config"
|
|
3
5
|
require "kannel_rails/handlers"
|
|
@@ -6,6 +8,9 @@ require "net/http"
|
|
|
6
8
|
|
|
7
9
|
module KannelRails
|
|
8
10
|
|
|
11
|
+
GSM_7BIT = "@£$¥èéùìòÇ\nØø\rÅåΔ_ΦΓΛΩΠΨΣΘΞÆæßÉ !\"#¤%&'()*+,-./0123456789:;<=>?¡ABCDEFGHIJKLMNOPQRSTUVWXYZÄÖÑܧ¿abcdefghijklmnopqrstuvwxyzäöñüà";
|
|
12
|
+
GSM_7BIT_EX = "^{}\[~]|€";
|
|
13
|
+
|
|
9
14
|
def self.send_message(recipient, message, options = {})
|
|
10
15
|
query_hash = {
|
|
11
16
|
:username => config.username,
|
|
@@ -13,13 +18,18 @@ module KannelRails
|
|
|
13
18
|
:to => recipient,
|
|
14
19
|
:text => message,
|
|
15
20
|
:'dlr-url' => config.dlr_url,
|
|
16
|
-
:'dlr-mask' => config.dlr_mask
|
|
21
|
+
:'dlr-mask' => config.dlr_mask,
|
|
22
|
+
:charset => 'utf-8'
|
|
17
23
|
}
|
|
18
24
|
|
|
19
25
|
if config.dlr_url and options[:msg_id]
|
|
20
26
|
query_hash[:'dlr-url'] = config.dlr_url.sub('$msg_id', options[:msg_id].to_s)
|
|
21
27
|
end
|
|
22
28
|
|
|
29
|
+
if query_hash[:text] and !/\A[#{GSM_7BIT + GSM_7BIT_EX}]*\z/.match(query_hash[:text].to_s)
|
|
30
|
+
query_hash[:coding] = 2
|
|
31
|
+
end
|
|
32
|
+
|
|
23
33
|
query_hash.merge!(options)
|
|
24
34
|
query_hash.delete_if { |k, v| v.to_s.blank? }
|
|
25
35
|
|
metadata
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: kannel_rails
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.0.
|
|
4
|
+
version: 0.0.7
|
|
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: 2013-12-
|
|
12
|
+
date: 2013-12-18 00:00:00.000000000 Z
|
|
13
13
|
dependencies:
|
|
14
14
|
- !ruby/object:Gem::Dependency
|
|
15
15
|
name: rails
|