class NxtSchema::Validators::ErrorMessages

Public Class Methods

files() click to toggle source
# File lib/nxt_schema/validators/error_messages.rb, line 30
def files
  @files ||= begin
    files = Dir.entries(File.expand_path('../error_messages/', __FILE__)).map do |filename|
      File.expand_path("../error_messages/#{filename}", __FILE__)
    end

    files.select { |f| !File.directory? f }
  end
end
load(paths = files) click to toggle source
# File lib/nxt_schema/validators/error_messages.rb, line 13
def load(paths = files)
  Array(paths).each do |path|
    new_values = YAML.load(ERB.new(File.read(path)).result).with_indifferent_access
    self.values = values.deep_merge!(new_values)
  end
end
resolve(locale, key, **options) click to toggle source
# File lib/nxt_schema/validators/error_messages.rb, line 20
def resolve(locale, key, **options)
  message = begin
    values.fetch(locale).fetch(key)
  rescue KeyError
    raise "Could not resolve error message for #{locale}->#{key}"
  end

  message % options
end
values() click to toggle source
# File lib/nxt_schema/validators/error_messages.rb, line 5
def values
  @values ||= {}
end
values=(value) click to toggle source
# File lib/nxt_schema/validators/error_messages.rb, line 9
def values=(value)
  @values = value
end