Module: Dry::Ability::F
- Extended by:
- Transformer::Registry
- Defined in:
- lib/dry/ability/f.rb
Class Method Summary collapse
- .collect_mappings(key, container, nsfn) ⇒ Object
-
.get_mapping(key, container, nsfn) {|key| ... } ⇒ Object
def self.to_mapping_key(key, *namespaces) *namespaces, key = key if key.is_a?(Array) coerced = coerc_key(key) namespaces.blank ? coerced : “#* ?..#coerced” end.
- .string_tpl(*args, pattern) ⇒ Object
Class Method Details
.collect_mappings(key, container, nsfn) ⇒ Object
40 41 42 43 44 45 46 47 |
# 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| ... } ⇒ Object
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
28 29 30 31 32 33 34 35 36 37 38 |
# 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) ⇒ Object
49 50 51 52 |
# 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 |