--- /dev/null
+class Acl < ActiveRecord::Base
+ def self.find_by_address(address, options)
+ self.with_scope(:find => {:conditions => ["inet_aton(?) & netmask = address", address]}) do
+ return self.find(:first, options)
+ end
+ end
+
+ def self.find_all_by_address(address, options)
+ self.with_scope(:find => {:conditions => ["inet_aton(?) & netmask = address", address]}) do
+ return self.find(:all, options)
+ end
+ end
+end
--- /dev/null
+class CreateAcls < ActiveRecord::Migration
+ def self.up
+ create_table "acls", myisam_table do |t|
+ t.column "id", :integer, :null => false
+ t.column "address", :integer, :null => false
+ t.column "netmask", :integer, :null => false
+ t.column "k", :string, :null => false
+ t.column "v", :string
+ end
+
+ add_primary_key "acls", ["id"]
+ add_index "acls", ["k"], :name => "acls_k_idx"
+
+ change_column "acls", "id", :integer, :null => false, :options => "AUTO_INCREMENT"
+ change_column "acls", "address", :integer, :null => false, :unsigned => true
+ change_column "acls", "netmask", :integer, :null => false, :unsigned => true
+ end
+
+ def self.down
+ drop_table "acls"
+ end
+end
--- /dev/null
+require File.dirname(__FILE__) + '/../test_helper'
+
+class AclTest < ActiveSupport::TestCase
+ # Replace this with your real tests.
+ def test_truth
+ assert true
+ end
+end