email_vision 0.1.1 → 0.1.2

Sign up to get free protection for your applications and to get access to all the features.
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.1.1
1
+ 0.1.2
data/email_vision.gemspec CHANGED
@@ -5,11 +5,11 @@
5
5
 
6
6
  Gem::Specification.new do |s|
7
7
  s.name = %q{email_vision}
8
- s.version = "0.1.1"
8
+ s.version = "0.1.2"
9
9
 
10
10
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
11
  s.authors = ["Michael Grosser"]
12
- s.date = %q{2010-08-05}
12
+ s.date = %q{2010-10-09}
13
13
  s.email = %q{grosser.michael@gmail.com}
14
14
  s.files = [
15
15
  ".gitignore",
data/lib/email_vision.rb CHANGED
@@ -88,7 +88,12 @@ class EmailVision
88
88
 
89
89
  def execute_by_obj(method, attributes)
90
90
  existing_email = attributes.delete(:email_was) || attributes[:email]
91
- entries = attributes.map{|k,v| {:entry => {:key => k, :value => v}}}
91
+ entries = attributes.map do |k,v|
92
+ v = v.strftime('%Y-%m-%d %H:%M:%S') if v.is_a?(Time)
93
+ {:entry => {:key => k, :value => v}}
94
+ end
95
+ entries = flatten_array_to_soap_xml(entries)
96
+
92
97
  execute(method, :member => {:email => existing_email, :dynContent => entries})
93
98
  end
94
99
 
@@ -103,4 +108,14 @@ class EmailVision
103
108
  hash
104
109
  end
105
110
  end
111
+
112
+ def flatten_array_to_soap_xml(array)
113
+ return array unless array
114
+ array = array.map{|v| v.to_soap_xml }.join()
115
+ # hack the string so it does not get escaped
116
+ def array.to_soap_value
117
+ self
118
+ end
119
+ array
120
+ end
106
121
  end
@@ -1,9 +1,17 @@
1
1
  :login: api_your_host
2
2
  :password: your_password
3
3
  :key: your_api_key
4
- :test_user: # this must be the complete data of a user currently in email vision
4
+ :findable_user:
5
+ :country: "DE"
5
6
  :gender: "0"
6
7
  :email: test@test.de
7
8
  :datejoin: 2009-12-07T13:36:15+01:00
9
+ :dateunjoin: 2010-09-17T11:03:01+02:00
8
10
  :firstname: Test
9
- :member_id: "1014086935042"
11
+ :member_id: "1014086935042"
12
+ :changeable_user: # must have firstname, lastname, country columns
13
+ :email: testaccount@testaccount.de
14
+ :member_id: "1021531859844"
15
+ :lastname: "account"
16
+ :country: "DE"
17
+ :member_id: "1021531859844"
@@ -31,7 +31,9 @@ describe "EmailVision" do
31
31
  let(:client){EmailVision.new(config)}
32
32
  let(:findable_user) do
33
33
  data = config[:findable_user]
34
- data[:datejoin] = DateTime.parse(data[:datejoin].to_s)
34
+ [:datejoin, :dateunjoin].each do |field|
35
+ data[field] = DateTime.parse(data[field].to_s) if data[field]
36
+ end
35
37
  data
36
38
  end
37
39
  let(:changeable_user){config[:changeable_user]}
@@ -68,15 +70,30 @@ describe "EmailVision" do
68
70
  end
69
71
 
70
72
  describe :update do
71
- it "can update a attribute" do
73
+ it "can update an attribute" do
72
74
  wait_for_job_to_finish do
73
- client.update(:email => changeable_user[:email], :firstname => random_value)
75
+ client.update(
76
+ :email => changeable_user[:email],
77
+ :firstname => random_value,
78
+ :lastname => random_value
79
+ )
74
80
  end
75
- puts data = client.find(changeable_user[:email])
81
+
82
+ data = client.find(changeable_user[:email])
76
83
  data[:firstname].should == random_value
84
+ data[:lastname].should == random_value
77
85
 
78
86
  # it does not overwrite other attributes
79
- data[:lastname].should == changeable_user[:lastname]
87
+ data[:country].should == changeable_user[:country]
88
+ end
89
+
90
+ it "can update a Time" do
91
+ time = Time.now
92
+ wait_for_job_to_finish do
93
+ client.update(:email => changeable_user[:email], :dateofbirth => time)
94
+ end
95
+ data = client.find(changeable_user[:email])
96
+ data[:dateofbirth].strftime('%s').to_i.should == time.to_i
80
97
  end
81
98
 
82
99
  it "returns a job id" do
metadata CHANGED
@@ -5,8 +5,8 @@ version: !ruby/object:Gem::Version
5
5
  segments:
6
6
  - 0
7
7
  - 1
8
- - 1
9
- version: 0.1.1
8
+ - 2
9
+ version: 0.1.2
10
10
  platform: ruby
11
11
  authors:
12
12
  - Michael Grosser
@@ -14,7 +14,7 @@ autorequire:
14
14
  bindir: bin
15
15
  cert_chain: []
16
16
 
17
- date: 2010-08-05 00:00:00 +02:00
17
+ date: 2010-10-09 00:00:00 +02:00
18
18
  default_executable:
19
19
  dependencies:
20
20
  - !ruby/object:Gem::Dependency