Sha256: 9a78d6ad48e9b055a4cd254e258a6daf932dafac2884fcf9468bbb4e6384ec03
Contents?: true
Size: 1.04 KB
Versions: 3
Compression:
Stored size: 1.04 KB
Contents
module NxtSchema module Validators class ErrorMessages class << self def values @values ||= {} end def values=(value) @values = value end 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 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 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 end end end end
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
nxt_schema-1.0.2 | lib/nxt_schema/validators/error_messages.rb |
nxt_schema-1.0.1 | lib/nxt_schema/validators/error_messages.rb |
nxt_schema-1.0.0 | lib/nxt_schema/validators/error_messages.rb |