module LeapSalesforce::Default::Factory
Defaults for various objects within a Factory
Public Class Methods
set(value, use_quotes: nil)
click to toggle source
value_for(field, class_name)
click to toggle source
@return [String] Default
value for Factory
# File lib/leap_salesforce/generator/default.rb, line 18 def value_for(field, class_name) @field = field case field['type'] when 'string' then set("Faker::Lorem.paragraph_by_chars(number: #{field['length']})") when 'id' then set('Best to not hard code this', use_quotes: true) when 'boolean' then set('true') when 'picklist' then set("#{class_name}::#{field['label'].to_class_name}.sample") when 'reference' return set(%{User.find(CreatedDate: "<#{0.days.ago}").id}) if field['name'] == 'OwnerId' soql_obj = LeapSalesforce.soql_objects.find { |so| so.backend_name == field['relationshipName'] }&.reference if soql_obj "association :#{@field['label'].unused_ruby_name}, factory: :#{soql_obj}" else "# Please add #{field['relationshipName']} to .leap_salesforce.yml (if it's a table) to create association for #{field['relationshipName']}" end else set("Content depending on #{field['type']}", use_quotes: true) end end