Class: Force::SObject

Inherits:
Mash
  • Object
show all
Defined in:
lib/force/sobject.rb

Direct Known Subclasses

Attachment

Instance Method Summary collapse

Methods inherited from Mash

build, #convert_value, #dup, #initialize, klass

Constructor Details

This class inherits a constructor from Force::Mash

Instance Method Details

#attrsObject

Public: Returns a hash representation of this object with the attributes key and parent/child relationships removed.



53
54
55
# File 'lib/force/sobject.rb', line 53

def attrs
  self.to_hash.reject { |key, _| key =~ /.*__r/ || key =~ /^attributes$/ }
end

#describeObject

Public: Get the describe for this sobject type



9
10
11
# File 'lib/force/sobject.rb', line 9

def describe
  @client.describe(sobject_type)
end

#describe_layouts(layout_id = nil) ⇒ Object

Public: Describe layouts for this sobject type



14
15
16
# File 'lib/force/sobject.rb', line 14

def describe_layouts(layout_id = nil)
  @client.describe_layouts(sobject_type, layout_id)
end

#destroyObject

Public: Destroy this record.

Examples

 = client.query('select Id, Name from Account').first
.destroy


41
42
43
44
# File 'lib/force/sobject.rb', line 41

def destroy
  ensure_id
  @client.destroy(sobject_type, self.Id)
end

#destroy!Object



46
47
48
49
# File 'lib/force/sobject.rb', line 46

def destroy!
  ensure_id
  @client.destroy!(sobject_type, self.Id)
end

#saveObject

Public: Persist the attributes to Salesforce.

Examples

 = client.query('select Id, Name from Account').first
.Name = 'Foobar'
.save


25
26
27
28
# File 'lib/force/sobject.rb', line 25

def save
  ensure_id
  @client.update(sobject_type, attrs)
end

#save!Object



30
31
32
33
# File 'lib/force/sobject.rb', line 30

def save!
  ensure_id
  @client.update!(sobject_type, attrs)
end

#sobject_typeObject



4
5
6
# File 'lib/force/sobject.rb', line 4

def sobject_type
  self.attributes['type']
end

#to_sparamObject



57
58
59
# File 'lib/force/sobject.rb', line 57

def to_sparam
  self.Id
end