one-email_direct 0.6.4 → 0.6.8
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/lib/one/email_direct/exception.rb +28 -0
- data/lib/one/email_direct/mixins/email.rb +3 -3
- data/lib/one/email_direct/mixins/list.rb +2 -2
- data/lib/one/email_direct/mixins/publication.rb +2 -2
- data/lib/one/email_direct/mixins/source.rb +2 -2
- data/lib/one-email_direct.rb +2 -7
- data/test/unit/one/emaildirect/email/facade_test.rb +28 -18
- data/test/unit/one/emaildirect/list/facade_test.rb +1 -1
- data/test/unit/one/emaildirect/publication/facade_test.rb +1 -1
- data/test/unit/one/emaildirect/source/facade_test.rb +1 -1
- metadata +5 -4
@@ -0,0 +1,28 @@
|
|
1
|
+
# Class to encapsulate EmailDirect web service errors.
|
2
|
+
#
|
3
|
+
class One::EmailDirect::EmailDirectException < StandardError
|
4
|
+
|
5
|
+
attr_reader :code, :message
|
6
|
+
|
7
|
+
|
8
|
+
|
9
|
+
# Constructs an EmailDirectException instance.
|
10
|
+
#
|
11
|
+
# @param code [Fixnum] the webservice error status.
|
12
|
+
# @param message [String] the webservice error message.
|
13
|
+
#
|
14
|
+
def initialize(code, message)
|
15
|
+
@code = code
|
16
|
+
@message = message
|
17
|
+
end
|
18
|
+
|
19
|
+
|
20
|
+
|
21
|
+
# Returns a string representation of this object.
|
22
|
+
#
|
23
|
+
# @return [String] string representation of this object.
|
24
|
+
def to_s()
|
25
|
+
'[%s] %s' % [@code, @message]
|
26
|
+
end
|
27
|
+
|
28
|
+
end
|
@@ -29,7 +29,7 @@ module One::EmailDirect::Mixins::EmailFacade
|
|
29
29
|
:force => force
|
30
30
|
}
|
31
31
|
)
|
32
|
-
raise
|
32
|
+
raise One::EmailDirect::EmailDirectException.new(response[:code], response[:message]) if response[:code] != '0'
|
33
33
|
end
|
34
34
|
|
35
35
|
|
@@ -68,7 +68,7 @@ module One::EmailDirect::Mixins::EmailFacade
|
|
68
68
|
:custom_fields => custom_fields
|
69
69
|
}
|
70
70
|
)
|
71
|
-
raise
|
71
|
+
raise One::EmailDirect::EmailDirectException.new(response[:code], response[:message]) if response[:code] != '0'
|
72
72
|
end
|
73
73
|
|
74
74
|
|
@@ -92,7 +92,7 @@ module One::EmailDirect::Mixins::EmailFacade
|
|
92
92
|
:force => force
|
93
93
|
}
|
94
94
|
)
|
95
|
-
raise
|
95
|
+
raise One::EmailDirect::EmailDirectException.new(response[:code], response[:message]) if response[:code] != '0'
|
96
96
|
end
|
97
97
|
|
98
98
|
|
@@ -16,7 +16,7 @@ module One::EmailDirect::Mixins::ListFacade
|
|
16
16
|
:list_name => name,
|
17
17
|
:list_description => description}
|
18
18
|
)
|
19
|
-
raise
|
19
|
+
raise One::EmailDirect::EmailDirectException.new(response[:code], response[:message]) if response[:code] != '0'
|
20
20
|
end
|
21
21
|
|
22
22
|
|
@@ -35,7 +35,7 @@ module One::EmailDirect::Mixins::ListFacade
|
|
35
35
|
:credentials => credentials,
|
36
36
|
:list_id => list_id}
|
37
37
|
)
|
38
|
-
raise
|
38
|
+
raise One::EmailDirect::EmailDirectException.new(response[:code], response[:message]) if response[:code] != '0'
|
39
39
|
end
|
40
40
|
|
41
41
|
|
@@ -16,7 +16,7 @@ module One::EmailDirect::Mixins::PublicationFacade
|
|
16
16
|
:publication_name => name,
|
17
17
|
:publication_description => description}
|
18
18
|
)
|
19
|
-
raise
|
19
|
+
raise One::EmailDirect::EmailDirectException.new(response[:code], response[:message]) if response[:code] != '0'
|
20
20
|
end
|
21
21
|
|
22
22
|
|
@@ -35,7 +35,7 @@ module One::EmailDirect::Mixins::PublicationFacade
|
|
35
35
|
:credentials => credentials,
|
36
36
|
:publication_id => publication_id}
|
37
37
|
)
|
38
|
-
raise
|
38
|
+
raise One::EmailDirect::EmailDirectException.new(response[:code], response[:message]) if response[:code] != '0'
|
39
39
|
end
|
40
40
|
|
41
41
|
|
@@ -16,7 +16,7 @@ module One::EmailDirect::Mixins::SourceFacade
|
|
16
16
|
:source_name => name,
|
17
17
|
:source_description => description}
|
18
18
|
)
|
19
|
-
raise
|
19
|
+
raise One::EmailDirect::EmailDirectException.new(response[:code], response[:message]) if response[:code] != '0'
|
20
20
|
end
|
21
21
|
|
22
22
|
|
@@ -35,7 +35,7 @@ module One::EmailDirect::Mixins::SourceFacade
|
|
35
35
|
:credentials => credentials,
|
36
36
|
:source_id => source_id}
|
37
37
|
)
|
38
|
-
raise
|
38
|
+
raise One::EmailDirect::EmailDirectException.new(response[:code], response[:message]) if response[:code] != '0'
|
39
39
|
end
|
40
40
|
|
41
41
|
|
data/lib/one-email_direct.rb
CHANGED
@@ -17,6 +17,7 @@ module One
|
|
17
17
|
|
18
18
|
autoload :Client, "#{File.dirname(__FILE__)}/one/email_direct/client"
|
19
19
|
autoload :Credentials, "#{File.dirname(__FILE__)}/one/email_direct/credentials"
|
20
|
+
autoload :EmailDirectException, "#{File.dirname(__FILE__)}/one/email_direct/exception"
|
20
21
|
autoload :Facade, "#{File.dirname(__FILE__)}/one/email_direct/facade"
|
21
22
|
|
22
23
|
end
|
@@ -28,10 +29,4 @@ end
|
|
28
29
|
configuration_file = 'config/development.yaml' # default
|
29
30
|
configuration_file = ENV['ONE_CONFIG'] if ENV.has_key? 'ONE_CONFIG'
|
30
31
|
|
31
|
-
Steenzout::ConfigurationManager.load configuration_file
|
32
|
-
|
33
|
-
Savon.configure do |config|
|
34
|
-
# config.log = false # disable logging
|
35
|
-
# config.log_level = :info # changing the log level
|
36
|
-
# config.logger = Rails.logger # using the Rails logger
|
37
|
-
end
|
32
|
+
Steenzout::ConfigurationManager.load configuration_file
|
@@ -56,23 +56,23 @@ class TestEmailFacade < Test::Unit::TestCase
|
|
56
56
|
@custom_fields1 = {
|
57
57
|
'FirstName' => 'John',
|
58
58
|
'LastName' => 'Doe',
|
59
|
-
'
|
59
|
+
'Birthyear' => 1981
|
60
60
|
}
|
61
61
|
@custom_fields2 = {
|
62
62
|
'FirstName' => 'Johny',
|
63
63
|
'LastName' => 'Doey',
|
64
|
-
'
|
64
|
+
'Birthyear' => 1980
|
65
65
|
}
|
66
66
|
|
67
67
|
@expected_custom_fields1 = [
|
68
68
|
{:value => 'John', :field_name => 'FirstName'},
|
69
69
|
{:value => 'Doe', :field_name => 'LastName'},
|
70
|
-
{:value => '
|
70
|
+
{:value => '1981', :field_name => 'Birthyear'}
|
71
71
|
]
|
72
72
|
@expected_custom_fields2 = [
|
73
73
|
{:value => 'Johny', :field_name => 'FirstName'},
|
74
74
|
{:value => 'Doey', :field_name => 'LastName'},
|
75
|
-
{:value => '
|
75
|
+
{:value => '1980', :field_name => 'Birthyear'}
|
76
76
|
]
|
77
77
|
end
|
78
78
|
|
@@ -91,6 +91,28 @@ class TestEmailFacade < Test::Unit::TestCase
|
|
91
91
|
}
|
92
92
|
end
|
93
93
|
|
94
|
+
|
95
|
+
|
96
|
+
# Removes dynamic properties for a Email_GetProperties output.
|
97
|
+
#
|
98
|
+
# @param result [Hash] the output to be cleaned.
|
99
|
+
# @return [Hash] filtered output.
|
100
|
+
#
|
101
|
+
def clean_email_getproperties(result)
|
102
|
+
result.delete(:create_date)
|
103
|
+
result.delete(:date_stamp)
|
104
|
+
result.delete(:ip_address)
|
105
|
+
result.delete(:email_id)
|
106
|
+
cleaned_custom_fields = []
|
107
|
+
result[:custom_fields][:custom_field].each { |element|
|
108
|
+
cleaned_custom_fields << element if !element[:field_name].eql? 'DateStamp' and !element[:field_name].eql? 'IPAddress'
|
109
|
+
}
|
110
|
+
result[:custom_fields][:custom_field] = cleaned_custom_fields
|
111
|
+
result
|
112
|
+
end
|
113
|
+
|
114
|
+
|
115
|
+
|
94
116
|
# Tests for One::EmailDirect::Facade.email_add.
|
95
117
|
#
|
96
118
|
# 1. create a new email
|
@@ -154,7 +176,7 @@ class TestEmailFacade < Test::Unit::TestCase
|
|
154
176
|
|
155
177
|
|
156
178
|
# 1.6
|
157
|
-
assert_raises
|
179
|
+
assert_raises One::EmailDirect::EmailDirectException do
|
158
180
|
One::EmailDirect::Facade.email_add(
|
159
181
|
@credentials, nil,
|
160
182
|
@source1[:element_id], [@publication1[:element_id]], [@list1[:element_id]],
|
@@ -171,18 +193,6 @@ class TestEmailFacade < Test::Unit::TestCase
|
|
171
193
|
)
|
172
194
|
end
|
173
195
|
|
174
|
-
def clean_email_getproperties(result)
|
175
|
-
result.delete(:create_date)
|
176
|
-
result.delete(:date_stamp)
|
177
|
-
result.delete(:ip_address)
|
178
|
-
result.delete(:email_id)
|
179
|
-
cleaned_custom_fields = []
|
180
|
-
result[:custom_fields][:custom_field].each { |element|
|
181
|
-
cleaned_custom_fields << element if !element[:field_name].eql? 'DateStamp' and !element[:field_name].eql? 'IPAddress'
|
182
|
-
}
|
183
|
-
result[:custom_fields][:custom_field] = cleaned_custom_fields
|
184
|
-
return result
|
185
|
-
end
|
186
196
|
|
187
197
|
|
188
198
|
# Tests for One::EmailDirect::Facade.email_add_with_fields.
|
@@ -351,7 +361,7 @@ class TestEmailFacade < Test::Unit::TestCase
|
|
351
361
|
|
352
362
|
|
353
363
|
# 1.5
|
354
|
-
assert_raises
|
364
|
+
assert_raises One::EmailDirect::EmailDirectException do
|
355
365
|
One::EmailDirect::Facade.email_addwithfields(
|
356
366
|
@credentials, nil,
|
357
367
|
@source1[:element_id], [@publication1[:element_id]], [@list1[:element_id]],
|
@@ -62,7 +62,7 @@ class TestListFacade < Test::Unit::TestCase
|
|
62
62
|
|
63
63
|
|
64
64
|
# 2. create a new list with a previously used name
|
65
|
-
assert_raises
|
65
|
+
assert_raises One::EmailDirect::EmailDirectException do
|
66
66
|
One::EmailDirect::Facade.list_add(@credentials, @list_add[:name], @list_add[:description])
|
67
67
|
end
|
68
68
|
end
|
@@ -60,7 +60,7 @@ class TestPublicationFacade < Test::Unit::TestCase
|
|
60
60
|
|
61
61
|
|
62
62
|
# 2. create a new publication with a previously used name
|
63
|
-
assert_raises
|
63
|
+
assert_raises One::EmailDirect::EmailDirectException do
|
64
64
|
One::EmailDirect::Facade.publication_add(@credentials, @publication_add[:name], @publication_add[:description])
|
65
65
|
end
|
66
66
|
end
|
@@ -61,7 +61,7 @@ class TestSourceFacade < Test::Unit::TestCase
|
|
61
61
|
|
62
62
|
|
63
63
|
# 2. create a new source with a previously used name
|
64
|
-
assert_raises
|
64
|
+
assert_raises One::EmailDirect::EmailDirectException do
|
65
65
|
One::EmailDirect::Facade.source_add(@credentials, @source_add[:name], @source_add[:description])
|
66
66
|
end
|
67
67
|
end
|
metadata
CHANGED
@@ -1,13 +1,13 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: one-email_direct
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
hash:
|
4
|
+
hash: 23
|
5
5
|
prerelease:
|
6
6
|
segments:
|
7
7
|
- 0
|
8
8
|
- 6
|
9
|
-
-
|
10
|
-
version: 0.6.
|
9
|
+
- 8
|
10
|
+
version: 0.6.8
|
11
11
|
platform: ruby
|
12
12
|
authors:
|
13
13
|
- Pedro Salgado
|
@@ -15,7 +15,7 @@ autorequire:
|
|
15
15
|
bindir: bin
|
16
16
|
cert_chain: []
|
17
17
|
|
18
|
-
date: 2011-05-
|
18
|
+
date: 2011-05-26 00:00:00 -06:00
|
19
19
|
default_executable:
|
20
20
|
dependencies:
|
21
21
|
- !ruby/object:Gem::Dependency
|
@@ -82,6 +82,7 @@ files:
|
|
82
82
|
- lib/emaildirect.wsdl
|
83
83
|
- lib/one/email_direct/client.rb
|
84
84
|
- lib/one/email_direct/credentials.rb
|
85
|
+
- lib/one/email_direct/exception.rb
|
85
86
|
- lib/one/email_direct/facade.rb
|
86
87
|
- lib/one/email_direct/mixins/email.rb
|
87
88
|
- lib/one/email_direct/mixins/list.rb
|