class RestforceMock::SchemaManager
Public Class Methods
new(client = default_client )
click to toggle source
# File lib/restforce_mock/schema_manager.rb, line 9 def initialize(client = default_client ) @client = client end
Public Instance Methods
default_client()
click to toggle source
# File lib/restforce_mock/schema_manager.rb, line 13 def default_client ::Restforce.new end
dump_schema(object_names, file)
click to toggle source
Dump schema into file
object_names - Array array of name of objects in SF file - String yml file
# File lib/restforce_mock/schema_manager.rb, line 41 def dump_schema(object_names, file) schema = {} object_names.each do |o| schema[o] = get_schema(o) end File.open(file, 'w') {|f| f.write schema.to_yaml } end
get_schema(object_name)
click to toggle source
Get schema for Salesforce Object
object_name - String
Returns
Hash
# File lib/restforce_mock/schema_manager.rb, line 24 def get_schema(object_name) s = @client.describe(object_name) object_schema = {} s["fields"].each do |field| object_schema[field["name"]]= { type: field["type"], # http://salesforce.stackexchange.com/questions/25233/is-there-a-way-to-find-required-fields-on-an-objects required: field["createable"] && !field["nillable"] && !field["defaultedOnCreate"] } end object_schema end
load_schema(file)
click to toggle source
# File lib/restforce_mock/schema_manager.rb, line 49 def load_schema(file) if file.nil? raise "Schema file is not defined" end thing = YAML.load_file(file) end