class Salesforce::Column
Constants
- SUPPORTED_DATE_RANGE
- SUPPORTED_TIME_RANGE
Attributes
createable[RW]
name[RW]
original_name[RW]
type[RW]
updateable[RW]
Public Class Methods
new(field)
click to toggle source
# File lib/salesforce/column.rb, line 8 def initialize(field) self.original_name = field["name"] self.name = field["name"].gsub(/\_\_c$/, '').underscore self.type = field["type"].to_sym self.createable = field['createable'] self.updateable = field["updateable"] end
to_csv_value(obj)
click to toggle source
# File lib/salesforce/column.rb, line 50 def self.to_csv_value(obj) case (obj) when Date; obj.strftime("%Y-%m-%d") when TrueClass; 'TRUE' when FalseClass; 'FALSE' when Time; obj.xmlschema when NilClass; '#N/A' else "#{obj.to_s}" end end
to_soql_value(obj)
click to toggle source
# File lib/salesforce/column.rb, line 29 def self.to_soql_value(obj) case (obj) when Date obj.strftime("%Y-%m-%d") when TrueClass 'TRUE' when FalseClass 'FALSE' when Time obj.xmlschema when nil 'NULL' when Numeric "#{obj.to_s}" when Array "(#{obj.map { |sobj| to_soql_value(sobj) }.join(',')})" else "'#{obj.to_s}'" end end
typecast(type, value)
click to toggle source
# File lib/salesforce/column.rb, line 67 def self.typecast(type, value) case (type) when :id, :reference if Config.use_full_length_ids? value else value.to_s.size == 15 ? value : value.to_s[0..14] end when :date begin parsed_date = Date.parse(value) if SUPPORTED_DATE_RANGE.cover?(parsed_date) parsed_date else nil end rescue ArgumentError nil rescue value if value.is_a?(Date) end when :datetime begin parsed_time = Time.parse(value) if SUPPORTED_TIME_RANGE.cover?(parsed_time) parsed_time else nil end rescue ArgumentError Time.now rescue value if value.is_a?(Time) end when :double begin value.to_s.to_d rescue value if value.is_a?(Numeric) end else value end end
Public Instance Methods
==(other)
click to toggle source
# File lib/salesforce/column.rb, line 112 def ==(other) return false unless other self.name == other.name && self.original_name == other.original_name end
createable?()
click to toggle source
# File lib/salesforce/column.rb, line 16 def createable? createable end
editable?()
click to toggle source
# File lib/salesforce/column.rb, line 24 def editable? createable? || updateable? end
updateable?()
click to toggle source
# File lib/salesforce/column.rb, line 20 def updateable? updateable end