mongoid_i18n 0.1.8 → 0.2.0
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/.rvmrc +1 -1
- data/Gemfile +3 -3
- data/Gemfile.lock +24 -25
- data/VERSION +1 -1
- data/lib/mongoid/i18n/criterion/selector.rb +10 -0
- data/lib/mongoid/i18n.rb +1 -6
- data/mongoid_i18n.gemspec +15 -20
- data/spec/integration/mongoid/i18n_spec.rb +0 -5
- metadata +49 -58
- data/lib/mongoid/i18n/localized_criteria.rb +0 -19
- data/spec/unit/mongoid/i18n/localized_criteria_spec.rb +0 -17
- data/spec/unit/mongoid/i18n_spec.rb +0 -17
data/.rvmrc
CHANGED
@@ -1 +1 @@
|
|
1
|
-
rvm 1.8.7-
|
1
|
+
rvm 1.8.7-p334
|
data/Gemfile
CHANGED
data/Gemfile.lock
CHANGED
@@ -1,49 +1,48 @@
|
|
1
1
|
GEM
|
2
2
|
remote: http://rubygems.org/
|
3
3
|
specs:
|
4
|
-
activemodel (3.0.
|
5
|
-
activesupport (= 3.0.
|
4
|
+
activemodel (3.0.6)
|
5
|
+
activesupport (= 3.0.6)
|
6
6
|
builder (~> 2.1.2)
|
7
|
-
i18n (~> 0.
|
8
|
-
activesupport (3.0.
|
9
|
-
bson (1.
|
10
|
-
bson_ext (1.
|
7
|
+
i18n (~> 0.5.0)
|
8
|
+
activesupport (3.0.6)
|
9
|
+
bson (1.3.0)
|
10
|
+
bson_ext (1.3.0)
|
11
11
|
builder (2.1.2)
|
12
12
|
diff-lcs (1.1.2)
|
13
13
|
git (1.2.5)
|
14
|
-
i18n (0.
|
15
|
-
jeweler (1.5.
|
14
|
+
i18n (0.5.0)
|
15
|
+
jeweler (1.5.2)
|
16
16
|
bundler (~> 1.0.0)
|
17
17
|
git (>= 1.2.5)
|
18
18
|
rake
|
19
|
-
mocha (0.9.
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
mongoid (2.0.0.beta.20)
|
19
|
+
mocha (0.9.12)
|
20
|
+
mongo (1.3.0)
|
21
|
+
bson (>= 1.3.0)
|
22
|
+
mongoid (2.0.1)
|
24
23
|
activemodel (~> 3.0)
|
25
|
-
mongo (~> 1.
|
24
|
+
mongo (~> 1.3)
|
26
25
|
tzinfo (~> 0.3.22)
|
27
26
|
will_paginate (~> 3.0.pre)
|
28
27
|
rake (0.8.7)
|
29
|
-
rspec (2.
|
30
|
-
rspec-core (~> 2.
|
31
|
-
rspec-expectations (~> 2.
|
32
|
-
rspec-mocks (~> 2.
|
33
|
-
rspec-core (2.1
|
34
|
-
rspec-expectations (2.
|
28
|
+
rspec (2.5.0)
|
29
|
+
rspec-core (~> 2.5.0)
|
30
|
+
rspec-expectations (~> 2.5.0)
|
31
|
+
rspec-mocks (~> 2.5.0)
|
32
|
+
rspec-core (2.5.1)
|
33
|
+
rspec-expectations (2.5.0)
|
35
34
|
diff-lcs (~> 1.1.2)
|
36
|
-
rspec-mocks (2.
|
37
|
-
tzinfo (0.3.
|
35
|
+
rspec-mocks (2.5.0)
|
36
|
+
tzinfo (0.3.26)
|
38
37
|
will_paginate (3.0.pre2)
|
39
38
|
|
40
39
|
PLATFORMS
|
41
40
|
ruby
|
42
41
|
|
43
42
|
DEPENDENCIES
|
44
|
-
bson_ext
|
43
|
+
bson_ext (~> 1.2)
|
45
44
|
bundler
|
46
45
|
jeweler
|
47
46
|
mocha
|
48
|
-
mongoid (>= 2.0.0
|
49
|
-
rspec
|
47
|
+
mongoid (>= 2.0.0)
|
48
|
+
rspec
|
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.
|
1
|
+
0.2.0
|
data/lib/mongoid/i18n.rb
CHANGED
@@ -1,5 +1,5 @@
|
|
1
1
|
require 'mongoid/i18n/localized_field'
|
2
|
-
require 'mongoid/i18n/
|
2
|
+
require 'mongoid/i18n/criterion/selector'
|
3
3
|
|
4
4
|
module Mongoid
|
5
5
|
module I18n
|
@@ -10,11 +10,6 @@ module Mongoid
|
|
10
10
|
field name, options.merge(:type => LocalizedField)
|
11
11
|
end
|
12
12
|
|
13
|
-
def criteria
|
14
|
-
scope = scope_stack.last rescue nil
|
15
|
-
scope || I18n::LocalizedCriteria.new(self)
|
16
|
-
end
|
17
|
-
|
18
13
|
protected
|
19
14
|
def create_accessors(name, meth, options = {})
|
20
15
|
if options[:type] == LocalizedField
|
data/mongoid_i18n.gemspec
CHANGED
@@ -5,11 +5,11 @@
|
|
5
5
|
|
6
6
|
Gem::Specification.new do |s|
|
7
7
|
s.name = %q{mongoid_i18n}
|
8
|
-
s.version = "0.
|
8
|
+
s.version = "0.2.0"
|
9
9
|
|
10
10
|
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
11
11
|
s.authors = ["Rodrigo \303\201lvarez"]
|
12
|
-
s.date = %q{
|
12
|
+
s.date = %q{2011-04-08}
|
13
13
|
s.description = %q{This gem aims to be a transparent way to deal with localizable fields.
|
14
14
|
Basically use localized_field() instead of field() and that's it.
|
15
15
|
It will take care of locales for you when using find or criteria.
|
@@ -29,43 +29,38 @@ Gem::Specification.new do |s|
|
|
29
29
|
"Rakefile",
|
30
30
|
"VERSION",
|
31
31
|
"lib/mongoid/i18n.rb",
|
32
|
-
"lib/mongoid/i18n/
|
32
|
+
"lib/mongoid/i18n/criterion/selector.rb",
|
33
33
|
"lib/mongoid/i18n/localized_field.rb",
|
34
34
|
"mongoid_i18n.gemspec",
|
35
35
|
"spec/.rspec",
|
36
36
|
"spec/integration/mongoid/i18n_spec.rb",
|
37
|
-
"spec/spec_helper.rb"
|
38
|
-
"spec/unit/mongoid/i18n/localized_criteria_spec.rb",
|
39
|
-
"spec/unit/mongoid/i18n_spec.rb"
|
37
|
+
"spec/spec_helper.rb"
|
40
38
|
]
|
41
39
|
s.homepage = %q{http://github.com/Papipo/mongoid_i18n}
|
42
40
|
s.require_paths = ["lib"]
|
43
|
-
s.rubygems_version = %q{1.
|
41
|
+
s.rubygems_version = %q{1.6.2}
|
44
42
|
s.summary = %q{Mongoid plugin to deal with localizable fields}
|
45
43
|
s.test_files = [
|
46
44
|
"spec/integration/mongoid/i18n_spec.rb",
|
47
|
-
"spec/spec_helper.rb"
|
48
|
-
"spec/unit/mongoid/i18n/localized_criteria_spec.rb",
|
49
|
-
"spec/unit/mongoid/i18n_spec.rb"
|
45
|
+
"spec/spec_helper.rb"
|
50
46
|
]
|
51
47
|
|
52
48
|
if s.respond_to? :specification_version then
|
53
|
-
current_version = Gem::Specification::CURRENT_SPECIFICATION_VERSION
|
54
49
|
s.specification_version = 3
|
55
50
|
|
56
51
|
if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
|
57
|
-
s.add_runtime_dependency(%q<bson_ext>, ["
|
58
|
-
s.add_runtime_dependency(%q<mongoid>, [">= 2.0.0
|
59
|
-
s.add_runtime_dependency(%q<rspec>, [">=
|
52
|
+
s.add_runtime_dependency(%q<bson_ext>, ["~> 1.2"])
|
53
|
+
s.add_runtime_dependency(%q<mongoid>, [">= 2.0.0"])
|
54
|
+
s.add_runtime_dependency(%q<rspec>, [">= 0"])
|
60
55
|
s.add_runtime_dependency(%q<mocha>, [">= 0"])
|
61
56
|
s.add_runtime_dependency(%q<jeweler>, [">= 0"])
|
62
57
|
s.add_runtime_dependency(%q<bundler>, [">= 0"])
|
63
58
|
s.add_runtime_dependency(%q<mongoid>, [">= 2.0.0.beta.20"])
|
64
59
|
s.add_development_dependency(%q<rspec>, ["= 2.1.0"])
|
65
60
|
else
|
66
|
-
s.add_dependency(%q<bson_ext>, ["
|
67
|
-
s.add_dependency(%q<mongoid>, [">= 2.0.0
|
68
|
-
s.add_dependency(%q<rspec>, [">=
|
61
|
+
s.add_dependency(%q<bson_ext>, ["~> 1.2"])
|
62
|
+
s.add_dependency(%q<mongoid>, [">= 2.0.0"])
|
63
|
+
s.add_dependency(%q<rspec>, [">= 0"])
|
69
64
|
s.add_dependency(%q<mocha>, [">= 0"])
|
70
65
|
s.add_dependency(%q<jeweler>, [">= 0"])
|
71
66
|
s.add_dependency(%q<bundler>, [">= 0"])
|
@@ -73,9 +68,9 @@ Gem::Specification.new do |s|
|
|
73
68
|
s.add_dependency(%q<rspec>, ["= 2.1.0"])
|
74
69
|
end
|
75
70
|
else
|
76
|
-
s.add_dependency(%q<bson_ext>, ["
|
77
|
-
s.add_dependency(%q<mongoid>, [">= 2.0.0
|
78
|
-
s.add_dependency(%q<rspec>, [">=
|
71
|
+
s.add_dependency(%q<bson_ext>, ["~> 1.2"])
|
72
|
+
s.add_dependency(%q<mongoid>, [">= 2.0.0"])
|
73
|
+
s.add_dependency(%q<rspec>, [">= 0"])
|
79
74
|
s.add_dependency(%q<mocha>, [">= 0"])
|
80
75
|
s.add_dependency(%q<jeweler>, [">= 0"])
|
81
76
|
s.add_dependency(%q<bundler>, [">= 0"])
|
@@ -6,7 +6,6 @@ class Entry
|
|
6
6
|
include Mongoid::I18n
|
7
7
|
|
8
8
|
localized_field :title
|
9
|
-
field :published, :type => Boolean
|
10
9
|
end
|
11
10
|
|
12
11
|
describe Mongoid::I18n, "localized_field" do
|
@@ -133,10 +132,6 @@ describe Mongoid::I18n, 'criteria on embeds_many association' do
|
|
133
132
|
@sub_entries = (0..2).map { @entry.sub_entries.build }
|
134
133
|
end
|
135
134
|
|
136
|
-
it "should return a LocalizedCriteria" do
|
137
|
-
@entry.sub_entries.criteria.should be_a(Mongoid::I18n::LocalizedCriteria)
|
138
|
-
end
|
139
|
-
|
140
135
|
it "should contain the embedded documents" do
|
141
136
|
@entry.sub_entries.criteria.instance_variable_get("@documents").should == @sub_entries
|
142
137
|
end
|
metadata
CHANGED
@@ -1,13 +1,13 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: mongoid_i18n
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
hash:
|
5
|
-
prerelease:
|
4
|
+
hash: 23
|
5
|
+
prerelease:
|
6
6
|
segments:
|
7
7
|
- 0
|
8
|
-
-
|
9
|
-
-
|
10
|
-
version: 0.
|
8
|
+
- 2
|
9
|
+
- 0
|
10
|
+
version: 0.2.0
|
11
11
|
platform: ruby
|
12
12
|
authors:
|
13
13
|
- "Rodrigo \xC3\x81lvarez"
|
@@ -15,64 +15,58 @@ autorequire:
|
|
15
15
|
bindir: bin
|
16
16
|
cert_chain: []
|
17
17
|
|
18
|
-
date:
|
18
|
+
date: 2011-04-08 00:00:00 +02:00
|
19
19
|
default_executable:
|
20
20
|
dependencies:
|
21
21
|
- !ruby/object:Gem::Dependency
|
22
|
-
type: :runtime
|
23
22
|
prerelease: false
|
24
|
-
|
25
|
-
|
23
|
+
type: :runtime
|
24
|
+
requirement: &id001 !ruby/object:Gem::Requirement
|
26
25
|
none: false
|
27
26
|
requirements:
|
28
|
-
- -
|
27
|
+
- - ~>
|
29
28
|
- !ruby/object:Gem::Version
|
30
|
-
hash:
|
29
|
+
hash: 11
|
31
30
|
segments:
|
32
|
-
-
|
33
|
-
|
34
|
-
|
31
|
+
- 1
|
32
|
+
- 2
|
33
|
+
version: "1.2"
|
34
|
+
name: bson_ext
|
35
|
+
version_requirements: *id001
|
35
36
|
- !ruby/object:Gem::Dependency
|
36
|
-
type: :runtime
|
37
37
|
prerelease: false
|
38
|
-
|
39
|
-
|
38
|
+
type: :runtime
|
39
|
+
requirement: &id002 !ruby/object:Gem::Requirement
|
40
40
|
none: false
|
41
41
|
requirements:
|
42
42
|
- - ">="
|
43
43
|
- !ruby/object:Gem::Version
|
44
|
-
hash:
|
44
|
+
hash: 15
|
45
45
|
segments:
|
46
46
|
- 2
|
47
47
|
- 0
|
48
48
|
- 0
|
49
|
-
|
50
|
-
|
51
|
-
|
52
|
-
requirement: *id002
|
49
|
+
version: 2.0.0
|
50
|
+
name: mongoid
|
51
|
+
version_requirements: *id002
|
53
52
|
- !ruby/object:Gem::Dependency
|
54
|
-
type: :runtime
|
55
53
|
prerelease: false
|
56
|
-
|
57
|
-
|
54
|
+
type: :runtime
|
55
|
+
requirement: &id003 !ruby/object:Gem::Requirement
|
58
56
|
none: false
|
59
57
|
requirements:
|
60
58
|
- - ">="
|
61
59
|
- !ruby/object:Gem::Version
|
62
|
-
hash:
|
60
|
+
hash: 3
|
63
61
|
segments:
|
64
|
-
- 2
|
65
|
-
- 0
|
66
62
|
- 0
|
67
|
-
|
68
|
-
|
69
|
-
|
70
|
-
requirement: *id003
|
63
|
+
version: "0"
|
64
|
+
name: rspec
|
65
|
+
version_requirements: *id003
|
71
66
|
- !ruby/object:Gem::Dependency
|
72
|
-
type: :runtime
|
73
67
|
prerelease: false
|
74
|
-
|
75
|
-
|
68
|
+
type: :runtime
|
69
|
+
requirement: &id004 !ruby/object:Gem::Requirement
|
76
70
|
none: false
|
77
71
|
requirements:
|
78
72
|
- - ">="
|
@@ -81,12 +75,12 @@ dependencies:
|
|
81
75
|
segments:
|
82
76
|
- 0
|
83
77
|
version: "0"
|
84
|
-
|
78
|
+
name: mocha
|
79
|
+
version_requirements: *id004
|
85
80
|
- !ruby/object:Gem::Dependency
|
86
|
-
type: :runtime
|
87
81
|
prerelease: false
|
88
|
-
|
89
|
-
|
82
|
+
type: :runtime
|
83
|
+
requirement: &id005 !ruby/object:Gem::Requirement
|
90
84
|
none: false
|
91
85
|
requirements:
|
92
86
|
- - ">="
|
@@ -95,12 +89,12 @@ dependencies:
|
|
95
89
|
segments:
|
96
90
|
- 0
|
97
91
|
version: "0"
|
98
|
-
|
92
|
+
name: jeweler
|
93
|
+
version_requirements: *id005
|
99
94
|
- !ruby/object:Gem::Dependency
|
100
|
-
type: :runtime
|
101
95
|
prerelease: false
|
102
|
-
|
103
|
-
|
96
|
+
type: :runtime
|
97
|
+
requirement: &id006 !ruby/object:Gem::Requirement
|
104
98
|
none: false
|
105
99
|
requirements:
|
106
100
|
- - ">="
|
@@ -109,12 +103,12 @@ dependencies:
|
|
109
103
|
segments:
|
110
104
|
- 0
|
111
105
|
version: "0"
|
112
|
-
|
106
|
+
name: bundler
|
107
|
+
version_requirements: *id006
|
113
108
|
- !ruby/object:Gem::Dependency
|
114
|
-
type: :runtime
|
115
109
|
prerelease: false
|
116
|
-
|
117
|
-
|
110
|
+
type: :runtime
|
111
|
+
requirement: &id007 !ruby/object:Gem::Requirement
|
118
112
|
none: false
|
119
113
|
requirements:
|
120
114
|
- - ">="
|
@@ -127,12 +121,12 @@ dependencies:
|
|
127
121
|
- beta
|
128
122
|
- 20
|
129
123
|
version: 2.0.0.beta.20
|
130
|
-
|
124
|
+
name: mongoid
|
125
|
+
version_requirements: *id007
|
131
126
|
- !ruby/object:Gem::Dependency
|
132
|
-
type: :development
|
133
127
|
prerelease: false
|
134
|
-
|
135
|
-
|
128
|
+
type: :development
|
129
|
+
requirement: &id008 !ruby/object:Gem::Requirement
|
136
130
|
none: false
|
137
131
|
requirements:
|
138
132
|
- - "="
|
@@ -143,7 +137,8 @@ dependencies:
|
|
143
137
|
- 1
|
144
138
|
- 0
|
145
139
|
version: 2.1.0
|
146
|
-
|
140
|
+
name: rspec
|
141
|
+
version_requirements: *id008
|
147
142
|
description: "This gem aims to be a transparent way to deal with localizable fields.\n Basically use localized_field() instead of field() and that's it.\n It will take care of locales for you when using find or criteria.\n "
|
148
143
|
email: papipo@gmail.com
|
149
144
|
executables: []
|
@@ -163,14 +158,12 @@ files:
|
|
163
158
|
- Rakefile
|
164
159
|
- VERSION
|
165
160
|
- lib/mongoid/i18n.rb
|
166
|
-
- lib/mongoid/i18n/
|
161
|
+
- lib/mongoid/i18n/criterion/selector.rb
|
167
162
|
- lib/mongoid/i18n/localized_field.rb
|
168
163
|
- mongoid_i18n.gemspec
|
169
164
|
- spec/.rspec
|
170
165
|
- spec/integration/mongoid/i18n_spec.rb
|
171
166
|
- spec/spec_helper.rb
|
172
|
-
- spec/unit/mongoid/i18n/localized_criteria_spec.rb
|
173
|
-
- spec/unit/mongoid/i18n_spec.rb
|
174
167
|
has_rdoc: true
|
175
168
|
homepage: http://github.com/Papipo/mongoid_i18n
|
176
169
|
licenses: []
|
@@ -201,12 +194,10 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
201
194
|
requirements: []
|
202
195
|
|
203
196
|
rubyforge_project:
|
204
|
-
rubygems_version: 1.
|
197
|
+
rubygems_version: 1.6.2
|
205
198
|
signing_key:
|
206
199
|
specification_version: 3
|
207
200
|
summary: Mongoid plugin to deal with localizable fields
|
208
201
|
test_files:
|
209
202
|
- spec/integration/mongoid/i18n_spec.rb
|
210
203
|
- spec/spec_helper.rb
|
211
|
-
- spec/unit/mongoid/i18n/localized_criteria_spec.rb
|
212
|
-
- spec/unit/mongoid/i18n_spec.rb
|
@@ -1,19 +0,0 @@
|
|
1
|
-
module Mongoid
|
2
|
-
module I18n
|
3
|
-
class LocalizedCriteria < Mongoid::Criteria
|
4
|
-
def where(selector = nil)
|
5
|
-
super
|
6
|
-
expand_localized_fields_in_selector if selector.is_a?(Hash)
|
7
|
-
self
|
8
|
-
end
|
9
|
-
|
10
|
-
protected
|
11
|
-
|
12
|
-
def expand_localized_fields_in_selector
|
13
|
-
@klass.fields.select { |k,f| @selector.keys.include?(k.to_sym) && f.type == LocalizedField }.each do |k,v|
|
14
|
-
@selector["#{k}.#{::I18n.locale}"] = @selector.delete(k.to_sym)
|
15
|
-
end
|
16
|
-
end
|
17
|
-
end
|
18
|
-
end
|
19
|
-
end
|
@@ -1,17 +0,0 @@
|
|
1
|
-
require 'spec_helper'
|
2
|
-
|
3
|
-
describe Mongoid::I18n::LocalizedCriteria do
|
4
|
-
describe "where" do
|
5
|
-
before do
|
6
|
-
@title = Mongoid::Field.new(:title, :type => Mongoid::I18n::LocalizedField)
|
7
|
-
@published = Mongoid::Field.new(:published, :type => Boolean)
|
8
|
-
klass = stub(:fields => {'title' => @title, 'published' => @published})
|
9
|
-
@criteria = Mongoid::I18n::LocalizedCriteria.new(klass)
|
10
|
-
@criteria.where(:title.in => ['Title'], :published => true)
|
11
|
-
end
|
12
|
-
|
13
|
-
it "should expand fields that are LocalizedFields" do
|
14
|
-
@criteria.instance_variable_get("@selector").should == {'title.en' => {'$in' => ['Title']}, :published => true}
|
15
|
-
end
|
16
|
-
end
|
17
|
-
end
|
@@ -1,17 +0,0 @@
|
|
1
|
-
# encoding: utf-8
|
2
|
-
require 'spec_helper'
|
3
|
-
|
4
|
-
describe Mongoid::I18n do
|
5
|
-
before do
|
6
|
-
@class = Class.new do
|
7
|
-
include Mongoid::I18n
|
8
|
-
end
|
9
|
-
I18n.stubs(:locale).returns(:en)
|
10
|
-
end
|
11
|
-
|
12
|
-
describe "criteria" do
|
13
|
-
it "should return a LocalizedCriteria" do
|
14
|
-
@class.criteria.should be_a(Mongoid::I18n::LocalizedCriteria)
|
15
|
-
end
|
16
|
-
end
|
17
|
-
end
|