anyone-oslo/localizable_model

View on GitHub
lib/localizable_model.rb

Summary

Maintainability
A
0 mins
Test Coverage
A
100%
# frozen_string_literal: true

load "localizable_model/active_record_extension.rb"
load "localizable_model/any_localizer.rb"
load "localizable_model/class_methods.rb"
load "localizable_model/configuration.rb"
load "localizable_model/engine.rb"
load "localizable_model/instance_methods.rb"
load "localizable_model/localizer.rb"
load "localizable_model/scope_extension.rb"
load "localizable_model/version.rb"

# = Localizable
#
# Localizable allows any model to have localized attributes.
#
# == Configuring the model
#
#  class Page < ActiveRecord::Base
#    localizable do
#      attribute :name
#      attribute :body
#    end
#  end
#
# == Usage
#
#  page = Page.create(name: 'Hello', locale: 'en')
#  page.name?     # => true
#  page.name.to_s # => 'Hello'
#
# The localized attributes always return an instance of Localization.
#
# To get a localized version of a page, call .localize on it:
#
#  page = Page.first.localize('en')
#
# .localize also takes a block argument:
#
#  page.localize('nb') do |p|
#    p.locale # => 'nb'
#  end
#  page.locale # => 'en'
#
# Multiple locales can be updated at the same time:
#
#  page.name = {'en' => 'Hello', 'nb' => 'Hallo'}
#
module LocalizableModel
end