activesalesforce 0.4.7 → 0.4.8

Sign up to get free protection for your applications and to get access to all the features.
@@ -27,6 +27,7 @@ module ActiveSalesforce
27
27
  class << self
28
28
  def set_table_name(value = nil, &block)
29
29
  super(value, &block)
30
+
30
31
  connection.set_class_for_entity(self, table_name.singularize)
31
32
  end
32
33
  end
data/lib/asf_adapter.rb CHANGED
@@ -33,6 +33,7 @@ require File.dirname(__FILE__) + '/recording_binding'
33
33
  require File.dirname(__FILE__) + '/result_array'
34
34
 
35
35
 
36
+
36
37
  module ActiveRecord
37
38
  class Base
38
39
  @@cache = {}
@@ -123,8 +124,6 @@ module ActiveRecord
123
124
  def set_class_for_entity(klass, entity_name)
124
125
  @logger.debug("Setting @class_to_entity_map['#{entity_name.upcase}'] = #{klass} for connection #{self}")
125
126
  @class_to_entity_map[entity_name.upcase] = klass
126
-
127
- pp @class_to_entity_map
128
127
  end
129
128
 
130
129
 
@@ -187,13 +186,12 @@ module ActiveRecord
187
186
  command.args.each { |arg| args << arg }
188
187
  end
189
188
 
190
- puts " send_commands(:#{verb}, [#{args.join(', ')}])"
191
-
192
189
  response = @connection.send(verb, args)
193
190
 
194
191
  result = get_result(response, verb)
195
192
 
196
193
  result = [ result ] unless result.is_a?(Array)
194
+
197
195
  errors = []
198
196
  result.each_with_index do |r, n|
199
197
  success = r[:success] == "true"
@@ -209,7 +207,7 @@ module ActiveRecord
209
207
  unless errors.empty?
210
208
  message = errors.join("\n")
211
209
  fault = (errors.map { |error| error[:message] }).join("\n")
212
- ActiveSalesforce::ASFError.new(@logger, message, fault)
210
+ raise ActiveSalesforce::ASFError.new(@logger, message, fault)
213
211
  end
214
212
 
215
213
  result
@@ -661,7 +659,13 @@ module ActiveRecord
661
659
 
662
660
  def lookup(raw_table_name)
663
661
  table_name = raw_table_name.singularize
664
- entity_def = get_entity_def(table_name.camelize)
662
+
663
+ # See if a table name to AR class mapping was registered
664
+ klass = @class_to_entity_map[table_name.upcase]
665
+
666
+ entity_name = klass ? raw_table_name : table_name.camelize
667
+
668
+ entity_def = get_entity_def(entity_name)
665
669
  columns = entity_def.columns
666
670
 
667
671
  [table_name, columns, entity_def]
@@ -45,7 +45,8 @@ module ActiveSalesforce
45
45
  end
46
46
 
47
47
  def after_execute(result)
48
- @idproxy << result[:id]
48
+ id = result[:id]
49
+ @idproxy << id if id
49
50
  end
50
51
  end
51
52
 
metadata CHANGED
@@ -3,8 +3,8 @@ rubygems_version: 0.8.11
3
3
  specification_version: 1
4
4
  name: activesalesforce
5
5
  version: !ruby/object:Gem::Version
6
- version: 0.4.7
7
- date: 2006-03-20 00:00:00 -05:00
6
+ version: 0.4.8
7
+ date: 2006-03-21 00:00:00 -05:00
8
8
  summary: ActiveSalesforce (ASF) is a Rails connection adapter that provides direct access to Salesforce.com hosted data and metadata via the ActiveRecord model layer. Objects, fields, and relationships are all auto surfaced as active record attributes and rels.
9
9
  require_paths:
10
10
  - lib