mirror of
https://github.com/activerecord-hackery/ransack.git
synced 2022-11-09 13:47:45 -05:00
34 lines
No EOL
777 B
Ruby
34 lines
No EOL
777 B
Ruby
module Ransack
|
|
module Nodes
|
|
class Node
|
|
attr_reader :context
|
|
delegate :contextualize, :to => :context
|
|
class_attribute :i18n_words
|
|
class_attribute :i18n_aliases
|
|
self.i18n_words = []
|
|
self.i18n_aliases = {}
|
|
|
|
class << self
|
|
def i18n_word(*args)
|
|
self.i18n_words += args.map(&:to_s)
|
|
end
|
|
|
|
def i18n_alias(opts = {})
|
|
self.i18n_aliases.merge! Hash[opts.map {|k, v| [k.to_s, v.to_s]}]
|
|
end
|
|
end
|
|
|
|
def initialize(context)
|
|
@context = context
|
|
end
|
|
|
|
def translate(key, options = {})
|
|
key = i18n_aliases[key.to_s] if i18n_aliases.has_key?(key.to_s)
|
|
if i18n_words.include?(key.to_s)
|
|
Translate.word(key)
|
|
end
|
|
end
|
|
|
|
end
|
|
end
|
|
end |