esendex4soap 0.4.9 → 0.4.26

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.
data/Gemfile CHANGED
@@ -1,6 +1,7 @@
1
1
  source "http://rubygems.org"
2
2
  gem 'jruby-openssl' if defined?(JRUBY_VERSION)
3
3
  gem 'savon', '~> 0.9.7'
4
+ gem 'log4r'
4
5
  group :development do
5
6
  gem "shoulda", ">= 0"
6
7
  gem "bundler", "~> 1.0.0"
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.4.9
1
+ 0.4.26
data/esendex4soap.gemspec CHANGED
@@ -5,7 +5,7 @@
5
5
 
6
6
  Gem::Specification.new do |s|
7
7
  s.name = %q{esendex4soap}
8
- s.version = "0.4.9"
8
+ s.version = "0.4.26"
9
9
 
10
10
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
11
  s.authors = [%q{Voip Scout}]
@@ -40,6 +40,7 @@ Gem::Specification.new do |s|
40
40
  if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
41
41
  s.add_runtime_dependency(%q<jruby-openssl>, [">= 0"])
42
42
  s.add_runtime_dependency(%q<savon>, ["~> 0.9.7"])
43
+ s.add_runtime_dependency(%q<log4r>, [">= 0"])
43
44
  s.add_development_dependency(%q<shoulda>, [">= 0"])
44
45
  s.add_development_dependency(%q<bundler>, ["~> 1.0.0"])
45
46
  s.add_development_dependency(%q<jeweler>, ["~> 1.6.4"])
@@ -47,6 +48,7 @@ Gem::Specification.new do |s|
47
48
  else
48
49
  s.add_dependency(%q<jruby-openssl>, [">= 0"])
49
50
  s.add_dependency(%q<savon>, ["~> 0.9.7"])
51
+ s.add_dependency(%q<log4r>, [">= 0"])
50
52
  s.add_dependency(%q<shoulda>, [">= 0"])
51
53
  s.add_dependency(%q<bundler>, ["~> 1.0.0"])
52
54
  s.add_dependency(%q<jeweler>, ["~> 1.6.4"])
@@ -55,6 +57,7 @@ Gem::Specification.new do |s|
55
57
  else
56
58
  s.add_dependency(%q<jruby-openssl>, [">= 0"])
57
59
  s.add_dependency(%q<savon>, ["~> 0.9.7"])
60
+ s.add_dependency(%q<log4r>, [">= 0"])
58
61
  s.add_dependency(%q<shoulda>, [">= 0"])
59
62
  s.add_dependency(%q<bundler>, ["~> 1.0.0"])
60
63
  s.add_dependency(%q<jeweler>, ["~> 1.6.4"])
data/lib/esendex4soap.rb CHANGED
@@ -1,8 +1,10 @@
1
1
  # -*- encoding : utf-8 -*-
2
2
  require 'savon'
3
+ require 'log4r'
3
4
 
4
5
  module Esendex
5
6
  class Client
7
+ include Log4r
6
8
  INBOX_SERVICE_WSDL = 'https://www.esendex.com/secure/messenger/soap/InboxService.asmx?wsdl'
7
9
  SEND_SERVICE_WSDL = 'https://www.esendex.com/secure/messenger/soap/SendService.asmx?wsdl'
8
10
 
@@ -14,31 +16,41 @@ module Esendex
14
16
  @password = args.shift
15
17
  @account_reference = args.shift
16
18
  @sent_message_ids = []
17
-
19
+
18
20
  Savon.configure do |config|
19
21
  config.raise_errors = true
20
22
  config.log = false
21
23
  config.log_level = :error
22
24
  HTTPI.log = false
23
25
  end
24
-
26
+
27
+ @log = Logger.new "#{self.class.name}"
28
+ @log.outputters = Outputter.stdout
29
+ @log.level = ERROR
30
+
25
31
  @message_kind = String.new
26
32
 
27
33
  end
28
34
 
29
35
  def send_message(recipient, text)
36
+ text = text.lstrip.rstrip
37
+ @log.debug "TO:#{recipient} text size:#{text.size}"
38
+
30
39
  if text.scan(/./mu).size == text.size
31
40
  sms_parts = text.scan(/.{610}/mu)
32
41
  sms_parts << text[sms_parts.to_s.size..text.size]
33
42
  @message_kind = 'Text'
43
+ @log.debug "#{@message_kind}:#{text.scan(/./mu)} = #{text.size}. #{sms_parts.size} part/s."
34
44
  sms(recipient, sms_parts)
