Sha256: ad4ab6d96a59b4a4d0302996d143b4ef694dced83317804543f05b8e766a7c53
Contents?: true
Size: 698 Bytes
Versions: 1
Compression:
Stored size: 698 Bytes
Contents
require 'active_support/concern' module Translatable module ActsAsTranslatable extend ActiveSupport::Concern module ClassMethods def translatable(column) key_name = column.to_s.pluralize.to_sym has_many key_name, -> { where(key: column.to_s) }, :as => :translatable, class_name: 'Translatable::TranslatedWord', :inverse_of => :translatable, :dependent => :destroy accepts_nested_attributes_for key_name define_method column do |locale = I18n.default_locale| localizes = send(key_name) localizes.detect{|w| w.locale.to_s == locale.to_s }.try(:value) || localizes.first.try(:value) end end end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
ar-translatable-0.0.2 | lib/translatable/acts_as_translatable.rb |