rtedexis 0.1.0 → 0.2.0
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 +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
|