activesalesforce 0.5.0 → 0.5.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (2) hide show
  1. data/lib/asf_adapter.rb +24 -22
  2. metadata +1 -1
data/lib/asf_adapter.rb CHANGED
@@ -105,7 +105,7 @@ module ActiveRecord
105
105
 
106
106
  MAX_BOXCAR_SIZE = 200
107
107
 
108
- attr_accessor :batch_size
108
+ attr_accessor :batch_size, :auto_create_stubs
109
109
  attr_reader :entity_def_map, :keyprefix_to_entity_def_map, :config, :class_to_entity_map
110
110
 
111
111
  def initialize(connection, logger, connection_options, config)
@@ -118,6 +118,8 @@ module ActiveRecord
118
118
 
119
119
  @command_boxcar = []
120
120
  @class_to_entity_map = {}
121
+
122
+ @auto_create_stubs = false
121
123
  end
122
124
 
123
125
 
@@ -568,9 +570,6 @@ module ActiveRecord
568
570
 
569
571
  klass.set_inheritance_column nil unless entity_def.custom?
570
572
  klass.set_primary_key "id"
571
- klass.lock_optimistically = false
572
- klass.record_timestamps = false
573
- klass.default_timezone = :utc
574
573
 
575
574
  # Create relationships for any reference field
576
575
  entity_def.relationships.each do |relationship|
@@ -588,30 +587,33 @@ module ActiveRecord
588
587
  end
589
588
 
590
589
  # Handle references to custom objects
591
- reference_to = reference_to.chop.chop.chop.capitalize if reference_to.match(/__c$/)
590
+ reference_to = reference_to.chop(3).capitalize if reference_to.match(/__c$/)
592
591
 
593
592
  begin
594
593
  referenced_klass = class_from_entity_name(reference_to)
595
594
  rescue NameError => e
596
- # Automatically create a least a stub for the referenced entity
597
- @logger.debug(" Creating ActiveRecord stub for the referenced entity '#{reference_to}'")
598
-
599
- referenced_klass = klass.class_eval("::#{reference_to} = Class.new(ActiveRecord::Base)")
600
-
601
- # Automatically inherit the connection from the referencee
602
- referenced_klass.connection = klass.connection
603
-
604
- # configure_active_record(get_entity_def(reference_to))
605
- end
606
-
607
- if one_to_many
608
- klass.has_many referenceName.to_sym, :class_name => referenced_klass.name, :foreign_key => foreign_key, :dependent => false
609
- else
610
- klass.belongs_to referenceName.to_sym, :class_name => referenced_klass.name, :foreign_key => foreign_key, :dependent => false
595
+ if auto_create_stubs
596
+ # Automatically create a least a stub for the referenced entity
597
+ @logger.debug(" Creating ActiveRecord stub for the referenced entity '#{reference_to}'")
598
+
599
+ referenced_klass = klass.class_eval("::#{reference_to} = Class.new(ActiveRecord::Base)")
600
+
601
+ # Automatically inherit the connection from the referencee
602
+ referenced_klass.connection = klass.connection
603
+
604
+ # configure_active_record(get_entity_def(reference_to))
605
+ end
611
606
  end
612
607
 
613
- @logger.debug(" Created one-to-#{one_to_many ? 'many' : 'one' } relationship '#{referenceName}' from #{klass} to #{referenced_klass} using #{foreign_key}")
614
-
608
+ if referenced_klass
609
+ if one_to_many
610
+ klass.has_many referenceName.to_sym, :class_name => referenced_klass.name, :foreign_key => foreign_key, :dependent => false
611
+ else
612
+ klass.belongs_to referenceName.to_sym, :class_name => referenced_klass.name, :foreign_key => foreign_key, :dependent => false
613
+ end
614
+
615
+ @logger.debug(" Created one-to-#{one_to_many ? 'many' : 'one' } relationship '#{referenceName}' from #{klass} to #{referenced_klass} using #{foreign_key}")
616
+ end
615
617
  end
616
618
  end
617
619
 
metadata CHANGED
@@ -3,7 +3,7 @@ rubygems_version: 0.8.11
3
3
  specification_version: 1
4
4
  name: activesalesforce
5
5
  version: !ruby/object:Gem::Version
6
- version: 0.5.0
6
+ version: 0.5.1
7
7
  date: 2006-04-13 00:00:00 -04: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: