rails-ext 0.2.5 → 0.2.6
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.
- data/.git/COMMIT_EDITMSG +1 -1
- data/.git/index +0 -0
- data/.git/logs/HEAD +1 -0
- data/.git/logs/refs/heads/master +1 -0
- data/.git/logs/refs/remotes/origin/master +1 -0
- data/.git/objects/13/d5e53963c37e20ff517035b00f6b404c0e8056 +0 -0
- data/.git/objects/3a/ff2a7bfdf3a677812899ede62d084369c7c5f4 +0 -0
- data/.git/objects/59/7b19d2ba6f1d46f75f702cbacf8828b7b506f9 +0 -0
- data/.git/objects/76/d3cd0f31cfb174c2411be5636a8257e7af613a +0 -0
- data/.git/objects/b5/15828bb32356501aa81bb4e808ea5d7d77f068 +0 -0
- data/.git/objects/c1/424cadd8817a7e927742e52945f303b38e7222 +0 -0
- data/.git/objects/d3/090290f6f317ca51efd4d2913bc079ba115078 +0 -0
- data/.git/refs/heads/master +1 -1
- data/.git/refs/remotes/origin/master +1 -1
- data/Rakefile +1 -1
- data/lib/rails_ext/i18n_helper.rb +58 -40
- data/lib/rails_ext/mongo_mapper.rb +32 -5
- metadata +9 -2
data/.git/COMMIT_EDITMSG
CHANGED
@@ -1 +1 @@
|
|
1
|
-
|
1
|
+
update i18n & mongomapper
|
data/.git/index
CHANGED
Binary file
|
data/.git/logs/HEAD
CHANGED
@@ -15,3 +15,4 @@ f63ad03a8daa1602df63aab3838947c18fa63797 0fd3ac42b07c2d3102263bd939704f5633db304
|
|
15
15
|
00cc0fab85c28c827b7489c092c7fdfacaab2c15 ddad36d883dd04cb1b68f0f81d5b3fa98b8551e3 Alex <alex@alex.local> 1262611311 +0300 commit: small fixes
|
16
16
|
ddad36d883dd04cb1b68f0f81d5b3fa98b8551e3 8203c2c6cdd29e1e20e88fbb81e63b7ea1ec2899 Alex <alex@alex.local> 1262615007 +0300 commit: minor fix
|
17
17
|
8203c2c6cdd29e1e20e88fbb81e63b7ea1ec2899 4966cd792ea3e03d5091aa7a332f2a082e479a76 Alex <alex@alex.local> 1262615022 +0300 commit: minor fix
|
18
|
+
4966cd792ea3e03d5091aa7a332f2a082e479a76 c1424cadd8817a7e927742e52945f303b38e7222 alex <alex@amac.local> 1264099114 +0300 commit: update i18n & mongomapper
|
data/.git/logs/refs/heads/master
CHANGED
@@ -15,3 +15,4 @@ f63ad03a8daa1602df63aab3838947c18fa63797 0fd3ac42b07c2d3102263bd939704f5633db304
|
|
15
15
|
00cc0fab85c28c827b7489c092c7fdfacaab2c15 ddad36d883dd04cb1b68f0f81d5b3fa98b8551e3 Alex <alex@alex.local> 1262611311 +0300 commit: small fixes
|
16
16
|
ddad36d883dd04cb1b68f0f81d5b3fa98b8551e3 8203c2c6cdd29e1e20e88fbb81e63b7ea1ec2899 Alex <alex@alex.local> 1262615007 +0300 commit: minor fix
|
17
17
|
8203c2c6cdd29e1e20e88fbb81e63b7ea1ec2899 4966cd792ea3e03d5091aa7a332f2a082e479a76 Alex <alex@alex.local> 1262615022 +0300 commit: minor fix
|
18
|
+
4966cd792ea3e03d5091aa7a332f2a082e479a76 c1424cadd8817a7e927742e52945f303b38e7222 alex <alex@amac.local> 1264099114 +0300 commit: update i18n & mongomapper
|
@@ -14,3 +14,4 @@ f63ad03a8daa1602df63aab3838947c18fa63797 0fd3ac42b07c2d3102263bd939704f5633db304
|
|
14
14
|
00cc0fab85c28c827b7489c092c7fdfacaab2c15 ddad36d883dd04cb1b68f0f81d5b3fa98b8551e3 Alex <alex@alex.local> 1262611317 +0300 update by push
|
15
15
|
ddad36d883dd04cb1b68f0f81d5b3fa98b8551e3 8203c2c6cdd29e1e20e88fbb81e63b7ea1ec2899 Alex <alex@alex.local> 1262615013 +0300 update by push
|
16
16
|
8203c2c6cdd29e1e20e88fbb81e63b7ea1ec2899 4966cd792ea3e03d5091aa7a332f2a082e479a76 Alex <alex@alex.local> 1262615027 +0300 update by push
|
17
|
+
4966cd792ea3e03d5091aa7a332f2a082e479a76 c1424cadd8817a7e927742e52945f303b38e7222 alex <alex@amac.local> 1264099121 +0300 update by push
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
data/.git/refs/heads/master
CHANGED
@@ -1 +1 @@
|
|
1
|
-
|
1
|
+
c1424cadd8817a7e927742e52945f303b38e7222
|
@@ -1 +1 @@
|
|
1
|
-
|
1
|
+
c1424cadd8817a7e927742e52945f303b38e7222
|
data/Rakefile
CHANGED
@@ -18,7 +18,7 @@ require 'fileutils'
|
|
18
18
|
|
19
19
|
spec = Gem::Specification.new do |s|
|
20
20
|
s.name = "rails-ext"
|
21
|
-
s.version = "0.2.
|
21
|
+
s.version = "0.2.6"
|
22
22
|
s.summary = "Set of common Ruby on Rails extensions"
|
23
23
|
s.description = "Set of common Ruby on Rails extensions"
|
24
24
|
s.author = "Alexey Petrushin"
|
@@ -25,46 +25,64 @@ begin
|
|
25
25
|
# t() and t_scope()
|
26
26
|
list = [Object, ActionController::Base, ActionView::Base, ActionMailer::Base]
|
27
27
|
list << ActiveRecord::Base if defined?(ActiveRecord)
|
28
|
-
list.each do |
|
29
|
-
|
28
|
+
list.each do |aclass|
|
29
|
+
aclass.class_eval do
|
30
30
|
|
31
31
|
# def self.t_scope_value; end # hack, becouse of rails method_missing magic it causes error
|
32
32
|
# def t_scope_value; end # hack, becouse of rails method_missing magic it causes error
|
33
|
-
|
34
|
-
def self.t_scope *scopes
|
35
|
-
|
36
|
-
|
37
|
-
end
|
33
|
+
#
|
34
|
+
# def self.t_scope *scopes
|
35
|
+
# class_inheritable_accessor :t_scope_value unless respond_to? :t_scope_value
|
36
|
+
# self.t_scope_value = scopes.collect{|scope| scope + "_scope"}
|
37
|
+
# end
|
38
38
|
|
39
39
|
# finding translation in all class hierarchy
|
40
|
-
def t message, params = {}
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
|
51
|
-
|
52
|
-
|
53
|
-
|
54
|
-
|
55
|
-
|
56
|
-
|
57
|
-
|
58
|
-
|
59
|
-
|
60
|
-
|
61
|
-
|
62
|
-
|
63
|
-
|
64
|
-
|
65
|
-
|
66
|
-
|
40
|
+
# def t message, params = {}
|
41
|
+
# # begin
|
42
|
+
# # p([message, respond_to(:t_scope_value)])
|
43
|
+
# # rescue
|
44
|
+
# # p([self.t_scope_value])
|
45
|
+
# # end
|
46
|
+
#
|
47
|
+
# result = nil
|
48
|
+
#
|
49
|
+
# aclass = self.is_a?(Class) ? self : self.class
|
50
|
+
# list = aclass.ancestors
|
51
|
+
# list.unshift self unless self.is_a?(Class) # hack for ActionView and ActionMailer
|
52
|
+
#
|
53
|
+
# catch :found do
|
54
|
+
# list.each do |c|
|
55
|
+
# t_scope = begin
|
56
|
+
# c.respond_to(:t_scope_value)
|
57
|
+
# rescue NameError # hack for rails method_missing magic
|
58
|
+
# begin
|
59
|
+
# c.t_scope_value
|
60
|
+
# rescue NoMethodError
|
61
|
+
# nil
|
62
|
+
# end
|
63
|
+
# end
|
64
|
+
#
|
65
|
+
# next unless t_scope
|
66
|
+
#
|
67
|
+
# t_scope.each do |ts|
|
68
|
+
# begin
|
69
|
+
# result = I18n.t "#{ts}.#{message}", params.merge(:raise => true)
|
70
|
+
# rescue I18n::MissingTranslationData
|
71
|
+
# end
|
72
|
+
# throw :found if result
|
73
|
+
# end
|
74
|
+
# end
|
75
|
+
# end
|
76
|
+
#
|
77
|
+
# result ||= I18n.t message, params
|
78
|
+
# result.to_s # Globalize2 uses Translation::Static instead of String
|
79
|
+
# end
|
80
|
+
|
81
|
+
def t *args
|
82
|
+
# Globalize2 uses Translation::Static instead of String
|
83
|
+
I18n.t(*args).to_s
|
67
84
|
end
|
85
|
+
|
68
86
|
end
|
69
87
|
end
|
70
88
|
|
@@ -79,15 +97,15 @@ begin
|
|
79
97
|
# end
|
80
98
|
|
81
99
|
ActionView::Base.class_eval do
|
82
|
-
def t_scope_value
|
83
|
-
|
84
|
-
end
|
100
|
+
# def t_scope_value
|
101
|
+
# controller.class.t_scope_value if controller.class.respond_to? :t_scope_value
|
102
|
+
# end
|
85
103
|
end
|
86
104
|
|
87
105
|
ActionMailer::Base.class_eval do
|
88
|
-
def t_scope_value
|
89
|
-
|
90
|
-
end
|
106
|
+
# def t_scope_value
|
107
|
+
# controller.class.t_scope_value if controller.class.respond_to? :t_scope_value
|
108
|
+
# end
|
91
109
|
# def t_scope scope
|
92
110
|
# raise 'stub! use the same'
|
93
111
|
# @t_scope = scope
|
@@ -1,7 +1,34 @@
|
|
1
|
-
|
2
|
-
|
3
|
-
|
4
|
-
|
5
|
-
|
1
|
+
# require 'mm-paginate'
|
2
|
+
|
3
|
+
#
|
4
|
+
# dom_id
|
5
|
+
#
|
6
|
+
MongoMapper::Document.class_eval do
|
7
|
+
def dom_id
|
8
|
+
new_record? ? "new_#{self.class.name.underscore}" : "#{self.class.name.underscore}_#{id}"
|
9
|
+
end
|
10
|
+
end
|
11
|
+
|
12
|
+
#
|
13
|
+
# attributes_cache
|
14
|
+
#
|
15
|
+
MongoMapper::Document::InstanceMethods.class_eval do
|
16
|
+
def attributes_cache
|
17
|
+
@attributes_cache ||= {}
|
18
|
+
end
|
19
|
+
|
20
|
+
def reload_with_cache
|
21
|
+
@attributes_cache.clear if @attributes_cache
|
22
|
+
reload_without_cache
|
23
|
+
end
|
24
|
+
alias_method_chain :reload, :cache
|
25
|
+
end
|
26
|
+
|
27
|
+
#
|
28
|
+
# ObjectID serialization
|
29
|
+
#
|
30
|
+
Mongo::ObjectID.class_eval do
|
31
|
+
def to_yaml *args
|
32
|
+
to_s.to_yaml *args
|
6
33
|
end
|
7
34
|
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: rails-ext
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.2.
|
4
|
+
version: 0.2.6
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Alexey Petrushin
|
@@ -9,7 +9,7 @@ autorequire:
|
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
11
|
|
12
|
-
date: 2010-01-
|
12
|
+
date: 2010-01-21 00:00:00 +03:00
|
13
13
|
default_executable:
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
@@ -65,6 +65,7 @@ files:
|
|
65
65
|
- .git/objects/10/1f52d83027dfe5798f87aec1118f02d19e5cf8
|
66
66
|
- .git/objects/10/bfe1230b9d96e23600091cc8b4b9d378068101
|
67
67
|
- .git/objects/13/882df4f2ef911454bf3b69a85742b372723366
|
68
|
+
- .git/objects/13/d5e53963c37e20ff517035b00f6b404c0e8056
|
68
69
|
- .git/objects/15/351f2f81548a7a0d9c4a6690894a42262fb7f5
|
69
70
|
- .git/objects/15/3f845625a0f605a2a35487a32038d0349bc386
|
70
71
|
- .git/objects/18/17673317d63a90369c9f7abdc6f0113f42050f
|
@@ -88,6 +89,7 @@ files:
|
|
88
89
|
- .git/objects/36/9902ca51d5820a02ccccbf1cac6ed09051941d
|
89
90
|
- .git/objects/3a/03b9d44de43472689300120ffb2a0a9a74f27f
|
90
91
|
- .git/objects/3a/797683953be7e6d0ffa0e34514f3e8e9c3ceb0
|
92
|
+
- .git/objects/3a/ff2a7bfdf3a677812899ede62d084369c7c5f4
|
91
93
|
- .git/objects/3f/3db6bb5a5204ae58e303959c4c0da3a70d8b35
|
92
94
|
- .git/objects/40/215c0554202fc46dc2fca94ed21e2920ce1e84
|
93
95
|
- .git/objects/40/7adfb7f6188b0bb0b88cf9391943e1aaa32374
|
@@ -101,6 +103,7 @@ files:
|
|
101
103
|
- .git/objects/55/d1f1efc344266d472094b1fd2f247b97de1c8b
|
102
104
|
- .git/objects/57/8a722fd66124331e07123e3a0de2b6b50a581b
|
103
105
|
- .git/objects/59/0ef6ba9931d75fbddc7a940044dbaaa50efc76
|
106
|
+
- .git/objects/59/7b19d2ba6f1d46f75f702cbacf8828b7b506f9
|
104
107
|
- .git/objects/5a/35fa85474278f3c817aa59d07b725428c41a28
|
105
108
|
- .git/objects/60/a681e873ca0ae0b7da3f37dbc5701f6e42b970
|
106
109
|
- .git/objects/61/32f3f8005ce5b88165162ac5542e54d0472a82
|
@@ -114,6 +117,7 @@ files:
|
|
114
117
|
- .git/objects/71/e6b43e9d41f9903992fd86d483b7d3e4dd28cd
|
115
118
|
- .git/objects/74/d8411c7276b4e1c1f614606af7f69ab4526d30
|
116
119
|
- .git/objects/75/d0b250bcdf241d981313b1d6eb153b96e4b05f
|
120
|
+
- .git/objects/76/d3cd0f31cfb174c2411be5636a8257e7af613a
|
117
121
|
- .git/objects/77/6e03ab9139aab1e0e8d551a75c3c0145fd9322
|
118
122
|
- .git/objects/7d/978ee312ca2119dc84e40431182b8f68e42f53
|
119
123
|
- .git/objects/7e/ca6f113845c2dcdf536daa084349445d608879
|
@@ -141,6 +145,7 @@ files:
|
|
141
145
|
- .git/objects/b4/0345153922bfcdbbc4785cc3146e9e7c60dbbd
|
142
146
|
- .git/objects/b4/228251babf3a84ac181d462fdd383816bd23b8
|
143
147
|
- .git/objects/b4/eb909dd819bf870d2445bddc0d7f00678b11b6
|
148
|
+
- .git/objects/b5/15828bb32356501aa81bb4e808ea5d7d77f068
|
144
149
|
- .git/objects/b5/edd343ceb8e87d1a73922612aec210b393f839
|
145
150
|
- .git/objects/b7/88e3ac322b164a2a223f80f8a6da0836d9d1dd
|
146
151
|
- .git/objects/bb/23236d2e8340087cc495c66310e6eb90d6fe0a
|
@@ -149,6 +154,7 @@ files:
|
|
149
154
|
- .git/objects/c0/22e88f31b91cecfc45b1bae611c27f5b12ca15
|
150
155
|
- .git/objects/c0/724bc45e241d336d6376f14d9b258c2e4744d4
|
151
156
|
- .git/objects/c1/3cf3c2ea85ec40544fe31702b2cfe6091aed6e
|
157
|
+
- .git/objects/c1/424cadd8817a7e927742e52945f303b38e7222
|
152
158
|
- .git/objects/c5/64ac68ebc8e0db7a6355a45f3299829ef2a825
|
153
159
|
- .git/objects/c7/a9ce2f4c2230143a30c77952c14ddf6507f511
|
154
160
|
- .git/objects/ca/c13b06411cdb70ac35d51ecf9efb0907645bd1
|
@@ -157,6 +163,7 @@ files:
|
|
157
163
|
- .git/objects/d1/38a420782e818f3f87c6c8c0a0a135639a30d9
|
158
164
|
- .git/objects/d1/7ff61278b2c669eaab5f6d7f741c39f39e18f9
|
159
165
|
- .git/objects/d2/85be6e2891e063625d4904c9bcca42bf6f0b83
|
166
|
+
- .git/objects/d3/090290f6f317ca51efd4d2913bc079ba115078
|
160
167
|
- .git/objects/d4/1e2336bcd3ce3d09a9fa6c3af3270c29bd8457
|
161
168
|
- .git/objects/d5/86dc7698c6ec37db86e9f36a16bd671e0005ab
|
162
169
|
- .git/objects/d5/a2b441718a88aa08fa937352a6d80319bc91c0
|