rtedexis 0.1.0 → 0.2.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/README.md +46 -0
- data/lib/rtedexis/response.rb +2 -1
- data/lib/rtedexis/sftp.rb +26 -3
- data/lib/rtedexis/version.rb +1 -1
- 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: 4bdee5d531e5d5d39d27885023d5c67f94697208
|
4
|
+
data.tar.gz: ceded01a95fb356393e1b5dbe11553b307bc405c
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 339dc48162f626d691cf9dddf76bf2ab9bc88bdd794787415609a6b795cc553176d943084124cc32eb41e55e8c438215415a916c65cfaf27992b250914055d8d
|
7
|
+
data.tar.gz: b5c07d3eca4bbd608ed32eb180fb2a06e7015e02104205e6d0ad9e0f73cd77441d1ed35235c12d4644442e08b5e2872c4352f995f163de64157f1bdc0aebab0f
|
data/README.md
CHANGED
@@ -1,3 +1,49 @@
|
|
1
1
|
# Rtedexis
|
2
2
|
|
3
|
+
This is a solution for integrate a Ruby application with Tedexis SMS delivery Tool
|
4
|
+
any information for get Tedexis services is in it's website [Tedexis](http://www.tedexis.com)
|
5
|
+
|
6
|
+
At the moment only is compatible with two integrations tools for SMS delivery:
|
7
|
+
|
8
|
+
*SOAP
|
9
|
+
*SFTP
|
10
|
+
|
11
|
+
## Getting started
|
12
|
+
|
13
|
+
For install this gem you could do running this on your terminal
|
14
|
+
|
15
|
+
```console
|
16
|
+
gem install rtedexis
|
17
|
+
```
|
18
|
+
then add this to your Gemfile
|
19
|
+
|
20
|
+
```ruby
|
21
|
+
gem 'rtedexis'
|
22
|
+
```
|
23
|
+
|
24
|
+
and require it
|
25
|
+
|
26
|
+
```ruby
|
27
|
+
require 'rtedexis'
|
28
|
+
```
|
29
|
+
|
30
|
+
# SOAP
|
31
|
+
|
32
|
+
For individual delivery of SMS you could use SOAP tool on this way
|
33
|
+
|
34
|
+
|
35
|
+
```ruby
|
36
|
+
Rtedexis.SOAP.new(passport: 'yourpassport', password: 'yourpassword').send('4125491920', 'Text Here!')
|
37
|
+
```
|
38
|
+
|
39
|
+
You don't require to write the cellphone number with '+58' format
|
40
|
+
|
41
|
+
#SFTP
|
42
|
+
|
43
|
+
For massive sms delivery with SFTP tool you could use this:
|
44
|
+
|
45
|
+
```ruby
|
46
|
+
Rtedexis.SFTP.new(username: 'username', password: 'yourpassword').send(['4125491920', '4168605522'], 'Text here')
|
47
|
+
```
|
48
|
+
this method recieve an array for the numbers that will delivery the SMS
|
3
49
|
|
data/lib/rtedexis/response.rb
CHANGED
data/lib/rtedexis/sftp.rb
CHANGED
@@ -12,26 +12,32 @@ class Rtedexis::SFTP
|
|
12
12
|
@config[key] = value
|
13
13
|
end
|
14
14
|
@config
|
15
|
-
end
|
15
|
+
end
|
16
16
|
|
17
17
|
def send(number_list, text)
|
18
18
|
if number_list.kind_of?(Array) and !text.empty?
|
19
19
|
file_content = generate_file_content(number_list, text)
|
20
20
|
write_file_to_sftp_server(file_content[:for_delivery])
|
21
21
|
end
|
22
|
-
Response.new(invalid_numbers: file_content[:invalid_numbers])
|
22
|
+
Response.new(invalid_numbers: file_content[:invalid_numbers], messages_sended: file_content[:messages_sended])
|
23
|
+
end
|
24
|
+
|
25
|
+
def send_with_diferent_text(numbers)
|
26
|
+
file_content = generate_file_content_for_individual_messages(numbers)
|
27
|
+
write_file_to_sftp_server(file_content[:for_delivery])
|
23
28
|
end
|
24
29
|
|
25
30
|
private
|
26
31
|
|
27
32
|
def generate_file_content(number_list, text)
|
28
|
-
result = {for_delivery: String.new, invalid_numbers: Array.new}
|
33
|
+
result = {for_delivery: String.new, invalid_numbers: Array.new, messages_sended: 0}
|
29
34
|
number_list.each do |number|
|
30
35
|
if is_in_cellphone_format?(number)
|
31
36
|
sended_point = 0
|
32
37
|
while text.length > sended_point
|
33
38
|
result[:for_delivery] << get_operator_code(number) + ';' + get_number_without_operator_code(number) + ';' + text[sended_point, 160] + "\n"
|
34
39
|
sended_point += 160
|
40
|
+
result[:messages_sended] += 1
|
35
41
|
end
|
36
42
|
else
|
37
43
|
result[:invalid_numbers] << number
|
@@ -40,6 +46,23 @@ class Rtedexis::SFTP
|
|
40
46
|
result
|
41
47
|
end
|
42
48
|
|
49
|
+
def generate_file_content_for_individual_messages(items)
|
50
|
+
result = {for_delivery: String.new, invalid_numbers: Array.new, messages_sended: 0}
|
51
|
+
items.each do |item|
|
52
|
+
if is_in_cellphone_format?(item[:number])
|
53
|
+
sended_point = 0
|
54
|
+
while item[:text].length > sended_point
|
55
|
+
result[:for_delivery] << get_operator_code(item[:number]) + ';' + get_number_without_operator_code(item[:number]) + ';' + item[:text][sended_point, 160] + "\n"
|
56
|
+
sended_point += 160
|
57
|
+
result[:messages_sended] += 1
|
58
|
+
end
|
59
|
+
else
|
60
|
+
result[:invalid_numbers] << item
|
61
|
+
end
|
62
|
+
end
|
63
|
+
result
|
64
|
+
end
|
65
|
+
|
43
66
|
def get_operator_code(number)
|
44
67
|
if number[0] == '0'
|
45
68
|
number[1,3]
|
data/lib/rtedexis/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: rtedexis
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.2.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Nerio Navea
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2016-04
|
11
|
+
date: 2016-08-04 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|