X-Git-Url: https://git.openstreetmap.org/rails.git/blobdiff_plain/2c52b067168084265ed577104fe1fa2677c6e620..f8ace8f9e063861d66558f43b936c92ae85a0e96:/app/models/acl.rb diff --git a/app/models/acl.rb b/app/models/acl.rb index dbcb38993..94e377343 100644 --- a/app/models/acl.rb +++ b/app/models/acl.rb @@ -1,13 +1,13 @@ class Acl < ActiveRecord::Base - def self.find_by_address(address, options) - self.with_scope(:find => {:conditions => ["? & netmask = address", address]}) do - return self.find(:first, options) - end - end + scope :address, lambda { |address| where("#{inet_aton} & netmask = address", address) } + +private - def self.find_all_by_address(address, options) - self.with_scope(:find => {:conditions => ["? & netmask = address", address]}) do - return self.find(:all, options) + def self.inet_aton + if self.connection.adapter_name == "MySQL" + "inet_aton(?)" + else + "?" end end end