Sha256: fd5bb91b3dd3b2f1535468c7717eff68f703a587d80e10b3938ae468e39a2402

Contents?: true

Size: 541 Bytes

Versions: 3

Compression:

Stored size: 541 Bytes

Contents

# frozen_string_literal: true

module Canard # :nodoc:
  def self.ability_definitions
    Abilities.definitions
  end

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

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

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

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
canard-0.6.2.pre lib/canard/find_abilities.rb
canard-0.6.1.pre lib/canard/find_abilities.rb
canard-0.6.0.pre lib/canard/find_abilities.rb