35
45
  else
36
46
  sms_parts = text.scan(/.{70}/mu)
37
47
  sms_parts << text[sms_parts.to_s.size..text.size]
38
48
  @message_kind = 'Unicode'
49
+ @log.debug "#{@message_kind}:#{text.scan(/./mu)} != #{text.size}. #{sms_parts.size} part/s."
39
50
  sms(recipient, sms_parts)
40
51
  end
41
52
  end
53
+
42
54
  private
43
55
  def connect
44
56
  @client = Savon::Client.new(SEND_SERVICE_WSDL)
@@ -47,14 +59,19 @@ module Esendex
47
59
  end
48
60
 
49
61
  def sms(recipient, messages)
62
+ @log.debug "#{@message_kind}:#{messages.size} parts."
50
63
  connect
51
64
  messages.each do |message|
65
+ @log.debug "#{@message_kind}:#{message.size} bytes. Sending..."
52
66
  resp = @client.request :com, :send_message_full do |soap|
53
67
  soap.header["com:MessengerHeader"] = {"com:Username" => @username, "com:Password" => @password, "com:Account" => @account_reference}
54
68
  soap.body = {"com:recipient" => recipient, "com:body" => message, "com:type" => @message_kind}
55
69
  end
70
+ @log.debug "Sent #{@message_kind}:#{recipient}:#{message.size} bytes"
56
71
  @sent_message_ids << resp.to_hash[:send_message_full_response][:send_message_full_result]
57
72
  end
73
+ @log.debug "-=| #{messages.join(' + ')} |=-"
74
+ @log.debug "-----"
58
75
  end
59
76
 
60
77
  end #module Client
metadata CHANGED
@@ -2,7 +2,7 @@
2
2
  name: esendex4soap
3
3
  version: !ruby/object:Gem::Version
4
4
  prerelease:
5
- version: 0.4.9
5
+ version: 0.4.26
6
6
  platform: ruby
7
7
  authors:
8
8
  - Voip Scout
@@ -35,7 +35,7 @@ dependencies:
35
35
  prerelease: false
36
36
  type: :runtime
37
37
  - !ruby/object:Gem::Dependency
38
- name: shoulda
38
+ name: log4r
39
39
  version_requirements: &id003 !ruby/object:Gem::Requirement
40
40
  none: false
41
41
  requirements:
@@ -44,38 +44,49 @@ dependencies:
44
44
  version: "0"
45
45
  requirement: *id003
46
46
  prerelease: false
47
+ type: :runtime
48
+ - !ruby/object:Gem::Dependency
49
+ name: shoulda
50
+ version_requirements: &id004 !ruby/object:Gem::Requirement
51
+ none: false
52
+ requirements:
53
+ - - ">="
54
+ - !ruby/object:Gem::Version
55
+ version: "0"
56
+ requirement: *id004
57
+ prerelease: false
47
58
  type: :development
48
59
  - !ruby/object:Gem::Dependency
49
60
  name: bundler
50
- version_requirements: &id004 !ruby/object:Gem::Requirement
61
+ version_requirements: &id005 !ruby/object:Gem::Requirement
51
62
  none: false
52
63
  requirements:
53
64
  - - ~>
54
65
  - !ruby/object:Gem::Version
55
66
  version: 1.0.0
56
- requirement: *id004
67
+ requirement: *id005
57
68
  prerelease: false
58
69
  type: :development
59
70
  - !ruby/object:Gem::Dependency
60
71
  name: jeweler
61
- version_requirements: &id005 !ruby/object:Gem::Requirement
72
+ version_requirements: &id006 !ruby/object:Gem::Requirement
62
73
  none: false
63
74
  requirements:
64
75
  - - ~>
65
76
  - !ruby/object:Gem::Version
66
77
  version: 1.6.4
67
- requirement: *id005
78
+ requirement: *id006
68
79
  prerelease: false
69
80
  type: :development
70
81
  - !ruby/object:Gem::Dependency
71
82
  name: rcov
72
- version_requirements: &id006 !ruby/object:Gem::Requirement
83
+ version_requirements: &id007 !ruby/object:Gem::Requirement
73
84
  none: false
74
85
  requirements:
75
86
  - - ">="
76
87
  - !ruby/object:Gem::Version
77
88
  version: "0"
78
- requirement: *id006
89
+ requirement: *id007
79
90
  prerelease: false
80
91
  type: :development
81
92
  description: thanks to savon library