Module: Draisine::ActiveRecordPlugin::ClassMethods
- Defined in:
- lib/draisine/active_record.rb
Instance Attribute Summary collapse
-
#salesforce_audited_attributes ⇒ Object
Returns the value of attribute salesforce_audited_attributes.
-
#salesforce_object_name ⇒ Object
Returns the value of attribute salesforce_object_name.
-
#salesforce_ops ⇒ Object
Returns the value of attribute salesforce_ops.
-
#salesforce_sync_mode ⇒ Object
Returns the value of attribute salesforce_sync_mode.
Instance Method Summary collapse
- #salesforce_callback(type, salesforce_id, options = {}) ⇒ Object
- #salesforce_enqueue_or_run(job_class, *args, &block) ⇒ Object
- #salesforce_inbound_delete(salesforce_id) ⇒ Object
- #salesforce_inbound_update(attributes, add_blanks = true) ⇒ Object
- #salesforce_on_inbound_delete(salesforce_id) ⇒ Object
- #salesforce_on_inbound_update(attributes) ⇒ Object
- #salesforce_syncer ⇒ Object
Instance Attribute Details
#salesforce_audited_attributes ⇒ Object
Returns the value of attribute salesforce_audited_attributes.
35 36 37 |
# File 'lib/draisine/active_record.rb', line 35 def salesforce_audited_attributes @salesforce_audited_attributes end |
#salesforce_object_name ⇒ Object
Returns the value of attribute salesforce_object_name.
34 35 36 |
# File 'lib/draisine/active_record.rb', line 34 def salesforce_object_name @salesforce_object_name end |
#salesforce_ops ⇒ Object
Returns the value of attribute salesforce_ops.
36 37 38 |
# File 'lib/draisine/active_record.rb', line 36 def salesforce_ops @salesforce_ops end |
#salesforce_sync_mode ⇒ Object
Returns the value of attribute salesforce_sync_mode.
37 38 39 |
# File 'lib/draisine/active_record.rb', line 37 def salesforce_sync_mode @salesforce_sync_mode end |
Instance Method Details
#salesforce_callback(type, salesforce_id, options = {}) ⇒ Object
87 88 89 |
# File 'lib/draisine/active_record.rb', line 87 def salesforce_callback(type, salesforce_id, = {}) Draisine.sync_callback.call(type, salesforce_id, ) end |
#salesforce_enqueue_or_run(job_class, *args, &block) ⇒ Object
45 46 47 48 49 50 51 |
# File 'lib/draisine/active_record.rb', line 45 def salesforce_enqueue_or_run(job_class, *args, &block) if salesforce_sync_mode job_class.perform_now(*args, &block) else job_class.perform_later(*args, &block) end end |
#salesforce_inbound_delete(salesforce_id) ⇒ Object
72 73 74 75 76 77 78 79 80 81 |
# File 'lib/draisine/active_record.rb', line 72 def salesforce_inbound_delete(salesforce_id) if salesforce_inbound_delete? record = find_by(salesforce_id: salesforce_id) if record record.salesforce_skip_sync = true record.destroy salesforce_callback(:inbound_delete, salesforce_id) end end end |
#salesforce_inbound_update(attributes, add_blanks = true) ⇒ Object
57 58 59 60 61 62 63 64 65 66 |
# File 'lib/draisine/active_record.rb', line 57 def salesforce_inbound_update(attributes, add_blanks = true) if salesforce_inbound_update? attributes = attributes.with_indifferent_access id = attributes.fetch('Id') (find_by(salesforce_id: id) || new).tap do |m| m.salesforce_id = id m.salesforce_inbound_update(attributes, add_blanks) end end end |
#salesforce_on_inbound_delete(salesforce_id) ⇒ Object
68 69 70 |
# File 'lib/draisine/active_record.rb', line 68 def salesforce_on_inbound_delete(salesforce_id) salesforce_enqueue_or_run(InboundDeleteJob, self.name, salesforce_id) end |
#salesforce_on_inbound_update(attributes) ⇒ Object
53 54 55 |
# File 'lib/draisine/active_record.rb', line 53 def salesforce_on_inbound_update(attributes) salesforce_enqueue_or_run(InboundUpdateJob, self.name, attributes) end |