Module: Canard

Defined in:
lib/canard/railtie.rb,
lib/canard/version.rb,
lib/canard/abilities.rb,
lib/canard/user_model.rb,
lib/canard/find_abilities.rb,
lib/canard/adapters/mongoid.rb,
lib/canard/adapters/active_record.rb,
lib/generators/canard/ability/ability_generator.rb

Defined Under Namespace

Modules: Adapters, Generators, UserModel Classes: Abilities, Railtie

Constant Summary collapse

VERSION =
"0.4.3"

Class Method Summary collapse

Class Method Details

.ability_definitionsObject



3
4
5
# File 'lib/canard/find_abilities.rb', line 3

def self.ability_definitions
  Abilities.definitions
end

.ability_key(class_name) ⇒ Object



7
8
9
10
11
12
13
# File 'lib/canard/find_abilities.rb', line 7

def self.ability_key(class_name)
  klass_name = String(class_name)
  klass_name.gsub!('::', '')
  klass_name.gsub!(/(.)([A-Z])/,'\1_\2')
  klass_name.downcase!
  klass_name.to_sym
end

.find_abilitiesObject

:nodoc:



19
20
21
22
23
24
25
26
# File 'lib/canard/find_abilities.rb', line 19

def self.find_abilities #:nodoc:
  load_paths.each do |path|
    Dir[File.join(path, '**', '*.rb')].sort.each do |file|
      load file
    end
  end

end

.load_pathsObject



15
16
17
# File 'lib/canard/find_abilities.rb', line 15

def self.load_paths
  Abilities.definition_paths.map { |path| File.expand_path(path) }
end