Class: RestforceMock::SchemaManager
- Inherits:
-
Object
- Object
- RestforceMock::SchemaManager
- Defined in:
- lib/restforce_mock/schema_manager.rb
Instance Method Summary collapse
- #default_client ⇒ Object
-
#dump_schema(object_names, file) ⇒ Object
Dump schema into file.
-
#get_schema(object_name) ⇒ Object
Get schema for Salesforce Object.
-
#initialize(client = default_client) ⇒ SchemaManager
constructor
A new instance of SchemaManager.
- #load_schema(file) ⇒ Object
Constructor Details
#initialize(client = default_client) ⇒ SchemaManager
Returns a new instance of SchemaManager.
9 10 11 |
# File 'lib/restforce_mock/schema_manager.rb', line 9 def initialize(client = default_client ) @client = client end |
Instance Method Details
#default_client ⇒ Object
13 14 15 |
# File 'lib/restforce_mock/schema_manager.rb', line 13 def default_client ::Restforce.new end |
#dump_schema(object_names, file) ⇒ Object
Dump schema into file
object_names - Array array of name of objects in SF file - String yml file
41 42 43 44 45 46 47 |
# 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) ⇒ Object
Get schema for Salesforce Object
object_name - String
Returns
Hash
24 25 26 27 28 29 30 31 32 33 34 35 |
# 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) ⇒ Object
49 50 51 52 53 54 |
# 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 |