lib/cantango/permits/permit.rb in cantango-0.9.4 vs lib/cantango/permits/permit.rb in cantango-0.9.4.1
- old
+ new
@@ -16,12 +16,28 @@
# strategy is used to control the owns strategy (see rules.rb)
attr_reader :ability, :strategy, :disabled
delegate :cached?, :options, :subject, :user, :user_account, :to => :ability
+ def self.inherited(subclass)
+ register subclass.name.split('::').last.sub(/Permit$/, '').underscore.to_sym, subclass
+ end
+
+ def self.register permit, subclass
+ available_permits[permit] = subclass
+ end
+
+ def self.available_permits
+ CanTango.config.permits.available_permits
+ end
+
# creates the permit
def initialize ability
@ability = ability
+ end
+
+ def hash_key
+ nil
end
def permit_type
self.class.type
end