Module: Dry::Ability::F

Extended by:
Transformer::Registry
Defined in:
lib/dry/ability/f.rb

Class Method Summary collapse

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

Yields:

  • (key)


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