Module: Restforce

Defined in:
lib/restforce.rb,
lib/restforce/mash.rb,
lib/restforce/client.rb,
lib/restforce/config.rb,
lib/restforce/sobject.rb,
lib/restforce/version.rb,
lib/restforce/upload_io.rb,
lib/restforce/client/api.rb,
lib/restforce/collection.rb,
lib/restforce/middleware.rb,
lib/restforce/client/verbs.rb,
lib/restforce/client/canvas.rb,
lib/restforce/client/caching.rb,
lib/restforce/middleware/gzip.rb,
lib/restforce/client/streaming.rb,
lib/restforce/client/connection.rb,
lib/restforce/middleware/logger.rb,
lib/restforce/middleware/caching.rb,
lib/restforce/middleware/mashify.rb,
lib/restforce/middleware/multipart.rb,
lib/restforce/client/authentication.rb,
lib/restforce/middleware/raise_error.rb,
lib/restforce/middleware/instance_url.rb,
lib/restforce/middleware/authorization.rb,
lib/restforce/middleware/authentication.rb,
lib/restforce/middleware/authentication/token.rb,
lib/restforce/middleware/authentication/password.rb

Defined Under Namespace

Modules: CoreExtensions Classes: AuthenticationError, Client, Collection, Configuration, Mash, Middleware, SObject, UnauthorizedError

Constant Summary collapse

VERSION =
'1.0.0'
UploadIO =
Faraday::UploadIO

Class Attribute Summary collapse

Class Method Summary collapse

Class Attribute Details

.log(message) ⇒ Object



33
34
35
36
# File 'lib/restforce/config.rb', line 33

def log(message)
  return unless Restforce.log?
  Restforce.configuration.logger.send :debug, message
end

Class Method Details

.configurationObject

Returns the current Configuration

Example

Restforce.configuration.username = "username"
Restforce.configuration.password = "password"


13
14
15
# File 'lib/restforce/config.rb', line 13

def configuration
  @configuration ||= Configuration.new
end

.configure {|configuration| ... } ⇒ Object

Yields the Configuration

Example

Restforce.configure do |config|
  config.username = "username"
  config.password = "password"
end

Yields:



25
26
27
# File 'lib/restforce/config.rb', line 25

def configure
  yield configuration
end

.decode_signed_request(message, client_secret) ⇒ Object

Public: Decodes a signed request received from Force.com Canvas.

message - The POST message containing the signed request from Salesforce. client_secret - The oauth client secret used to encrypt the message.

Returns the Hash context if the message is valid.



33
34
35
36
37
38
39
40
# File 'lib/restforce.rb', line 33

def decode_signed_request(message, client_secret)
  signature, payload = message.split('.')
  signature = Base64.decode64(signature)
  digest = OpenSSL::Digest::Digest.new('sha256')
  hmac = OpenSSL::HMAC.digest(digest, client_secret, payload)
  return nil if signature != hmac
  JSON.parse(Base64.decode64(payload))
end

.log?Boolean

Returns:

  • (Boolean)


29
30
31
# File 'lib/restforce/config.rb', line 29

def log?
  @log ||= false
end

.new(options = {}) ⇒ Object

Alias for Restforce::Client.new

Shamelessly pulled from github.com/pengwynn/octokit/blob/master/lib/octokit.rb



23
24
25
# File 'lib/restforce.rb', line 23

def new(options = {})
  Restforce::Client.new(options)
end