Module: Draisine

Defined in:
lib/draisine.rb,
lib/draisine/setup.rb,
lib/draisine/engine.rb,
lib/draisine/poller.rb,
lib/draisine/syncer.rb,
lib/draisine/auditor.rb,
lib/draisine/version.rb,
lib/draisine/importer.rb,
lib/draisine/registry.rb,
lib/draisine/ip_checker.rb,
lib/draisine/partitioner.rb,
lib/draisine/type_mapper.rb,
lib/draisine/soap_handler.rb,
lib/draisine/active_record.rb,
lib/draisine/jobs/job_base.rb,
lib/draisine/util/encoding.rb,
lib/draisine/auditor/result.rb,
lib/draisine/util/hash_diff.rb,
lib/draisine/concerns/import.rb,
lib/draisine/util/parse_time.rb,
lib/draisine/query_mechanisms.rb,
lib/draisine/conflict_detector.rb,
lib/draisine/conflict_resolver.rb,
lib/draisine/util/caching_client.rb,
lib/draisine/jobs/soap_delete_job.rb,
lib/draisine/jobs/soap_update_job.rb,
lib/draisine/concerns/array_setter.rb,
lib/draisine/query_mechanisms/base.rb,
lib/draisine/jobs/inbound_delete_job.rb,
lib/draisine/jobs/inbound_update_job.rb,
lib/draisine/jobs/outbound_create_job.rb,
lib/draisine/jobs/outbound_delete_job.rb,
lib/draisine/jobs/outbound_update_job.rb,
lib/draisine/query_mechanisms/default.rb,
app/controllers/draisine/soap_controller.rb,
lib/draisine/concerns/attributes_mapping.rb,
lib/draisine/util/salesforce_comparisons.rb,
lib/draisine/query_mechanisms/system_modstamp.rb,
lib/generators/draisine/integration_generator.rb,
lib/draisine/query_mechanisms/last_modified_date.rb,
lib/generators/draisine/delta_migration_generator.rb

Defined Under Namespace

Modules: ActiveRecordMacro, ActiveRecordPlugin, Concerns, Encoding, QueryMechanisms, SalesforceComparisons Classes: Auditor, CachingClient, ConflictDetector, ConflictResolver, DeltaMigrationGenerator, Engine, HashDiff, Importer, InboundDeleteJob, InboundUpdateJob, IntegrationGenerator, IpChecker, JobBase, OutboundCreateJob, OutboundDeleteJob, OutboundUpdateJob, Partition, Partitioner, Poller, Registry, SoapController, SoapDeleteJob, SoapHandler, SoapUpdateJob, Syncer, TypeMapper

Constant Summary collapse

VERSION =
"0.7.14"
ALL_OPS =
[:outbound_create, :outbound_update, :outbound_delete,
:inbound_update, :inbound_delete]

Class Method Summary collapse

Class Method Details

.allowed_ip_rangesObject



90
91
92
93
94
95
96
97
98
99
100
101
# File 'lib/draisine/setup.rb', line 90

def self.allowed_ip_ranges
  @allowed_ip_ranges ||= [
    '96.43.144.0/20',
    '136.146.210.8/15',
    '204.14.232.0/21',
    '85.222.128.0/19',
    '185.79.140.0/22',
    '182.50.76.0/22',
    '202.129.242.0/23',
    '127.0.0.1'
  ]
end

.allowed_ip_ranges=(ranges) ⇒ Object



103
104
105
# File 'lib/draisine/setup.rb', line 103

def self.allowed_ip_ranges=(ranges)
  @allowed_ip_ranges = ranges
end

.invalid_organization_handlerObject



81
82
83
# File 'lib/draisine/setup.rb', line 81

def self.invalid_organization_handler
  @invalid_organization_handler ||= proc {|message| fail Draisine::SoapHandler::InvalidOrganizationError, "invalid organization id in the inbound message from salesforce" }
end

.invalid_organization_handler=(handler) ⇒ Object



85
86
87
# File 'lib/draisine/setup.rb', line 85

def self.invalid_organization_handler=(handler)
  @invalid_organization_handler = handler
end

.job_error_handlerObject



39
40
41
# File 'lib/draisine/setup.rb', line 39

def self.job_error_handler
  @job_error_handler ||= proc {|error, job_instance, args| raise error }
end

.job_error_handler=(handler) ⇒ Object



43
44
45
# File 'lib/draisine/setup.rb', line 43

def self.job_error_handler=(handler)
  @job_error_handler = handler
end

.job_retry_attemptsObject



64
65
66
# File 'lib/draisine/setup.rb', line 64

def self.job_retry_attempts
  @job_retry_attempts ||= 0
end

.job_retry_attempts=(count) ⇒ Object



77
78
79
# File 'lib/draisine/setup.rb', line 77

def self.job_retry_attempts=(count)
  @job_retry_attempts = count
end

.organization_idObject



20
21
22
23
24
25
26
27
28
29
30
# File 'lib/draisine/setup.rb', line 20

def self.organization_id
  unless @organization_id
    fail <<-EOM
Draisine.organization_id was not properly set up.
You can use Draisine.organization_id= method to set it.
See https://cloudjedi.wordpress.com/no-fuss-salesforce-id-converter/ if
you need to convert your 15-char id into 18-char.
EOM
  end
  @organization_id
end

.organization_id=(id) ⇒ Object



32
33
34
35
36
37
# File 'lib/draisine/setup.rb', line 32

def self.organization_id=(id)
  unless id.kind_of?(String) && id.length == 18
    fail ArgumentError, "You should set organization id to an 18 character string"
  end
  @organization_id = id
end

.parse_time(time_or_string) ⇒ Object



2
3
4
5
6
7
8
9
10
11
12
13
# File 'lib/draisine/util/parse_time.rb', line 2

def self.parse_time(time_or_string)
  case time_or_string
  when Time, DateTime
    time_or_string
  when String
    Time.parse(time_or_string)
  else
    Time.parse(time_or_string.to_s)
  end
rescue => e
  nil
end

.poll_locally_updated_ids=(value) ⇒ Object



52
53
54
# File 'lib/draisine/setup.rb', line 52

def self.poll_locally_updated_ids=(value)
  @poll_locally_updated_ids = value
end

.poll_locally_updated_ids?Boolean

Returns:

  • (Boolean)


47
48
49
50
# File 'lib/draisine/setup.rb', line 47

def self.poll_locally_updated_ids?
  @poll_locally_updated_ids = true if @poll_locally_updated_ids.nil?
  @poll_locally_updated_ids
end

.register_ar_macroObject



184
185
186
# File 'lib/draisine/active_record.rb', line 184

def self.register_ar_macro
  ActiveRecord::Base.extend(Draisine::ActiveRecordMacro)
end

.registryObject



19
20
21
# File 'lib/draisine/registry.rb', line 19

def self.registry
  @registry ||= Registry.new
end

.salesforce_clientObject



8
9
10
11
12
13
14
15
16
17
18
# File 'lib/draisine/setup.rb', line 8

def self.salesforce_client
  unless @salesforce_client
    fail <<-EOM
DatabaseDotcom client was not properly set up. You can set it up as follows:
sf_client = Databasedotcom::Client.new("config/databasedotcom.yml")
sf_client.authenticate :username => <username>, :password => <password>
Draisine.salesforce_client = sf_client
EOM
  end
  @salesforce_client
end

.salesforce_client=(client) ⇒ Object



4
5
6
# File 'lib/draisine/setup.rb', line 4

def self.salesforce_client=(client)
  @salesforce_client = client
end

.sync_callbackObject



56
57
58
# File 'lib/draisine/setup.rb', line 56

def self.sync_callback
  @sync_callback ||= proc {|type, salesforce_id, options| }
end

.sync_callback=(callback) ⇒ Object



60
61
62
# File 'lib/draisine/setup.rb', line 60

def self.sync_callback=(callback)
  @sync_callback = callback
end

.sync_soap_operations=(value) ⇒ Object



73
74
75
# File 'lib/draisine/setup.rb', line 73

def self.sync_soap_operations=(value)
  @sync_soap_operations = value
end

.sync_soap_operations?Boolean

Returns:

  • (Boolean)


68
69
70
71
# File 'lib/draisine/setup.rb', line 68

def self.sync_soap_operations?
  @sync_soap_operations = true if @sync_soap_operations.nil?
  @sync_soap_operations
end