Module: I18n::Processes::Data::FileFormats::ClassMethods

Defined in:
lib/i18n/processes/data/file_formats.rb

Instance Method Summary collapse

Instance Method Details

#adapter_by_name(name) ⇒ Object



98
99
100
101
102
103
104
105
106
# File 'lib/i18n/processes/data/file_formats.rb', line 98

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) ⇒ Object



86
87
88
89
90
91
92
# File 'lib/i18n/processes/data/file_formats.rb', line 86

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_namesObject



94
95
96
# File 'lib/i18n/processes/data/file_formats.rb', line 94

def adapter_names
  @fn_patterns.map(&:first)
end

#register_adapter(name, pattern, adapter) ⇒ Object

Parameters:

  • pattern (String)

    File.fnmatch pattern

  • adapter (responds to parse(string)-)

    hash and dump(hash)->string]



82
83
84
# File 'lib/i18n/processes/data/file_formats.rb', line 82

def register_adapter(name, pattern, adapter)
  (@fn_patterns ||= []) << [name, pattern, adapter]
end