Sha256: e7cdcd791330fd1303e4cf888a70a34104bc1e88a8aaa64e8c701add31c2aa89

Contents?: true

Size: 726 Bytes

Versions: 10

Compression:

Stored size: 726 Bytes

Contents

module RailsCoreExtensions
  module Translations
    def self.included(base)
      base.extend ClassMethods
    end

    module ClassMethods
      def translate(key, options = {})
        I18n.translate key, options.merge(scope: translation_key)
      end

      def translation_key
        @translation_key ||= base_translation_class.name.tableize.singularize.gsub('/', '.')
      end

      def base_translation_class
        return base_class if defined?(ActiveRecord) && ancestors.include?(ActiveRecord::Base)
        self
      end

      def t(key, options = {})
        self.translate(key, options)
      end
    end

    private

    def t(key, options = {})
      self.class.translate(key, options)
    end
  end
end

Version data entries

10 entries across 10 versions & 1 rubygems

Version Path
rails_core_extensions-0.10.0 lib/rails_core_extensions/translations.rb
rails_core_extensions-0.9.0 lib/rails_core_extensions/translations.rb
rails_core_extensions-0.8.0 lib/rails_core_extensions/translations.rb
rails_core_extensions-0.7.1 lib/rails_core_extensions/translations.rb
rails_core_extensions-0.7.0 lib/rails_core_extensions/translations.rb
rails_core_extensions-0.6.1 lib/rails_core_extensions/translations.rb
rails_core_extensions-0.6.0 lib/rails_core_extensions/translations.rb
rails_core_extensions-0.4.0 lib/rails_core_extensions/translations.rb
rails_core_extensions-0.3.0 lib/rails_core_extensions/translations.rb
rails_core_extensions-0.2.0 lib/rails_core_extensions/translations.rb