module I18n::Tasks::Data::FileFormats::ClassMethods

Public Instance Methods

adapter_by_name(name) click to toggle source
# File lib/i18n/tasks/data/file_formats.rb, line 86
def adapter_by_name(name)
  name = name.to_s
  @fn_patterns.detect do |(adapter_name, _pattern, _adapter)|
    adapter_name.to_s == name
  end.try(:last) || fail(
    CommandError,
    "Adapter with name #{name.inspect} not found. Registered adapters: #{@fn_patterns.inspect}"
  )
end
adapter_name_for_path(path) click to toggle source
# File lib/i18n/tasks/data/file_formats.rb, line 74
def adapter_name_for_path(path)
  @fn_patterns.detect do |(_name, pattern, _adapter)|
    ::File.fnmatch(pattern, path)
  end.try(:first) || fail(
    CommandError, "Adapter not found for #{path}. Registered adapters: #{@fn_patterns.inspect}"
  )
end
adapter_names() click to toggle source
# File lib/i18n/tasks/data/file_formats.rb, line 82
def adapter_names
  @fn_patterns.map(&:first)
end
register_adapter(name, pattern, adapter) click to toggle source

@param pattern [String] File.fnmatch pattern @param adapter [responds to parse(string)->hash and dump(hash)->string]

# File lib/i18n/tasks/data/file_formats.rb, line 70
def register_adapter(name, pattern, adapter)
  (@fn_patterns ||= []) << [name, pattern, adapter]
end