module Sequel::Plugins::HstoreTranslate::InstanceMethods
Public Class Methods
included(model)
click to toggle source
# File lib/sequel/plugins/hstore_translate.rb, line 33 def self.included(model) # define getters and setters model.translates.each do |attr| model.class_eval do I18n.available_locales.each do |locale| define_method("#{attr}_#{locale}") do (send("#{attr}#{SUFFIX}") || {}).with_indifferent_access[locale.to_s] end define_method("#{attr}_#{locale}=") do |arg| val = (send("#{attr}#{SUFFIX}") || {}) .with_indifferent_access .merge(locale.to_s => arg) send("#{attr}#{SUFFIX}=", val) end end define_method(attr.to_s) do send("#{attr}_#{I18n.locale}") end define_method("#{attr}=") do |arg| send("#{attr}_#{I18n.locale}=", arg) end end end end
Public Instance Methods
translated_attrs()
click to toggle source
# File lib/sequel/plugins/hstore_translate.rb, line 28 def translated_attrs self.class.translates end
Also aliased as: translated_attribute_names