Skip to content

Instantly share code, notes, and snippets.

@jeffdonthemic
Created January 24, 2020 17:46
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
Star You must be signed in to star a gist
Save jeffdonthemic/8219a17432b57301c839c61198df5999 to your computer and use it in GitHub Desktop.
Restforce monkey patch
module Restforce
class Mash < Hashie::Mash
class << self
def klass(val)
if val.key? 'records'
# When the hash has a records key, it should be considered a collection
# of sobject records.
Restforce::Collection
elsif val.key? 'attributes'
case val.dig('attributes', 'type')
when "Attachment"
Restforce::Attachment
when "Document"
Restforce::Document
else
# When the hash contains an attributes key, it should be considered an
# sobject record
Restforce::SObject
end
else
# Fallback to a standard Restforce::Mash for everything else
Restforce::Mash
end
end
end
end
end
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment