module ActiveRecord::Base::PickleAdapter

Public Class Methods

column_names(klass) click to toggle source

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_model(klass, attributes) click to toggle source

Create a model using attributes

# File lib/pickle/adapters/active_record.rb, line 63
def self.create_model(klass, attributes)
  klass.create!(attributes)
end
except_classes() click to toggle source

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(klass, conditions) click to toggle source

Find all models matching conditions

# File lib/pickle/adapters/active_record.rb, line 53
def self.find_all_models(klass, conditions)
  if defined? ::ActiveRecord::Relation
    klass.where(conditions)                 # Rails 3, 4
  else
    klass.find(:all,
               :conditions => conditions)   # Rails 2
  end
end
find_first_model(klass, conditions) click to toggle source

Find the first instance matching conditions

# File lib/pickle/adapters/active_record.rb, line 43
def self.find_first_model(klass, conditions)
  if defined? ::ActiveRecord::Relation
    klass.where(conditions).first           # Rails 3, 4
  else
    klass.find(:first,
               :conditions => conditions)   # Rails 2
  end
end
get_model(klass, id) click to toggle source

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
model_classes() click to toggle source

Gets a list of the available models for this adapter

# File lib/pickle/adapters/active_record.rb, line 20
def self.model_classes
  if ::ActiveRecord::Base.respond_to?(:descendants)
    klasses = ::ActiveRecord::Base.descendants  # Rails 3, 4
  else
    klasses = ::ActiveRecord::Base.subclasses   # Rails 2
  end

  klasses.select do |klass|
    !klass.abstract_class? && klass.table_exists? && !except_classes.include?(klass.name)
  end
end