cancan/spec/spec_helper.rb

55 lines
1.0 KiB
Ruby
Raw Normal View History

2009-11-16 14:28:52 -08:00
require 'rubygems'
require 'bundler/setup'
Bundler.require(:default)
require 'supermodel' # shouldn't Bundler do this already?
require 'active_support/all'
2010-07-20 16:00:22 -07:00
require 'matchers'
2010-04-13 21:02:39 +08:00
require 'cancan/matchers'
2009-11-16 14:28:52 -08:00
RSpec.configure do |config|
2009-11-16 14:28:52 -08:00
config.mock_with :rr
config.before(:each) do
Project.delete_all
Category.delete_all
end
2009-11-16 14:28:52 -08:00
end
class Ability
include CanCan::Ability
2010-05-21 13:41:24 -07:00
def initialize(user)
end
end
class Category < SuperModel::Base
has_many :projects
end
class Project < SuperModel::Base
belongs_to :category
class << self
protected
def sanitize_sql(hash_cond)
case hash_cond
when Hash
sanitize_hash(hash_cond).join(' AND ')
when Array
hash_cond.shift.gsub('?'){"#{hash_cond.shift.inspect}"}
when String then hash_cond
end
end
def sanitize_hash(hash)
hash.map do |name, value|
if Hash === value
sanitize_hash(value).map{|cond| "#{name}.#{cond}"}
else
"#{name}=#{value}"
end
end.flatten
end
end
2010-05-25 12:14:01 +04:00
end