Home > mongoid_easy_translatable_accessor

mongoid_easy_translatable_accessor

Mongoid_easy_translatable_accessor is a project mainly written in Ruby, based on the MIT license.

= EasyGlobalize3Accessors

== Introduction

Generator of easy accessor methods for models using Globalize3.

Use globalize_accessors with list of translated fields you want easily access to and extra :locales array listing locales for which you want the accessors to be generated.

This way a single form can be used to edit given model fields with all anticipated translations.

== Installation

gem install easy_globalize3_accessors

== Example

Definition like this:

class Product translates :title, :description globalize_accessors :locales => [:en, :pl], :attributes => [:title] end

Gives you access to methods: title_pl, title_en, title_pl=, titleen= (and similar set of description* methods). And they work seamlessly with Globalize3 (not even touching the "core" title, title= methods used by Globalize3 itself).

:locales and :attributes are optional. Default values are: :locales => I18n.available_locales :attributes => translated_attribute_names

which means that skipping all options will generate you accessor method for all translated fields and available languages

== Always define accessors

If you wish to always define accessors and don't want to call globalize_accessors method in every class, you can extend ActiveRecord::Base with such module:

module TranslatesWithAccessors

def translates(*params)
  options = params.extract_options!
  options.reverse_merge!(:globalize_accessors => true)
  accessors = options.delete(:globalize_accessors)
  super
  globalize_accessors if accessors
end

end

== Licence

Copyright (c) 2009-2010 Tomek "Tomash" Stachewicz (http://tomash.wrug.eu), Robert Pankowecki (http://robert.pankowecki.pl) released under the MIT license

Previous:cps