pdu_tools 0.0.11 → 0.0.12
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/lib/pdu_tools/helpers.rb +6 -4
- data/spec/decoder_spec.rb +12 -0
- metadata +10 -10
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 7a1d29b2c325be277c56302810bf5ff2d670bc0c
|
4
|
+
data.tar.gz: da0a05535d770d5f9d6001f72b6b9cec8f04dd7a
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: f59b736743430da53b80d70dd663a0af00af5b3005ef0e6e58b50ca26f8966bbd87f5ced99516ea721da690e8f6f7f4861b862c52d944ba1dd245e6d875e7f57
|
7
|
+
data.tar.gz: 3a0fcdee326d45a9947cfc1b3fab4bcefdbcd39131b701543d5c95e214efc91881196d62d5829ad17febbc8c81d6021aaeac3c531630b6c811bb7477b647940b
|
data/lib/pdu_tools/helpers.rb
CHANGED
@@ -114,11 +114,13 @@ module PDUTools
|
|
114
114
|
end.join
|
115
115
|
end
|
116
116
|
|
117
|
+
# Decodes 16bit UTF-16 string into UTF-8 string
|
117
118
|
def decode16bit data, length
|
118
|
-
|
119
|
-
|
120
|
-
|
121
|
-
|
119
|
+
data.split('').in_groups_of(4).collect()
|
120
|
+
double_octets = data.split('').in_groups_of(4).map(&:join).map{|x| x.to_i(16) }[0, length / 2] # integer values
|
121
|
+
double_octets.collect do |o|
|
122
|
+
[o].pack('S')
|
123
|
+
end.join.force_encoding('utf-16le').encode('utf-8')
|
122
124
|
end
|
123
125
|
end
|
124
126
|
end
|
data/spec/decoder_spec.rb
CHANGED
@@ -87,4 +87,16 @@ describe PDUTools::Decoder do
|
|
87
87
|
end
|
88
88
|
end
|
89
89
|
|
90
|
+
context "Decode UTF-16 / UCS2 data" do
|
91
|
+
let(:pdu) { "0791249194099990040C9124910408426100087101303182438004D83DDC4D" }
|
92
|
+
let(:utf16_data) { "D83DDC4D" } # thumbs up smiley in UTF-16 / UCS2
|
93
|
+
let(:utf8_data) { [128077].pack('U') } # thumbs up smiley in UTF-8
|
94
|
+
|
95
|
+
it do
|
96
|
+
expect(decoder.decode16bit(utf16_data, utf16_data.length)).to eql(utf8_data)
|
97
|
+
message_part = decoder.decode
|
98
|
+
expect(message_part.body).to eql(utf8_data)
|
99
|
+
end
|
100
|
+
end
|
101
|
+
|
90
102
|
end
|
metadata
CHANGED
@@ -1,41 +1,41 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: pdu_tools
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.12
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Filip Zachar
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2017-11-24 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: phone
|
15
15
|
requirement: !ruby/object:Gem::Requirement
|
16
16
|
requirements:
|
17
|
-
- -
|
17
|
+
- - ~>
|
18
18
|
- !ruby/object:Gem::Version
|
19
19
|
version: 1.2.3
|
20
20
|
type: :runtime
|
21
21
|
prerelease: false
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
23
23
|
requirements:
|
24
|
-
- -
|
24
|
+
- - ~>
|
25
25
|
- !ruby/object:Gem::Version
|
26
26
|
version: 1.2.3
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
28
|
name: activesupport
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
30
30
|
requirements:
|
31
|
-
- -
|
31
|
+
- - '>='
|
32
32
|
- !ruby/object:Gem::Version
|
33
33
|
version: 3.2.0
|
34
34
|
type: :runtime
|
35
35
|
prerelease: false
|
36
36
|
version_requirements: !ruby/object:Gem::Requirement
|
37
37
|
requirements:
|
38
|
-
- -
|
38
|
+
- - '>='
|
39
39
|
- !ruby/object:Gem::Version
|
40
40
|
version: 3.2.0
|
41
41
|
description: Tools for encoding and decoding GSM SMS PDUs.
|
@@ -44,12 +44,12 @@ executables: []
|
|
44
44
|
extensions: []
|
45
45
|
extra_rdoc_files: []
|
46
46
|
files:
|
47
|
-
- lib/pdu_tools.rb
|
48
47
|
- lib/pdu_tools/decoder.rb
|
49
48
|
- lib/pdu_tools/encoder.rb
|
50
49
|
- lib/pdu_tools/helpers.rb
|
51
50
|
- lib/pdu_tools/message_part.rb
|
52
51
|
- lib/pdu_tools/pdu.rb
|
52
|
+
- lib/pdu_tools.rb
|
53
53
|
- spec/decoder_spec.rb
|
54
54
|
- spec/encoder_spec.rb
|
55
55
|
- spec/spec_helper.rb
|
@@ -63,17 +63,17 @@ require_paths:
|
|
63
63
|
- lib
|
64
64
|
required_ruby_version: !ruby/object:Gem::Requirement
|
65
65
|
requirements:
|
66
|
-
- -
|
66
|
+
- - '>='
|
67
67
|
- !ruby/object:Gem::Version
|
68
68
|
version: '0'
|
69
69
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
70
70
|
requirements:
|
71
|
-
- -
|
71
|
+
- - '>='
|
72
72
|
- !ruby/object:Gem::Version
|
73
73
|
version: '0'
|
74
74
|
requirements: []
|
75
75
|
rubyforge_project:
|
76
|
-
rubygems_version: 2.
|
76
|
+
rubygems_version: 2.0.14.1
|
77
77
|
signing_key:
|
78
78
|
specification_version: 4
|
79
79
|
summary: Tools for encoding and decoding GSM SMS PDUs.
|