rtedexis 0.0.2 → 0.1.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: ff585fd7cb217886d15ec722c2032107e33afc84
4
- data.tar.gz: 57b949301db6e2bd8eb26856f5f81c6b731e147d
3
+ metadata.gz: 969abb671eda791fd334e2eb72feb54c40accdd8
4
+ data.tar.gz: da27b5151337d599619e4c8b16f6ff04d3cbf32b
5
5
  SHA512:
6
- metadata.gz: 859aa7852d84c9748d8235067871bbe51dea24c0b7922db1e640cf74b9ba48e1c6f0869413e59fb13c73020ffd4118549719298a7d9135ccaf56be093a2b8241
7
- data.tar.gz: 904c197d11a930252adc539d23fbe380c1389f032c32ca22cdff012c5434dc9db6ea3b10e196fc27ea960159df2aedbfe515b08ad5f45b682a96b209bb03d557
6
+ metadata.gz: 8c2fae3452abf4894ff179a98f501d8c22d68f2df2e908565cde843c46dfb3ade1268cb7edbf8c24502ed76d34e7a3661b65a65f23ae63fbfb3ff5d14456d0a2
7
+ data.tar.gz: b2efd0f50ea0df06b6039d7787dcd54f91c8f60b1bbf3dc45580934ef43a0ca1d947bf94fa9a75df4e80b12cc4821946cc566cd86de826175b9972e4519d4876
@@ -0,0 +1,6 @@
1
+ class Rtedexis::SFTP::Response
2
+ attr_accessor :invalid_numbers
3
+ def initialize(args = {})
4
+ @invalid_numbers = args[:invalid_numbers]
5
+ end
6
+ end
data/lib/rtedexis/sftp.rb CHANGED
@@ -16,22 +16,28 @@ class Rtedexis::SFTP
16
16
 
17
17
  def send(number_list, text)
18
18
  if number_list.kind_of?(Array) and !text.empty?
19
- write_file_to_sftp_server(format_file_content(number_list, text))
19
+ file_content = generate_file_content(number_list, text)
20
+ write_file_to_sftp_server(file_content[:for_delivery])
20
21
  end
22
+ Response.new(invalid_numbers: file_content[:invalid_numbers])
21
23
  end
22
24
 
23
25
  private
24
26
 
25
- def format_file_content(number_list, text)
26
- result = ""
27
+ def generate_file_content(number_list, text)
28
+ result = {for_delivery: String.new, invalid_numbers: Array.new}
27
29
  number_list.each do |number|
28
- sended_point = 0
29
- while text.length > sended_point
30
- result << get_operator_code(number) + ';' + get_number_without_operator_code(number) + ';' + text[sended_point, 160] + "\n"
31
- sended_point += 160
32
- end
33
- end
34
- result
30
+ if is_in_cellphone_format?(number)
31
+ sended_point = 0
32
+ while text.length > sended_point
33
+ result[:for_delivery] << get_operator_code(number) + ';' + get_number_without_operator_code(number) + ';' + text[sended_point, 160] + "\n"
34
+ sended_point += 160
35
+ end
36
+ else
37
+ result[:invalid_numbers] << number
38
+ end
39
+ end
40
+ result
35
41
  end
36
42
 
37
43
  def get_operator_code(number)
@@ -66,5 +72,11 @@ class Rtedexis::SFTP
66
72
  @last_file_sended = file_name
67
73
  end
68
74
 
75
+ def is_in_cellphone_format?(number)
76
+ true if is_number?(number) and (number.length == 10 or number.length == 11)
77
+ end
69
78
 
79
+ def is_number?(string)
80
+ true if Integer(string) rescue false
81
+ end
70
82
  end
@@ -1,3 +1,3 @@
1
1
  module Rtedexis
2
- VERSION = "0.0.2"
2
+ VERSION = "0.1.0"
3
3
  end
data/lib/rtedexis.rb CHANGED
@@ -1,6 +1,8 @@
1
1
  require "rtedexis/version"
2
2
  require "rtedexis/soap"
3
3
  require "rtedexis/sftp"
4
+ require "rtedexis/response"
5
+
4
6
  module Rtedexis
5
7
 
6
8
  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.0.2
4
+ version: 0.1.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-03-31 00:00:00.000000000 Z
11
+ date: 2016-04-01 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -97,6 +97,7 @@ files:
97
97
  - bin/console
98
98
  - bin/setup
99
99
  - lib/rtedexis.rb
100
+ - lib/rtedexis/response.rb
100
101
  - lib/rtedexis/sftp.rb
101
102
  - lib/rtedexis/soap.rb
102
103
  - lib/rtedexis/version.rb