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 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