esendex4soap 0.4.9 → 0.4.26

Sign up to get free protection for your applications and to get access to all the features.
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