easy_globalize3_accessors 1.3.2 → 1.3.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/README.rdoc +1 -54
- data/easy_globalize3_accessors.gemspec +1 -0
- data/lib/easy_globalize3_accessors.rb +3 -3
- data/lib/easy_globalize3_accessors/version.rb +1 -1
- data/test/easy_globalize_accessors_test.rb +24 -0
- metadata +5 -4
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 9c12194f0b3eb82788a0234c4f4e4575c135ef0e
|
4
|
+
data.tar.gz: d8b583385b70eb41942432565e17e57fda424ecc
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 65369848859553dd2ebad17994645549b1da596f777d904c5b4ccb70fd6245a596e8da79c201c929337b937627ddbdcbd906def8c55bfb6f77db7845c6498c1d
|
7
|
+
data.tar.gz: 43f0f6ab65ef0c464db46a4ae642423b5028cf3423a3dc6af726d76cfe51c54b67d10a371efb22a3e1e7005779ca8fab1a4c518eb5dce72403f861f8c733342e
|
data/README.rdoc
CHANGED
@@ -1,54 +1 @@
|
|
1
|
-
|
2
|
-
|
3
|
-
== Introduction
|
4
|
-
|
5
|
-
Generator of easy accessor methods for models using Globalize3.
|
6
|
-
|
7
|
-
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.
|
8
|
-
|
9
|
-
This way a single form can be used to edit given model fields with all anticipated translations.
|
10
|
-
|
11
|
-
|
12
|
-
== Installation
|
13
|
-
|
14
|
-
gem install easy_globalize3_accessors
|
15
|
-
|
16
|
-
== Example
|
17
|
-
|
18
|
-
Definition like this:
|
19
|
-
|
20
|
-
class Product
|
21
|
-
translates :title, :description
|
22
|
-
globalize_accessors :locales => [:en, :pl], :attributes => [:title]
|
23
|
-
end
|
24
|
-
|
25
|
-
Gives you access to methods: title_pl, title_en, title_pl=, title_en= (and similar set of description_* methods). And they work seamlessly with Globalize3 (not even touching the "core" title, title= methods used by Globalize3 itself).
|
26
|
-
|
27
|
-
:locales and :attributes are optional. Default values are:
|
28
|
-
:locales => I18n.available_locales
|
29
|
-
:attributes => translated_attribute_names
|
30
|
-
|
31
|
-
which means that skipping all options will generate you accessor method for all translated fields and available languages.
|
32
|
-
|
33
|
-
You can also get locales for class with "globalize_locales" method:
|
34
|
-
Product.globalize_locales # => [:en, :pl]
|
35
|
-
|
36
|
-
== Always define accessors
|
37
|
-
|
38
|
-
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:
|
39
|
-
|
40
|
-
module TranslatesWithAccessors
|
41
|
-
|
42
|
-
def translates(*params)
|
43
|
-
options = params.extract_options!
|
44
|
-
options.reverse_merge!(:globalize_accessors => true)
|
45
|
-
accessors = options.delete(:globalize_accessors)
|
46
|
-
super
|
47
|
-
globalize_accessors if accessors
|
48
|
-
end
|
49
|
-
|
50
|
-
end
|
51
|
-
|
52
|
-
== Licence
|
53
|
-
|
54
|
-
Copyright (c) 2009-2010 Tomek "Tomash" Stachewicz (http://tomash.wrug.eu), Robert Pankowecki (http://robert.pankowecki.pl) released under the MIT license
|
1
|
+
Development moved to https://github.com//globalize/globalize-accessors
|
@@ -24,4 +24,5 @@ Gem::Specification.new do |s|
|
|
24
24
|
s.files = `git ls-files`.split("\n")
|
25
25
|
s.executables = `git ls-files`.split("\n").map{|f| f =~ /^bin\/(.*)/ ? $1 : nil}.compact
|
26
26
|
s.require_path = 'lib'
|
27
|
+
s.post_install_message = "Development of easy_globalize3_accessors moved to https://github.com/globalize/globalize-accessors . Please upgrade."
|
27
28
|
end
|
@@ -23,17 +23,17 @@ module EasyGlobalize3Accessors
|
|
23
23
|
|
24
24
|
|
25
25
|
def define_getter(attr_name, locale)
|
26
|
-
define_method :"#{attr_name}_#{locale}" do
|
26
|
+
define_method :"#{attr_name}_#{locale.to_s.underscore}" do
|
27
27
|
read_attribute(attr_name, :locale => locale)
|
28
28
|
end
|
29
29
|
end
|
30
30
|
|
31
31
|
def define_setter(attr_name, locale)
|
32
|
-
define_method :"#{attr_name}_#{locale}=" do |value|
|
32
|
+
define_method :"#{attr_name}_#{locale.to_s.underscore}=" do |value|
|
33
33
|
write_attribute(attr_name, value, :locale => locale)
|
34
34
|
end
|
35
35
|
if respond_to?(:accessible_attributes) && accessible_attributes.include?(attr_name)
|
36
|
-
attr_accessible :"#{attr_name}_#{locale}"
|
36
|
+
attr_accessible :"#{attr_name}_#{locale.to_s.underscore}"
|
37
37
|
end
|
38
38
|
end
|
39
39
|
|
@@ -20,6 +20,12 @@ class EasyGlobalizeAccessorsTest < ActiveSupport::TestCase
|
|
20
20
|
globalize_accessors
|
21
21
|
end
|
22
22
|
|
23
|
+
class UnitWithDashedLocales < ActiveRecord::Base
|
24
|
+
self.table_name = :units
|
25
|
+
translates :name
|
26
|
+
globalize_accessors :locales => [:"pt-BR", :"en-AU"], :attributes => [:name]
|
27
|
+
end
|
28
|
+
|
23
29
|
setup do
|
24
30
|
assert_equal :en, I18n.locale
|
25
31
|
end
|
@@ -107,4 +113,22 @@ class EasyGlobalizeAccessorsTest < ActiveSupport::TestCase
|
|
107
113
|
test "globalize locales on class with locales specified in options" do
|
108
114
|
assert_equal [:pl], UnitTranslatedWithOptions.globalize_locales
|
109
115
|
end
|
116
|
+
|
117
|
+
test "read and write on class with dashed locales" do
|
118
|
+
u = UnitWithDashedLocales.new()
|
119
|
+
|
120
|
+
assert u.respond_to?(:name_pt_br)
|
121
|
+
assert u.respond_to?(:name_pt_br=)
|
122
|
+
|
123
|
+
assert u.respond_to?(:name_en_au)
|
124
|
+
assert u.respond_to?(:name_en_au=)
|
125
|
+
|
126
|
+
u.name = "Name en"
|
127
|
+
u.name_pt_br = "Name pt-BR"
|
128
|
+
u.name_en_au = "Name en-AU"
|
129
|
+
|
130
|
+
assert_equal "Name en", u.name
|
131
|
+
assert_equal "Name pt-BR", u.name_pt_br
|
132
|
+
assert_equal "Name en-AU", u.name_en_au
|
133
|
+
end
|
110
134
|
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: easy_globalize3_accessors
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.3.
|
4
|
+
version: 1.3.3
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Tomasz Stachewicz
|
@@ -11,7 +11,7 @@ authors:
|
|
11
11
|
autorequire:
|
12
12
|
bindir: bin
|
13
13
|
cert_chain: []
|
14
|
-
date: 2013-
|
14
|
+
date: 2013-12-29 00:00:00.000000000 Z
|
15
15
|
dependencies:
|
16
16
|
- !ruby/object:Gem::Dependency
|
17
17
|
name: globalize3
|
@@ -94,7 +94,8 @@ files:
|
|
94
94
|
homepage: http://rubygems.org/gems/easy_globalize3_accessors
|
95
95
|
licenses: []
|
96
96
|
metadata: {}
|
97
|
-
post_install_message:
|
97
|
+
post_install_message: Development of easy_globalize3_accessors moved to https://github.com/globalize/globalize-accessors
|
98
|
+
. Please upgrade.
|
98
99
|
rdoc_options: []
|
99
100
|
require_paths:
|
100
101
|
- lib
|
@@ -110,7 +111,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
110
111
|
version: 1.3.6
|
111
112
|
requirements: []
|
112
113
|
rubyforge_project: easy_globalize3_accessors
|
113
|
-
rubygems_version: 2.
|
114
|
+
rubygems_version: 2.1.11
|
114
115
|
signing_key:
|
115
116
|
specification_version: 4
|
116
117
|
summary: Define methods for accessing translated attributes
|