gsm_encoder 0.1.2 → 0.1.3
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.
- checksums.yaml +4 -4
- data/README.md +8 -0
- data/lib/gsm_encoder.rb +5 -2
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 8528761bc6678e5796d054214f545f5df324a43b
|
4
|
+
data.tar.gz: 02ef6f2bbac3cadeba4623fb82f8f0b531236b5a
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 883a895ea777489a58d96118f9029a46f1c21c0d4bf0b381a3d11c64f0fadc1e7361be0d65bdc3ef029ed7605a3093456038d7acc4530160724342e67f3e36c5
|
7
|
+
data.tar.gz: 5d2255dc35d094c44c59c8d8123d1490cb6f1af5e4c67509d6253aadd77595b2b9291709bf3e7eae3c5ae61ac9602ab58ff0c6b85f37cd2f4d1d362ce96f29b6
|
data/README.md
CHANGED
@@ -26,6 +26,9 @@ __NOTE: ruby >= 1.9.2 is required__
|
|
26
26
|
# replaces unsupported chars with '?'
|
27
27
|
GSMEncoder.encode('`') # => '?'
|
28
28
|
|
29
|
+
# replaces unsupported chars with a provided value ' '
|
30
|
+
GSMEncoder.encode('`', ' ') # => ' '
|
31
|
+
|
29
32
|
## Updates
|
30
33
|
|
31
34
|
### 0.1.1
|
@@ -35,3 +38,8 @@ Added support for Spanish shift
|
|
35
38
|
### 0.1.2
|
36
39
|
|
37
40
|
Fixed bug when encoding line feed & carriage return
|
41
|
+
|
42
|
+
## 0.1.3
|
43
|
+
|
44
|
+
Adds the ability to provide the character used when encoding
|
45
|
+
unsupported strings
|
data/lib/gsm_encoder.rb
CHANGED
@@ -7,6 +7,7 @@
|
|
7
7
|
# alphabet. It also supports the default extension table. The default alphabet
|
8
8
|
# and it's extension table is defined in GSM 03.38.
|
9
9
|
module GSMEncoder
|
10
|
+
DEFAULT_REPLACE_CHAR = "?"
|
10
11
|
|
11
12
|
EXTENDED_ESCAPE = 0x1b
|
12
13
|
NL = 10.chr
|
@@ -78,9 +79,11 @@ module GSMEncoder
|
|
78
79
|
true
|
79
80
|
end
|
80
81
|
|
81
|
-
def encode
|
82
|
+
def encode(str, replace_char=nil)
|
82
83
|
return nil if !str
|
83
84
|
|
85
|
+
replace_char = DEFAULT_REPLACE_CHAR if !replace_char || !can_encode?(replace_char)
|
86
|
+
|
84
87
|
buffer = ''.encode('binary')
|
85
88
|
|
86
89
|
begin
|
@@ -103,7 +106,7 @@ module GSMEncoder
|
|
103
106
|
search += 1
|
104
107
|
end
|
105
108
|
if search == CHAR_TABLE.length
|
106
|
-
buffer <<
|
109
|
+
buffer << replace_char
|
107
110
|
end
|
108
111
|
end
|
109
112
|
rescue
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: gsm_encoder
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.3
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Yury Korolev
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2013-03-
|
12
|
+
date: 2013-03-16 00:00:00.000000000 Z
|
13
13
|
dependencies: []
|
14
14
|
description: GSMEncoder encodes and decodes Ruby Strings to and from the SMS default
|
15
15
|
alphabet. It also supports the default extension table. The default alphabet and
|