Sha256: ebe3aebb892109a80b5055f05b4165d992d2eed4bb1407196ee1741b483b097c

Contents?: true

Size: 699 Bytes

Versions: 5

Compression:

Stored size: 699 Bytes

Contents

module SimpleModelTranslations
  module InstanceMethods
    def find_translation_by_locale(locale)
      translations.detect { |t| t.locale.to_sym == locale }
    end
    
    def find_or_build_translation_by_locale(locale)
      find_translation_by_locale(locale) || build_translation_for_locale(locale)
    end
    
    def build_translation_for_locale(locale)
      translations.build(:locale => locale, foreign_object_key => self)
    end
    
    def current_locale_for_translation
      I18n.locale
    end
    
    def default_locale_for_translation
      I18n.default_locale
    end
    
    private
      def foreign_object_key
        self.class.name.underscore.to_sym
      end
  end
end

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
simple_model_translations-0.2.1 lib/simple_model_translations/instance_methods.rb
simple_model_translations-0.2.0 lib/simple_model_translations/instance_methods.rb
simple_model_translations-0.1.9 lib/simple_model_translations/instance_methods.rb
simple_model_translations-0.1.8 lib/simple_model_translations/instance_methods.rb
simple_model_translations-0.1.7 lib/simple_model_translations/instance_methods.rb