module Dry::Ability::F
Public Class Methods
collect_mappings(key, container, nsfn) { |key| ... }
click to toggle source
# File lib/dry/ability/f.rb, line 40 def self.collect_mappings(key, container, nsfn) list = Set.new get_mapping(key, container, nsfn) do |key| key = yield(key) if block_given? list << key end list.to_a end
get_mapping(key, container, nsfn) { |key| ... }
click to toggle source
def self.to_mapping_key(key, *namespaces)
*namespaces, key = key if key.is_a?(Array) coerced = coerc_key(key) namespaces.blank ? coerced : "#{namespaces * ?.}.#{coerced}"
end
def self.ns_path(*namespaces)
namespaces.flatten! namespaces.blank? ? nil : namespaces.join(?.)
end
# File lib/dry/ability/f.rb, line 28 def self.get_mapping(key, container, nsfn, &block) key = Key.new(key, nsfn) yield(key) if block_given? if container.key?(key.nsed) Array.wrap(container[key.nsed]).flat_map do |mapped| get_mapping(mapped, container, nsfn, &block) end else key.to_s end end
string_tpl(*args, pattern)
click to toggle source
# File lib/dry/ability/f.rb, line 49 def self.string_tpl(*args, pattern) args = args[0] if args.size == 1 && args[0].is_a?(Array) format(pattern, *args) end