smspromote 0.0.1 → 0.0.2
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/lib/smspromote.rb +4 -7
- data/lib/smspromote/encoding.rb +309 -0
- data/lib/smspromote/gateway.rb +6 -0
- metadata +46 -17
data/lib/smspromote.rb
CHANGED
@@ -1,13 +1,10 @@
|
|
1
1
|
module SmsPromote
|
2
|
-
VERSION = "0.0.
|
2
|
+
VERSION = "0.0.2"
|
3
3
|
end
|
4
4
|
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
require 'rubygems'
|
9
|
-
require 'rest_client'
|
10
|
-
end
|
5
|
+
gem 'rest-client', '>= 1.6.0'
|
6
|
+
|
7
|
+
require 'rest_client'
|
11
8
|
|
12
9
|
require 'smspromote/message'
|
13
10
|
require 'smspromote/gateway'
|
@@ -0,0 +1,309 @@
|
|
1
|
+
module Encoding
|
2
|
+
GSM_UNICODE = [
|
3
|
+
0x0040, # 0x00 COMMERCIAL AT
|
4
|
+
0x00A3, # 0x01 POUND SIGN
|
5
|
+
0x0024, # 0x02 DOLLAR SIGN
|
6
|
+
0x00A5, # 0x03 YEN SIGN
|
7
|
+
0x00E8, # 0x04 LATIN SMALL LETTER E WITH GRAVE
|
8
|
+
0x00E9, # 0x05 LATIN SMALL LETTER E WITH ACUTE
|
9
|
+
0x00F9, # 0x06 LATIN SMALL LETTER U WITH GRAVE
|
10
|
+
0x00EC, # 0x07 LATIN SMALL LETTER I WITH GRAVE
|
11
|
+
0x00F2, # 0x08 LATIN SMALL LETTER O WITH GRAVE
|
12
|
+
0x00E7, # 0x09 LATIN SMALL LETTER C WITH CEDILLA
|
13
|
+
0x000A, # 0x0A LINE FEED
|
14
|
+
0x00D8, # 0x0B LATIN CAPITAL LETTER O WITH STROKE
|
15
|
+
0x00F8, # 0x0C LATIN SMALL LETTER O WITH STROKE
|
16
|
+
0x000D, # 0x0D CARRIAGE RETURN
|
17
|
+
0x00C5, # 0x0E LATIN CAPITAL LETTER A WITH RING ABOVE
|
18
|
+
0x00E5, # 0x0F LATIN SMALL LETTER A WITH RING ABOVE
|
19
|
+
0x0394, # 0x10 GREEK CAPITAL LETTER DELTA
|
20
|
+
0x005F, # 0x11 LOW LINE
|
21
|
+
0x03A6, # 0x12 GREEK CAPITAL LETTER PHI
|
22
|
+
0x0393, # 0x13 GREEK CAPITAL LETTER GAMMA
|
23
|
+
0x039B, # 0x14 GREEK CAPITAL LETTER LAMDA
|
24
|
+
0x03A9, # 0x15 GREEK CAPITAL LETTER OMEGA
|
25
|
+
0x03A0, # 0x16 GREEK CAPITAL LETTER PI
|
26
|
+
0x03A8, # 0x17 GREEK CAPITAL LETTER PSI
|
27
|
+
0x03A3, # 0x18 GREEK CAPITAL LETTER SIGMA
|
28
|
+
0x0398, # 0x19 GREEK CAPITAL LETTER THETA
|
29
|
+
0x039E, # 0x1A GREEK CAPITAL LETTER XI
|
30
|
+
0x00A0, # 0x1B ESCAPE TO EXTENSION TABLE
|
31
|
+
0x00C6, # 0x1C LATIN CAPITAL LETTER AE
|
32
|
+
0x00E6, # 0x1D LATIN SMALL LETTER AE
|
33
|
+
0x00DF, # 0x1E LATIN SMALL LETTER SHARP S (German)
|
34
|
+
0x00C9, # 0x1F LATIN CAPITAL LETTER E WITH ACUTE
|
35
|
+
0x0020, # 0x20 SPACE
|
36
|
+
0x0021, # 0x21 EXCLAMATION MARK
|
37
|
+
0x0022, # 0x22 QUOTATION MARK
|
38
|
+
0x0023, # 0x23 NUMBER SIGN
|
39
|
+
0x00A4, # 0x24 CURRENCY SIGN
|
40
|
+
0x0025, # 0x25 PERCENT SIGN
|
41
|
+
0x0026, # 0x26 AMPERSAND
|
42
|
+
0x0027, # 0x27 APOSTROPHE
|
43
|
+
0x0028, # 0x28 LEFT PARENTHESIS
|
44
|
+
0x0029, # 0x29 RIGHT PARENTHESIS
|
45
|
+
0x002A, # 0x2A ASTERISK
|
46
|
+
0x002B, # 0x2B PLUS SIGN
|
47
|
+
0x002C, # 0x2C COMMA
|
48
|
+
0x002D, # 0x2D HYPHEN-MINUS
|
49
|
+
0x002E, # 0x2E FULL STOP
|
50
|
+
0x002F, # 0x2F SOLIDUS
|
51
|
+
0x0030, # 0x30 DIGIT ZERO
|
52
|
+
0x0031, # 0x31 DIGIT ONE
|
53
|
+
0x0032, # 0x32 DIGIT TWO
|
54
|
+
0x0033, # 0x33 DIGIT THREE
|
55
|
+
0x0034, # 0x34 DIGIT FOUR
|
56
|
+
0x0035, # 0x35 DIGIT FIVE
|
57
|
+
0x0036, # 0x36 DIGIT SIX
|
58
|
+
0x0037, # 0x37 DIGIT SEVEN
|
59
|
+
0x0038, # 0x38 DIGIT EIGHT
|
60
|
+
0x0039, # 0x39 DIGIT NINE
|
61
|
+
0x003A, # 0x3A COLON
|
62
|
+
0x003B, # 0x3B SEMICOLON
|
63
|
+
0x003C, # 0x3C LESS-THAN SIGN
|
64
|
+
0x003D, # 0x3D EQUALS SIGN
|
65
|
+
0x003E, # 0x3E GREATER-THAN SIGN
|
66
|
+
0x003F, # 0x3F QUESTION MARK
|
67
|
+
0x00A1, # 0x40 INVERTED EXCLAMATION MARK
|
68
|
+
0x0041, # 0x41 LATIN CAPITAL LETTER A
|
69
|
+
0x0042, # 0x42 LATIN CAPITAL LETTER B
|
70
|
+
0x0043, # 0x43 LATIN CAPITAL LETTER C
|
71
|
+
0x0044, # 0x44 LATIN CAPITAL LETTER D
|
72
|
+
0x0045, # 0x45 LATIN CAPITAL LETTER E
|
73
|
+
0x0046, # 0x46 LATIN CAPITAL LETTER F
|
74
|
+
0x0047, # 0x47 LATIN CAPITAL LETTER G
|
75
|
+
0x0048, # 0x48 LATIN CAPITAL LETTER H
|
76
|
+
0x0049, # 0x49 LATIN CAPITAL LETTER I
|
77
|
+
0x004A, # 0x4A LATIN CAPITAL LETTER J
|
78
|
+
0x004B, # 0x4B LATIN CAPITAL LETTER K
|
79
|
+
0x004C, # 0x4C LATIN CAPITAL LETTER L
|
80
|
+
0x004D, # 0x4D LATIN CAPITAL LETTER M
|
81
|
+
0x004E, # 0x4E LATIN CAPITAL LETTER N
|
82
|
+
0x004F, # 0x4F LATIN CAPITAL LETTER O
|
83
|
+
0x0050, # 0x50 LATIN CAPITAL LETTER P
|
84
|
+
0x0051, # 0x51 LATIN CAPITAL LETTER Q
|
85
|
+
0x0052, # 0x52 LATIN CAPITAL LETTER R
|
86
|
+
0x0053, # 0x53 LATIN CAPITAL LETTER S
|
87
|
+
0x0054, # 0x54 LATIN CAPITAL LETTER T
|
88
|
+
0x0055, # 0x55 LATIN CAPITAL LETTER U
|
89
|
+
0x0056, # 0x56 LATIN CAPITAL LETTER V
|
90
|
+
0x0057, # 0x57 LATIN CAPITAL LETTER W
|
91
|
+
0x0058, # 0x58 LATIN CAPITAL LETTER X
|
92
|
+
0x0059, # 0x59 LATIN CAPITAL LETTER Y
|
93
|
+
0x005A, # 0x5A LATIN CAPITAL LETTER Z
|
94
|
+
0x00C4, # 0x5B LATIN CAPITAL LETTER A WITH DIAERESIS
|
95
|
+
0x00D6, # 0x5C LATIN CAPITAL LETTER O WITH DIAERESIS
|
96
|
+
0x00D1, # 0x5D LATIN CAPITAL LETTER N WITH TILDE
|
97
|
+
0x00DC, # 0x5E LATIN CAPITAL LETTER U WITH DIAERESIS
|
98
|
+
0x00A7, # 0x5F SECTION SIGN
|
99
|
+
0x00BF, # 0x60 INVERTED QUESTION MARK
|
100
|
+
0x0061, # 0x61 LATIN SMALL LETTER A
|
101
|
+
0x0062, # 0x62 LATIN SMALL LETTER B
|
102
|
+
0x0063, # 0x63 LATIN SMALL LETTER C
|
103
|
+
0x0064, # 0x64 LATIN SMALL LETTER D
|
104
|
+
0x0065, # 0x65 LATIN SMALL LETTER E
|
105
|
+
0x0066, # 0x66 LATIN SMALL LETTER F
|
106
|
+
0x0067, # 0x67 LATIN SMALL LETTER G
|
107
|
+
0x0068, # 0x68 LATIN SMALL LETTER H
|
108
|
+
0x0069, # 0x69 LATIN SMALL LETTER I
|
109
|
+
0x006A, # 0x6A LATIN SMALL LETTER J
|
110
|
+
0x006B, # 0x6B LATIN SMALL LETTER K
|
111
|
+
0x006C, # 0x6C LATIN SMALL LETTER L
|
112
|
+
0x006D, # 0x6D LATIN SMALL LETTER M
|
113
|
+
0x006E, # 0x6E LATIN SMALL LETTER N
|
114
|
+
0x006F, # 0x6F LATIN SMALL LETTER O
|
115
|
+
0x0070, # 0x70 LATIN SMALL LETTER P
|
116
|
+
0x0071, # 0x71 LATIN SMALL LETTER Q
|
117
|
+
0x0072, # 0x72 LATIN SMALL LETTER R
|
118
|
+
0x0073, # 0x73 LATIN SMALL LETTER S
|
119
|
+
0x0074, # 0x74 LATIN SMALL LETTER T
|
120
|
+
0x0075, # 0x75 LATIN SMALL LETTER U
|
121
|
+
0x0076, # 0x76 LATIN SMALL LETTER V
|
122
|
+
0x0077, # 0x77 LATIN SMALL LETTER W
|
123
|
+
0x0078, # 0x78 LATIN SMALL LETTER X
|
124
|
+
0x0079, # 0x79 LATIN SMALL LETTER Y
|
125
|
+
0x007A, # 0x7A LATIN SMALL LETTER Z
|
126
|
+
0x00E4, # 0x7B LATIN SMALL LETTER A WITH DIAERESIS
|
127
|
+
0x00F6, # 0x7C LATIN SMALL LETTER O WITH DIAERESIS
|
128
|
+
0x00F1, # 0x7D LATIN SMALL LETTER N WITH TILDE
|
129
|
+
0x00FC, # 0x7E LATIN SMALL LETTER U WITH DIAERESIS
|
130
|
+
0x00E0 # 0x7F LATIN SMALL LETTER A WITH GRAVE
|
131
|
+
]
|
132
|
+
|
133
|
+
GSM_ESCAPES = [
|
134
|
+
{ :from => 0x0A, :to => 0x000C }, /* FORM FEED
|
135
|
+
{ :from => 0x14, :to => 0x005E }, /* CIRCUMFLEX ACCENT
|
136
|
+
{ :from => 0x28, :to => 0x007B }, /* LEFT CURLY BRACKET
|
137
|
+
{ :from => 0x29, :to => 0x007D }, /* RIGHT CURLY BRACKET
|
138
|
+
{ :from => 0x2F, :to => 0x005C }, /* REVERSE SOLIDUS
|
139
|
+
{ :from => 0x3C, :to => 0x005B }, /* LEFT SQUARE BRACKET
|
140
|
+
{ :from => 0x3D, :to => 0x007E }, /* TILDE
|
141
|
+
{ :from => 0x3E, :to => 0x005D }, /* RIGHT SQUARE BRACKET
|
142
|
+
{ :from => 0x40, :to => 0x007C }, /* VERTICAL LINE
|
143
|
+
{ :from => 0x65, :to => 0x20AC }, /* EURO SIGN
|
144
|
+
{ :from => 0 , :to => 0 }
|
145
|
+
]
|
146
|
+
|
147
|
+
end
|
148
|
+
|
149
|
+
|
150
|
+
static int
|
151
|
+
gsm7_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, int n)
|
152
|
+
{
|
153
|
+
int i = 0;
|
154
|
+
if( *s > 0x7f )
|
155
|
+
return RET_ILSEQ;
|
156
|
+
else if( *s == 0x1B ) {
|
157
|
+
if( n >= 2 ) {
|
158
|
+
while( gsmEscapes[ i ].from ) {
|
159
|
+
if( gsmEscapes[ i ].from == s[1] ) {
|
160
|
+
*pwc = gsmEscapes[ i ].to;
|
161
|
+
return 2;
|
162
|
+
}
|
163
|
+
i++;
|
164
|
+
}
|
165
|
+
return RET_ILSEQ;
|
166
|
+
} else
|
167
|
+
return RET_TOOFEW( 1 );
|
168
|
+
}
|
169
|
+
*pwc = gsmToUnicode[ *s ];
|
170
|
+
return 1;
|
171
|
+
}
|
172
|
+
static int
|
173
|
+
gsm7_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, int n)
|
174
|
+
{
|
175
|
+
unsigned char s1, s2;
|
176
|
+
s1 = (wc & 0xff00) >> 8;
|
177
|
+
s2 = wc & 0x00ff;
|
178
|
+
if( s1 == 0x00 ) {
|
179
|
+
if( s2 == 0xA || s2 == 0xD ||
|
180
|
+
(s2 >= 0x20 && s2 <= 0x23 ) || (s2 >= 0x25 && s2 <= 0x3f)
|
181
|
+
|| (s2 >= 0x41 && s2 <= 0x5A) || (s2 >= 0x61 && s2 <= 0x7A) ) {
|
182
|
+
*r = s2;
|
183
|
+
return 1;
|
184
|
+
} else {
|
185
|
+
switch( s2 ) {
|
186
|
+
case 0x24: *r = 0x02; return 1;
|
187
|
+
case 0x40: *r = 0x00; return 1;
|
188
|
+
case 0x5b: if( n >= 2 ) {r[0] = 0x1b; r[1] = 0x3c; return 2; }
|
189
|
+
else return RET_TOOSMALL;
|
190
|
+
case 0x5c: if( n >= 2 ) {r[0] = 0x1b; r[1] = 0x2f; return 2; }
|
191
|
+
else return RET_TOOSMALL;
|
192
|
+
case 0x5d: if( n >= 2 ) {r[0] = 0x1b; r[1] = 0x3e; return 2; }
|
193
|
+
else return RET_TOOSMALL;
|
194
|
+
case 0x5e: if( n >= 2 ) {r[0] = 0x1b; r[1] = 0x14; return 2; }
|
195
|
+
else return RET_TOOSMALL;
|
196
|
+
case 0x5f: *r = 0x11; return 1;
|
197
|
+
case 0x7b: if( n >= 2 ) {r[0] = 0x1b; r[1] = 0x28; return 2; }
|
198
|
+
else return RET_TOOSMALL;
|
199
|
+
case 0x7c: if( n >= 2 ) {r[0] = 0x1b; r[1] = 0x40; return 2; }
|
200
|
+
else return RET_TOOSMALL;
|
201
|
+
case 0x7d: if( n >= 2 ) {r[0] = 0x1b; r[1] = 0x29; return 2; }
|
202
|
+
else return RET_TOOSMALL;
|
203
|
+
case 0x7e: if( n >= 2 ) {r[0] = 0x1b; r[1] = 0x3d; return 2; }
|
204
|
+
else return RET_TOOSMALL;
|
205
|
+
case 0xa3: *r = 0x01; return 1;
|
206
|
+
case 0xa4: *r = 0x24; return 1;
|
207
|
+
case 0xa5: *r = 0x03; return 1;
|
208
|
+
case 0xa7: *r = 0x5f; return 1;
|
209
|
+
case 0xb0: *r = 0x24; return 1;
|
210
|
+
case 0xbf: *r = 0x60; return 1;
|
211
|
+
case 0xc5: *r = 0x0e; return 1;
|
212
|
+
case 0xc6: *r = 0x1c; return 1;
|
213
|
+
case 0xc7: *r = 0x09; return 1;
|
214
|
+
case 0xc9: *r = 0x1f; return 1;
|
215
|
+
case 0xc4: *r = 0x5b; return 1;
|
216
|
+
case 0xd1: *r = 0x5d; return 1;
|
217
|
+
case 0xd6: *r = 0x5c; return 1;
|
218
|
+
case 0xd8: *r = 0x0b; return 1;
|
219
|
+
case 0xdc: *r = 0x5e; return 1;
|
220
|
+
case 0xdf: *r = 0x1e; return 1;
|
221
|
+
case 0xe0: *r = 0x7f; return 1;
|
222
|
+
case 0xe4: *r = 0x7b; return 1;
|
223
|
+
case 0xe5: *r = 0x0f; return 1;
|
224
|
+
case 0xe6: *r = 0x1d; return 1;
|
225
|
+
case 0xe7: *r = 0x09; return 1;
|
226
|
+
case 0xe8: *r = 0x04; return 1;
|
227
|
+
case 0xe9: *r = 0x05; return 1;
|
228
|
+
case 0xec: *r = 0x07; return 1;
|
229
|
+
case 0xf1: *r = 0x7d; return 1;
|
230
|
+
case 0xf2: *r = 0x08; return 1;
|
231
|
+
case 0xf6: *r = 0x7c; return 1;
|
232
|
+
case 0xf8: *r = 0x0c; return 1;
|
233
|
+
case 0xf9: *r = 0x06; return 1;
|
234
|
+
case 0xfc: *r = 0x7e; return 1;
|
235
|
+
/* one way mappings
|
236
|
+
case 0xc0: *r = 0x41; return 1;
|
237
|
+
case 0xc1: *r = 0x41; return 1;
|
238
|
+
case 0xc2: *r = 0x41; return 1;
|
239
|
+
case 0xc3: *r = 0x41; return 1;
|
240
|
+
case 0xc8: *r = 0x45; return 1;
|
241
|
+
case 0xca: *r = 0x45; return 1;
|
242
|
+
case 0xcb: *r = 0x45; return 1;
|
243
|
+
case 0xcc: *r = 0x49; return 1;
|
244
|
+
case 0xcd: *r = 0x49; return 1;
|
245
|
+
case 0xce: *r = 0x49; return 1;
|
246
|
+
case 0xcf: *r = 0x49; return 1;
|
247
|
+
case 0xd2: *r = 0x4f; return 1;
|
248
|
+
case 0xd3: *r = 0x4f; return 1;
|
249
|
+
case 0xd4: *r = 0x4f; return 1;
|
250
|
+
case 0xd5: *r = 0x4f; return 1;
|
251
|
+
case 0xd9: *r = 0x55; return 1;
|
252
|
+
case 0xda: *r = 0x55; return 1;
|
253
|
+
case 0xdb: *r = 0x55; return 1;
|
254
|
+
case 0xdd: *r = 0x59; return 1;
|
255
|
+
case 0xe1: *r = 0x61; return 1;
|
256
|
+
case 0xe2: *r = 0x61; return 1;
|
257
|
+
case 0xe3: *r = 0x61; return 1;
|
258
|
+
case 0xea: *r = 0x65; return 1;
|
259
|
+
case 0xeb: *r = 0x65; return 1;
|
260
|
+
case 0xed: *r = 0x69; return 1;
|
261
|
+
case 0xee: *r = 0x69; return 1;
|
262
|
+
case 0xef: *r = 0x69; return 1;
|
263
|
+
case 0xf3: *r = 0x6f; return 1;
|
264
|
+
case 0xf4: *r = 0x6f; return 1;
|
265
|
+
case 0xf5: *r = 0x6f; return 1;
|
266
|
+
case 0xfa: *r = 0x75; return 1;
|
267
|
+
case 0xfb: *r = 0x75; return 1;
|
268
|
+
case 0xfd: *r = 0x79; return 1;
|
269
|
+
case 0xff: *r = 0x79; return 1;
|
270
|
+
}
|
271
|
+
}
|
272
|
+
return RET_ILUNI;
|
273
|
+
} else if( s1 == 0x20 ) {
|
274
|
+
if( s2 == 0xac ) {
|
275
|
+
if( n >= 2 ) {
|
276
|
+
r[0] = 0x1b; r[1] = 0x65; return 2;
|
277
|
+
} else return RET_TOOSMALL;
|
278
|
+
}
|
279
|
+
} else if( s1 = 0x03 ) {
|
280
|
+
switch( s2 ) {
|
281
|
+
case 0x94: *r = 0x10; return 1;
|
282
|
+
case 0xa6: *r = 0x12; return 1;
|
283
|
+
case 0x93: *r = 0x13; return 1;
|
284
|
+
case 0x9b: *r = 0x14; return 1;
|
285
|
+
case 0xa9: *r = 0x15; return 1;
|
286
|
+
case 0xa0: *r = 0x16; return 1;
|
287
|
+
case 0xa8: *r = 0x17; return 1;
|
288
|
+
case 0xa3: *r = 0x18; return 1;
|
289
|
+
case 0x98: *r = 0x19; return 1;
|
290
|
+
case 0x9e: *r = 0x1a; return 1;
|
291
|
+
case 0x91: *r = 0x41; return 1;
|
292
|
+
case 0x92: *r = 0x42; return 1;
|
293
|
+
case 0x95: *r = 0x45; return 1;
|
294
|
+
case 0x97: *r = 0x48; return 1;
|
295
|
+
case 0x99: *r = 0x49; return 1;
|
296
|
+
case 0x9a: *r = 0x4b; return 1;
|
297
|
+
case 0x9c: *r = 0x4d; return 1;
|
298
|
+
case 0x9d: *r = 0x4e; return 1;
|
299
|
+
case 0x9f: *r = 0x4f; return 1;
|
300
|
+
case 0xa1: *r = 0x50; return 1;
|
301
|
+
case 0xa4: *r = 0x54; return 1;
|
302
|
+
case 0xa5: *r = 0x55; return 1;
|
303
|
+
case 0xa7: *r = 0x58; return 1;
|
304
|
+
case 0x96: *r = 0x5a; return 1;
|
305
|
+
}
|
306
|
+
return RET_ILUNI;
|
307
|
+
}
|
308
|
+
return RET_ILUNI;
|
309
|
+
}
|
data/lib/smspromote/gateway.rb
CHANGED
@@ -47,6 +47,12 @@ module SmsPromote
|
|
47
47
|
message
|
48
48
|
end
|
49
49
|
|
50
|
+
# returns the credits left for the gateway
|
51
|
+
def credits
|
52
|
+
url = @options[:secure] ? "https://" : "http://"
|
53
|
+
RestClient.get("gateway.smspromote.de/credits/?key=#{@api_key}").to_f
|
54
|
+
end
|
55
|
+
|
50
56
|
# returns the response message hash based on the body data
|
51
57
|
def parse_response(body)
|
52
58
|
lines = body.split(/\n/)
|
metadata
CHANGED
@@ -1,7 +1,13 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: smspromote
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
|
4
|
+
hash: 27
|
5
|
+
prerelease: false
|
6
|
+
segments:
|
7
|
+
- 0
|
8
|
+
- 0
|
9
|
+
- 2
|
10
|
+
version: 0.0.2
|
5
11
|
platform: ruby
|
6
12
|
authors:
|
7
13
|
- Vincent Landgraf
|
@@ -9,39 +15,53 @@ autorequire:
|
|
9
15
|
bindir: bin
|
10
16
|
cert_chain: []
|
11
17
|
|
12
|
-
date: 2010-07-
|
18
|
+
date: 2010-07-24 00:00:00 +02:00
|
13
19
|
default_executable:
|
14
20
|
dependencies:
|
15
21
|
- !ruby/object:Gem::Dependency
|
16
22
|
name: rest-client
|
17
|
-
|
18
|
-
|
19
|
-
|
23
|
+
prerelease: false
|
24
|
+
requirement: &id001 !ruby/object:Gem::Requirement
|
25
|
+
none: false
|
20
26
|
requirements:
|
21
27
|
- - ">="
|
22
28
|
- !ruby/object:Gem::Version
|
29
|
+
hash: 15
|
30
|
+
segments:
|
31
|
+
- 1
|
32
|
+
- 6
|
33
|
+
- 0
|
23
34
|
version: 1.6.0
|
24
|
-
|
35
|
+
type: :runtime
|
36
|
+
version_requirements: *id001
|
25
37
|
- !ruby/object:Gem::Dependency
|
26
38
|
name: rake
|
27
|
-
|
28
|
-
|
29
|
-
|
39
|
+
prerelease: false
|
40
|
+
requirement: &id002 !ruby/object:Gem::Requirement
|
41
|
+
none: false
|
30
42
|
requirements:
|
31
43
|
- - ">="
|
32
44
|
- !ruby/object:Gem::Version
|
45
|
+
hash: 3
|
46
|
+
segments:
|
47
|
+
- 0
|
33
48
|
version: "0"
|
34
|
-
|
49
|
+
type: :development
|
50
|
+
version_requirements: *id002
|
35
51
|
- !ruby/object:Gem::Dependency
|
36
52
|
name: rspec
|
37
|
-
|
38
|
-
|
39
|
-
|
53
|
+
prerelease: false
|
54
|
+
requirement: &id003 !ruby/object:Gem::Requirement
|
55
|
+
none: false
|
40
56
|
requirements:
|
41
57
|
- - ">="
|
42
58
|
- !ruby/object:Gem::Version
|
59
|
+
hash: 3
|
60
|
+
segments:
|
61
|
+
- 0
|
43
62
|
version: "0"
|
44
|
-
|
63
|
+
type: :development
|
64
|
+
version_requirements: *id003
|
45
65
|
description: ""
|
46
66
|
email:
|
47
67
|
- vilandgr@googlemail.com
|
@@ -52,6 +72,7 @@ extensions: []
|
|
52
72
|
extra_rdoc_files: []
|
53
73
|
|
54
74
|
files:
|
75
|
+
- lib/smspromote/encoding.rb
|
55
76
|
- lib/smspromote/gateway.rb
|
56
77
|
- lib/smspromote/message.rb
|
57
78
|
- lib/smspromote.rb
|
@@ -67,21 +88,29 @@ rdoc_options: []
|
|
67
88
|
require_paths:
|
68
89
|
- lib
|
69
90
|
required_ruby_version: !ruby/object:Gem::Requirement
|
91
|
+
none: false
|
70
92
|
requirements:
|
71
93
|
- - ">="
|
72
94
|
- !ruby/object:Gem::Version
|
95
|
+
hash: 3
|
96
|
+
segments:
|
97
|
+
- 0
|
73
98
|
version: "0"
|
74
|
-
version:
|
75
99
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
100
|
+
none: false
|
76
101
|
requirements:
|
77
102
|
- - ">="
|
78
103
|
- !ruby/object:Gem::Version
|
104
|
+
hash: 17
|
105
|
+
segments:
|
106
|
+
- 1
|
107
|
+
- 3
|
108
|
+
- 5
|
79
109
|
version: 1.3.5
|
80
|
-
version:
|
81
110
|
requirements: []
|
82
111
|
|
83
112
|
rubyforge_project:
|
84
|
-
rubygems_version: 1.3.
|
113
|
+
rubygems_version: 1.3.7
|
85
114
|
signing_key:
|
86
115
|
specification_version: 3
|
87
116
|
summary: this gem helps sending sms using the smspromote.de sms gateway
|