lib/canard/abilities.rb in canard-0.4.2.pre vs lib/canard/abilities.rb in canard-0.4.3
- old
+ new
@@ -1,28 +1,33 @@
module Canard
class Abilities
-
+
@definitions = {}
@default_path = 'app/abilities'
class << self
+ extend Forwardable
+
+ def_delegators :Canard, :ability_key
+
attr_accessor :default_path
-
+
attr_writer :definition_paths
-
+
attr_reader :definitions
-
+
def definition_paths
@definition_paths ||= [@default_path]
end
-
+
def for(name, &block)
raise ArgumentError.new('No block of ability definitions given') unless block_given?
- @definitions[name.to_sym] = block
+ key = ability_key(name)
+ @definitions[key] = block
end
-
+
end
-
+
end
-
+
end