get a list of column names for a given class
# File lib/pickle/adapters/active_record.rb, line 33 def self.column_names(klass) klass.column_names end
Create a model using attributes
# File lib/pickle/adapters/active_record.rb, line 53 def self.create_model(klass, attributes) klass.create!(attributes) end
Do not consider these to be part of the class list
# File lib/pickle/adapters/active_record.rb, line 12 def self.except_classes @@except_classes ||= [ "CGI::Session::ActiveRecordStore::Session", "ActiveRecord::SessionStore::Session" ] end
Find all models matching conditions
# File lib/pickle/adapters/active_record.rb, line 48 def self.find_all_models(klass, conditions) klass.find(:all, :conditions => conditions) end
Find the first instance matching conditions
# File lib/pickle/adapters/active_record.rb, line 43 def self.find_first_model(klass, conditions) klass.find(:first, :conditions => conditions) end
Get an instance by id of the model
# File lib/pickle/adapters/active_record.rb, line 38 def self.get_model(klass, id) klass.find(id) end
Gets a list of the available models for this adapter
# File lib/pickle/adapters/active_record.rb, line 20 def self.model_classes begin klasses = ::ActiveRecord::Base.__send__(:descendants) # Rails 3 rescue klasses = ::ActiveRecord::Base.__send__(:subclasses) # Rails 2 end klasses.select do |klass| !klass.abstract_class? && klass.table_exists? && !except_classes.include?(klass.name) end end