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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 969abb671eda791fd334e2eb72feb54c40accdd8
4
- data.tar.gz: da27b5151337d599619e4c8b16f6ff04d3cbf32b
3
+ metadata.gz: 4bdee5d531e5d5d39d27885023d5c67f94697208
4
+ data.tar.gz: ceded01a95fb356393e1b5dbe11553b307bc405c
5
5
  SHA512:
6
- metadata.gz: 8c2fae3452abf4894ff179a98f501d8c22d68f2df2e908565cde843c46dfb3ade1268cb7edbf8c24502ed76d34e7a3661b65a65f23ae63fbfb3ff5d14456d0a2
7
- data.tar.gz: b2efd0f50ea0df06b6039d7787dcd54f91c8f60b1bbf3dc45580934ef43a0ca1d947bf94fa9a75df4e80b12cc4821946cc566cd86de826175b9972e4519d4876
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
 
@@ -1,6 +1,7 @@
1
1
  class Rtedexis::SFTP::Response
2
- attr_accessor :invalid_numbers
2
+ attr_accessor :invalid_numbers, :messages_sended
3
3
  def initialize(args = {})
4
4
  @invalid_numbers = args[:invalid_numbers]
5
+ @messages_sended = args[:messages_sended]
5
6
  end
6
7
  end
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]
@@ -1,3 +1,3 @@
1
1
  module Rtedexis
2
- VERSION = "0.1.0"
2
+ VERSION = "0.2.0"
3
3
  end
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.1.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-01 00:00:00.000000000 Z
11
+ date: 2016-08-04 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler