Sha256: 62303111a97375ccad08a0fdfe8a028a7afe73d63e29536ce55e67833e98c9ac

Contents?: true

Size: 1.17 KB

Versions: 2

Compression:

Stored size: 1.17 KB

Contents

# encoding: utf-8

load "pages_core/localizable/active_record_extension.rb"
load "pages_core/localizable/class_methods.rb"
load "pages_core/localizable/configuration.rb"
load "pages_core/localizable/instance_methods.rb"
load "pages_core/localizable/localizer.rb"
load "pages_core/localizable/scope_extension.rb"

module PagesCore
  # = 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 Localizable
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
pages_core-3.4.3 lib/pages_core/localizable.rb
pages_core-3.4.2 lib/pages_core/localizable.rb