class Salesforce::Columns
Attributes
by_name[RW]
by_original_name[RW]
table_name[RW]
Public Class Methods
new(table_name)
click to toggle source
# File lib/salesforce/columns.rb, line 6 def initialize(table_name) self.table_name = table_name fields = Connection.fields(table_name) self.by_name = {} self.by_original_name = {} fields.each do |field| column = Column.new(field) by_name[column.name] = column by_original_name[column.original_name] = column end end
Public Instance Methods
==(other)
click to toggle source
# File lib/salesforce/columns.rb, line 50 def ==(other) other && self.all.map(&:name) == other.all.map(&:name) end
all()
click to toggle source
# File lib/salesforce/columns.rb, line 22 def all @all ||= by_name.values.flatten end
createable()
click to toggle source
# File lib/salesforce/columns.rb, line 30 def createable select(&:createable?) end
each(&block)
click to toggle source
# File lib/salesforce/columns.rb, line 18 def each(&block) all.each(&block) end
editable()
click to toggle source
# File lib/salesforce/columns.rb, line 26 def editable @editable ||= select(&:editable?) end
find_by_name(name)
click to toggle source
# File lib/salesforce/columns.rb, line 54 def find_by_name(name) column = by_name[name.to_s] raise ColumnNotFound.new(name, table_name) unless column column end
id_column()
click to toggle source
# File lib/salesforce/columns.rb, line 38 def id_column find { |col| col.name.to_sym == :id } end
names()
click to toggle source
# File lib/salesforce/columns.rb, line 42 def names map(&:name) end
soql_selector()
click to toggle source
# File lib/salesforce/columns.rb, line 46 def soql_selector @soql_selector ||= by_original_name.keys.sort.join(',') end
updateable()
click to toggle source
# File lib/salesforce/columns.rb, line 34 def updateable select(&:updateable?) end