Sha256: 800d7767a97938f16431356e78d6bfa11bf9fd75c778f163db7b88158cbc07dd

Contents?: true

Size: 777 Bytes

Versions: 9

Compression:

Stored size: 777 Bytes

Contents

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

Version data entries

9 entries across 9 versions & 1 rubygems

Version Path
ransack-4.2.1 lib/ransack/nodes/node.rb
ransack-4.2.0 lib/ransack/nodes/node.rb
ransack-4.1.1 lib/ransack/nodes/node.rb
ransack-4.1.0 lib/ransack/nodes/node.rb
ransack-4.0.0 lib/ransack/nodes/node.rb
ransack-1.2.3 lib/ransack/nodes/node.rb
ransack-1.2.2 lib/ransack/nodes/node.rb
ransack-1.2.1 lib/ransack/nodes/node.rb
ransack-1.2.0 lib/ransack/nodes/node.rb