Module: Makura::Plugin::Localize

Defined in:
lib/makura/plugin/localize.rb

Overview

Automatically store/retrieve values for different languages. Useful especially if combined with the locale gem.

Default language is ‘en’.

Usage:

class Page
  include Makura::Model

  plugin :localize
  localized :title, :text
end

page = Page.new
page.title = 'english title'
page.title # => 'english title'

page.language = 'de'
page.title # => nil
page.title = 'deutscher titel'
page.title # => 'deutscher titel'

page.language = 'en'
page.title # => 'english title'

Defined Under Namespace

Modules: InstanceMethods, SingletonMethods

Constant Summary collapse

LOCALIZE_GET =
'
def %key%
  raise(ArgumentError, "No language set") unless language
  self["%key%_#{language}"] || self["%key%_#{self.class.default_language}"]
end'.strip
LOCALIZE_SET =
'
def %key%=(data)
  raise(ArgumentError, "No language set") unless language
  self["%key%_#{language}"] = data
end'.strip