public
Description: DataMapper Adapters
Homepage: http://www.yehudakatz.com
Clone URL: git://github.com/wycats/dm-adapters.git
Lazily connect
wycats (author)
Wed Jul 23 18:54:19 -0700 2008
commit  b72e6107430b8acaf178126b7b7cbaa9968335eb
tree    efb446b47e46980c7c6dadc447eb77b5e18851a2
parent  b1ec751481e310fd8b87ba3104d8016a410cc63b
...
98
99
100
101
102
103
104
...
108
109
110
111
 
 
 
 
 
112
113
114
...
134
135
136
137
 
138
139
140
...
165
166
167
168
 
169
170
171
...
175
176
177
178
 
179
180
181
...
195
196
197
198
 
199
200
201
...
98
99
100
 
101
102
103
...
107
108
109
 
110
111
112
113
114
115
116
117
...
137
138
139
 
140
141
142
143
...
168
169
170
 
171
172
173
174
...
178
179
180
 
181
182
183
184
...
198
199
200
 
201
202
203
204
0
@@ -98,7 +98,6 @@ module DataMapper
0
           old_args = ARGV.dup
0
           path = path =~ %r{^/} ? path : File.expand_path(path)
0
           ARGV.replace %W(--wsdl #{path} --module_path SalesforceAPI --classdef SalesforceAPI --type client)
0
- p ARGV
0
           load `which wsdl2ruby.rb`.chomp
0
           FileUtils.mkdir_p "#{ENV["HOME"]}/.salesforce/#{basename}"
0
           FileUtils.mv Dir["SalesforceAPI*"], "#{ENV["HOME"]}/.salesforce/#{basename}/"
0
@@ -108,7 +107,11 @@ module DataMapper
0
         require "salesforce_api"
0
         @connection = SalesforceAPI::Connection.new(URI.unescape(@uri.user), @uri.password, "#{ENV["HOME"]}/.salesforce/#{basename}").driver
0
       end
0
-
0
+
0
+ def connection
0
+ @connection || connect!
0
+ end
0
+
0
       def read_many(query)
0
         Collection.new(query) do |set|
0
           read(query, set, true)
0
@@ -134,7 +137,7 @@ module DataMapper
0
         DataMapper.logger.debug query_string
0
       
0
         begin
0
- results = @connection.query(:queryString => query_string).result
0
+ results = connection.query(:queryString => query_string).result
0
         rescue SOAP::FaultError => e
0
           raise SalesforceAPI::ReadError, e.message
0
         end
0
@@ -165,7 +168,7 @@ module DataMapper
0
             obj = make_salesforce_obj(query, attributes, x.key)
0
           end
0
         end
0
- results = @connection.update(arr)
0
+ results = connection.update(arr)
0
         results.select {|r| r.success == true}.size
0
       end
0
       
0
@@ -175,7 +178,7 @@ module DataMapper
0
           obj = make_sforce_obj(resource, resource.dirty_attributes, nil)
0
         end
0
         
0
- @connection.create(arr).each_with_index do |result, i|
0
+ connection.create(arr).each_with_index do |result, i|
0
           if result.success
0
             resource = resources[i]
0
             key = resource.class.key(repository.name).first
0
@@ -195,7 +198,7 @@ module DataMapper
0
           query.read_many.map {|r| r.key}
0
         end
0
         
0
- results = @connection.delete(keys)
0
+ results = connection.delete(keys)
0
         
0
         if results.all? {|r| r.success}
0
           results.size

Comments

    No one has commented yet.