mongoid_globalize 0.1.0 → 0.1.1

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/Gemfile CHANGED
@@ -1,6 +1,5 @@
1
1
  source "http://rubygems.org"
2
2
 
3
- gem 'activemodel', '3.1.0.rc4'
4
3
  gem 'mongoid', :git => 'git://github.com/mongoid/mongoid.git'
5
4
  gem 'bson_ext'
6
5
 
data/Gemfile.lock CHANGED
@@ -10,23 +10,20 @@ GIT
10
10
  GEM
11
11
  remote: http://rubygems.org/
12
12
  specs:
13
- activemodel (3.1.0.rc4)
14
- activesupport (= 3.1.0.rc4)
15
- bcrypt-ruby (~> 2.1.4)
16
- builder (~> 3.0.0)
17
- i18n (~> 0.6)
18
- activesupport (3.1.0.rc4)
19
- multi_json (~> 1.0)
13
+ activemodel (3.0.9)
14
+ activesupport (= 3.0.9)
15
+ builder (~> 2.1.2)
16
+ i18n (~> 0.5.0)
17
+ activesupport (3.0.9)
20
18
  archive-tar-minitar (0.5.2)
21
- bcrypt-ruby (2.1.4)
22
19
  bson (1.3.1)
23
20
  bson_ext (1.3.1)
24
- builder (3.0.0)
21
+ builder (2.1.2)
25
22
  columnize (0.3.4)
26
23
  database_cleaner (0.6.7)
27
24
  diff-lcs (1.1.2)
28
25
  git (1.2.5)
29
- i18n (0.6.0)
26
+ i18n (0.5.0)
30
27
  jeweler (1.6.4)
31
28
  bundler (~> 1.0)
32
29
  git (>= 1.2.5)
@@ -38,7 +35,6 @@ GEM
38
35
  mongoid-rspec (1.4.4)
39
36
  mongoid (~> 2.0)
40
37
  rspec (~> 2)
41
- multi_json (1.0.3)
42
38
  rake (0.9.2)
43
39
  rspec (2.6.0)
44
40
  rspec-core (~> 2.6.0)
@@ -64,7 +60,6 @@ PLATFORMS
64
60
  ruby
65
61
 
66
62
  DEPENDENCIES
67
- activemodel (= 3.1.0.rc4)
68
63
  bson_ext
69
64
  database_cleaner
70
65
  jeweler
data/README.textile ADDED
@@ -0,0 +1,122 @@
1
+ h1. Mongoid::Globalize
2
+
3
+ Mongoid::Globalize is based on Globalize3, but targeted at Mongoid. As Globalize3, it is compatible with and builds on the new "I18n API in Ruby on Rails":http://guides.rubyonrails.org/i18n.html and adds model translations to Mongoid::Document.
4
+
5
+ Mongoid::Globalize has to work with other frameworks, that supports Mongoid (Sinatra, Padrino, and others).
6
+
7
+ h2. Requirements
8
+
9
+ Mongoid > 2.0.2
10
+
11
+ Yes, at this moment Mongoid::Globalize doesn't support any published versions of Mongoid gem, so you need to clone master branch of this gem. I tested with "revision: e2540c818ebb1d37b3a8d1b7e6dd6836ce16d445":https://github.com/mongoid/mongoid/tree/e2540c818ebb1d37b3a8d1b7e6dd6836ce16d445, future revisions break some specs, so I wait for stable mongoid-2.1.0.
12
+
13
+ I also tested against ActiveModel-3.1.0.rc4, so Mongoid::Globalize has to work with Rails 3.1.
14
+
15
+ h2. Installation
16
+
17
+ To install Mongoid::Globalize just use:
18
+
19
+ <pre><code>
20
+ $ gem install mongoid_globalize
21
+ </code></pre>
22
+
23
+ or, with bundler, in your Gemfile
24
+
25
+ <pre><code>
26
+ gem 'mongoid_globalize'
27
+ </code></pre>
28
+
29
+ h2. Document translations
30
+
31
+ Document translations allow you to translate your document' field values. In order to make this work, you'll need to add +include Mongoid::Globalize+ into your document class and define translatable fields in block of +translates+ method, as you define usual fields. E.g.
32
+
33
+ <pre><code>
34
+ class Post
35
+ include Mongoid::Document
36
+ include Mongoid::Globalize
37
+ translates do
38
+ field :title
39
+ field :content
40
+ field :published, type: Boolean
41
+ end
42
+ end
43
+ </code></pre>
44
+
45
+ This allows you to translate the fields :title, :text and :published per locale:
46
+
47
+ <pre><code>
48
+ I18n.locale = :en
49
+ post.title # => Globalize rocks!
50
+
51
+ I18n.locale = :ru
52
+ post.title # => Глобалайз рулит!
53
+ </code></pre>
54
+
55
+ h2. I18n fallbacks for empty translations
56
+
57
+ It is possible to enable fallbacks for empty translations. It will depend on the configuration setting you have set for I18n translations in your config.
58
+
59
+ In Rails applications, for example, you can enable them by adding the next line to @config/application.rb@ (or only @config/environments/production.rb@ if you only want them in production)
60
+
61
+ <pre><code>config.i18n.fallbacks = true</code></pre>
62
+
63
+ By default, Mongoid::Globalize will only use fallbacks when your translation model does not exist or the translation value for the item you've requested is @nil@. However it is possible to also use fallbacks for @blank@ translations by adding @fallbacks_for_empty_translations!@ to the @translates@ block.
64
+
65
+ <pre><code>
66
+ class Post
67
+ include Mongoid::Document
68
+ include Mongoid::Globalize
69
+ translates do
70
+ field :title
71
+ field :content
72
+ end
73
+ end
74
+
75
+ puts post.translations.inspect
76
+ # => [#<Post::Translation id: 1, post_id: 1, locale: "en", title: "Globalize rocks!", name: "Globalize">, #<Post::Translation id: 2, post_id: 1, locale: "nl", title: '', name: nil>]
77
+
78
+ I18n.locale = :en
79
+ post.title # => 'Globalize rocks!'
80
+ post.name # => 'Globalize'
81
+
82
+ I18n.locale = :nl
83
+ post.title # => ''
84
+ post.name # => 'Globalize'
85
+ </code></pre>
86
+ <pre><code>
87
+ class Post
88
+ include Mongoid::Document
89
+ include Mongoid::Globalize
90
+ translates do
91
+ field :title
92
+ field :content
93
+ fallbacks_for_empty_translations!
94
+ end
95
+ end
96
+
97
+ puts post.translations.inspect
98
+ # => [#<Post::Translation id: 1, post_id: 1, locale: "en", title: "Globalize rocks!", name: "Globalize">, #<Post::Translation id: 2, post_id: 1, locale: "nl", title: '', name: nil>]
99
+
100
+ I18n.locale = :en
101
+ post.title # => 'Globalize rocks!'
102
+ post.name # => 'Globalize'
103
+
104
+ I18n.locale = :nl
105
+ post.title # => 'Globalize rocks!'
106
+ post.name # => 'Globalize'
107
+ </code></pre>
108
+
109
+
110
+ h2. Scoping objects by those with translations
111
+
112
+ To only return objects that have a translation for the given locale we can use the `with_translations` scope. This will only return records that have a translations for the passed in locale.
113
+
114
+ <pre><code>
115
+
116
+ Post.with_translations('en') # => [#<Post::Translation id: 1, post_id: 1, locale: "en", title: "Globalize rocks!", name: "Globalize">, #<Post::Translation id: 2, post_id: 1, locale: "nl", title: '', name: nil>]
117
+
118
+ Post.with_translations(I18n.locale) # => [#<Post::Translation id: 1, post_id: 1, locale: "en", title: "Globalize rocks!", name: "Globalize">, #<Post::Translation id: 2, post_id: 1, locale: "nl", title: '', name: nil>]
119
+
120
+ Post.with_translations('de') # => []
121
+
122
+ </code></pre>
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.1.0
1
+ 0.1.1
@@ -1,23 +1,12 @@
1
1
  module Mongoid::Globalize
2
2
  module ActMacro
3
- # TODO: other interface of +translates+. Like this:
4
- # translates do
5
- # field :title
6
- # field :visible, type: Boolean
7
- # end
8
- def translates(*attr_names_or_hashes)
9
- attr_hash = attr_names_or_hashes.inject({}) do |hash,attr|
10
- hash.merge(attr.is_a?(Hash) ? attr : {attr => String})
11
- end
12
- attr_hash.each do |name, type|
13
- self.translated_attribute_names.push name.to_sym
14
- translated_attr_accessor(name)
15
- translation_class.field name, type: type
16
- end
17
- end
18
-
19
- def fallbacks_for_empty_translations!
20
- self.fallbacks_for_empty_translations = true
3
+ # translates do
4
+ # field :title
5
+ # field :visible, type: Boolean
6
+ # end
7
+ def translates(&block)
8
+ builder = FieldsBuilder.new(self)
9
+ builder.instance_exec(&block)
21
10
  end
22
11
  end
23
12
  end
@@ -29,22 +29,12 @@ module Mongoid::Globalize
29
29
  stash.write(locale, name, value)
30
30
  end
31
31
 
32
- def save_translations!
33
- stash.each do |locale, attrs|
34
- translation = record.translations.find_or_initialize_by_locale(locale.to_s)
35
- attrs.each{ |name, value| translation[name] = value }
36
- translation.save!
37
- end
38
- # TODO: it's actual for mongoid?
39
- #record.translations.reset
40
- reset
41
- end
42
-
43
32
  def prepare_translations!
44
33
  stash.each do |locale, attrs|
45
34
  translation = record.translations.find_or_initialize_by_locale(locale.to_s)
46
35
  attrs.each{ |name, value| translation[name] = value }
47
36
  end
37
+ reset
48
38
  end
49
39
 
50
40
  def reset
@@ -1,29 +1,34 @@
1
1
  module Mongoid::Globalize
2
2
  module ClassMethods
3
- delegate :translated_locales, :to => :translation_class
3
+ def translated_locales
4
+ all.distinct("translations.locale").sort.map &:to_sym
5
+ end
4
6
 
5
- # TODO: At first deal with +translated_locales+
6
- #
7
- #def with_locales(*locales)
8
- # scoped.merge(translation_class.with_locales(*locales))
9
- #end
10
- #
11
- #def with_translations(*locales)
12
- # locales = translated_locales if locales.empty?
13
- # includes(:translations).with_locales(locales).with_required_attributes
14
- #end
15
- #
16
- #def with_required_attributes
17
- # required_translated_attributes.inject(scoped) do |scope, name|
18
- # scope.where("#{translated_column_name(name)} IS NOT NULL")
19
- # end
20
- #end
21
- #
7
+ def with_locales(*locales)
8
+ where(translated_field_name(:locale).in => locales.flatten)
9
+ end
10
+
11
+ def with_translations(*locales)
12
+ locales = translated_locales if locales.empty?
13
+ with_locales(locales).with_required_attributes
14
+ end
15
+
16
+ def with_required_attributes
17
+ required_translated_attributes.inject(self) do |scope, name|
18
+ scope.where(translated_field_name(name).exists => true)
19
+ end
20
+ end
21
+
22
+ def translated_field_name(name)
23
+ "translations.#{name}".to_sym
24
+ end
25
+
26
+ # TODO:
22
27
  #def with_translated_attribute(name, value, locales = nil)
23
28
  # locales ||= Globalize.fallbacks
24
29
  # with_translations.where(
25
- # translated_column_name(name) => value,
26
- # translated_column_name(:locale) => Array(locales).map(&:to_s)
30
+ # translated_field_name(name) => value,
31
+ # translated_field_name(:locale) => Array(locales).map(&:to_s)
27
32
  # )
28
33
  #end
29
34
 
@@ -46,11 +51,11 @@ module Mongoid::Globalize
46
51
  klass = self.const_set(:Translation, Class.new(Mongoid::Globalize::DocumentTranslation))
47
52
  end
48
53
  klass.embedded_in name.underscore.gsub('/', '_')
54
+ klass.translated_klass = self
49
55
  klass
50
56
  end
51
57
  end
52
58
 
53
- protected
54
59
  def translated_attr_accessor(name)
55
60
  define_method(:"#{name}=") do |value|
56
61
  write_attribute(name, value)
@@ -3,6 +3,8 @@ module Mongoid::Globalize
3
3
  include Mongoid::Document
4
4
  field :locale
5
5
  class << self
6
+ attr_accessor :translated_klass
7
+
6
8
  def with_locales(*locales)
7
9
  locales = locales.flatten.map(&:to_s)
8
10
  where(:locale.in => locales)
@@ -10,8 +12,7 @@ module Mongoid::Globalize
10
12
  alias with_locale with_locales
11
13
 
12
14
  def translated_locales
13
- # TODO
14
- []
15
+ all.distinct("locale").sort.map &:to_sym
15
16
  end
16
17
 
17
18
  def find_or_initialize_by_locale(locale)
@@ -0,0 +1,17 @@
1
+ module Mongoid::Globalize
2
+ class FieldsBuilder
3
+ def initialize(model)
4
+ @model = model
5
+ end
6
+
7
+ def field(name, *params)
8
+ @model.translated_attribute_names.push name.to_sym
9
+ @model.translated_attr_accessor(name)
10
+ @model.translation_class.field name, *params
11
+ end
12
+
13
+ def fallbacks_for_empty_translations!
14
+ @model.fallbacks_for_empty_translations = true
15
+ end
16
+ end
17
+ end
@@ -19,19 +19,6 @@ module Mongoid::Globalize
19
19
  with_given_locale(attributes) { super }
20
20
  end
21
21
 
22
- # All of this replaced by #process.. may be :)
23
- #def write_attributes(attributes, *args)
24
- # with_given_locale(attributes) { super }
25
- #end
26
-
27
- #def update_attributes!(attributes, *args)
28
- # with_given_locale(attributes) { super }
29
- #end
30
- #
31
- #def update_attributes(attributes, *args)
32
- # with_given_locale(attributes) { super }
33
- #end
34
-
35
22
  def write_attribute(name, value, options = {})
36
23
  if translated?(name)
37
24
  options = {:locale => nil}.merge(options)
@@ -138,23 +125,13 @@ module Mongoid::Globalize
138
125
  locales
139
126
  end
140
127
 
141
- def unmerge_translations!
128
+ def prepare_translations!
142
129
  @stop_merging_translated_attributes = true
143
130
  translated_attribute_names.each do |name|
144
131
  @attributes.delete name.to_s
145
132
  @changed_attributes.delete name.to_s
146
133
  end
147
- end
148
-
149
- def create_translations!
150
- globalize.save_translations!
151
- clear_translations!
152
- end
153
-
154
- def update_translations!
155
- unmerge_translations!
156
134
  globalize.prepare_translations!
157
- globalize.reset
158
135
  end
159
136
 
160
137
  def clear_translations!
@@ -3,6 +3,7 @@ require 'mongoid_globalize/act_macro'
3
3
  require 'mongoid_globalize/attributes'
4
4
  require 'mongoid_globalize/class_methods'
5
5
  require 'mongoid_globalize/document_translation'
6
+ require 'mongoid_globalize/fields_builder'
6
7
  require 'mongoid_globalize/instance_methods'
7
8
 
8
9
  module Mongoid::Globalize
@@ -11,11 +12,8 @@ module Mongoid::Globalize
11
12
  class_attribute :translated_attribute_names, :fallbacks_for_empty_translations
12
13
  self.translated_attribute_names = []
13
14
  embeds_many :translations, :class_name => translation_class.name
14
- #:extend => HasManyExtensions
15
- before_create :unmerge_translations!
16
- after_create :create_translations!
17
- before_update :update_translations!
18
- after_create :clear_translations!
15
+ before_save :prepare_translations!
16
+ after_save :clear_translations!
19
17
 
20
18
  extend Mongoid::Globalize::ActMacro
21
19
  end
@@ -60,10 +58,4 @@ module Mongoid::Globalize
60
58
  Thread.current[:globalize_locale] = locale.to_sym rescue nil
61
59
  end
62
60
  end
63
- #
64
- #module HasManyExtensions
65
- # def find_or_initialize_by_locale(locale)
66
- # with_locale(locale.to_s).first || build(:locale => locale.to_s)
67
- # end
68
- #end
69
61
  end
@@ -5,15 +5,15 @@
5
5
 
6
6
  Gem::Specification.new do |s|
7
7
  s.name = %q{mongoid_globalize}
8
- s.version = "0.1.0"
8
+ s.version = "0.1.1"
9
9
 
10
10
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
11
  s.authors = [%q{Mik-die}]
12
- s.date = %q{2011-07-25}
12
+ s.date = %q{2011-07-26}
13
13
  s.description = %q{Library for translating Mongoid documents, based on Globalize3 principles}
14
14
  s.email = %q{MikDiet@gmail.com}
15
15
  s.extra_rdoc_files = [
16
- "README.rdoc"
16
+ "README.textile"
17
17
  ]
18
18
  s.files = [
19
19
  ".rspec",
@@ -21,7 +21,7 @@ Gem::Specification.new do |s|
21
21
  "Gemfile",
22
22
  "Gemfile.lock",
23
23
  "MIT-LICENSE",
24
- "README.rdoc",
24
+ "README.textile",
25
25
  "Rakefile",
26
26
  "VERSION",
27
27
  "lib/mongoid_globalize.rb",
@@ -30,6 +30,7 @@ Gem::Specification.new do |s|
30
30
  "lib/mongoid_globalize/attributes.rb",
31
31
  "lib/mongoid_globalize/class_methods.rb",
32
32
  "lib/mongoid_globalize/document_translation.rb",
33
+ "lib/mongoid_globalize/fields_builder.rb",
33
34
  "lib/mongoid_globalize/instance_methods.rb",
34
35
  "mongoid_globalize.gemspec",
35
36
  "spec/data/models.rb",
@@ -54,7 +55,6 @@ Gem::Specification.new do |s|
54
55
  s.specification_version = 3
55
56
 
56
57
  if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
57
- s.add_runtime_dependency(%q<activemodel>, ["= 3.1.0.rc4"])
58
58
  s.add_runtime_dependency(%q<mongoid>, [">= 0"])
59
59
  s.add_runtime_dependency(%q<bson_ext>, [">= 0"])
60
60
  s.add_development_dependency(%q<rspec>, [">= 0"])
@@ -63,7 +63,6 @@ Gem::Specification.new do |s|
63
63
  s.add_development_dependency(%q<ruby-debug19>, [">= 0"])
64
64
  s.add_development_dependency(%q<jeweler>, [">= 0"])
65
65
  else
66
- s.add_dependency(%q<activemodel>, ["= 3.1.0.rc4"])
67
66
  s.add_dependency(%q<mongoid>, [">= 0"])
68
67
  s.add_dependency(%q<bson_ext>, [">= 0"])
69
68
  s.add_dependency(%q<rspec>, [">= 0"])
@@ -73,7 +72,6 @@ Gem::Specification.new do |s|
73
72
  s.add_dependency(%q<jeweler>, [">= 0"])
74
73
  end
75
74
  else
76
- s.add_dependency(%q<activemodel>, ["= 3.1.0.rc4"])
77
75
  s.add_dependency(%q<mongoid>, [">= 0"])
78
76
  s.add_dependency(%q<bson_ext>, [">= 0"])
79
77
  s.add_dependency(%q<rspec>, [">= 0"])
data/spec/data/models.rb CHANGED
@@ -2,10 +2,12 @@ class Post
2
2
  include Mongoid::Document
3
3
  include Mongoid::Globalize
4
4
  belongs_to :blog
5
- translates :title, :content
6
-
7
- translates :published => Boolean
8
- translates :published_at => DateTime
5
+ translates do
6
+ field :title
7
+ field :content
8
+ field :published, type: Boolean
9
+ field :published_at, type: DateTime
10
+ end
9
11
  validates_presence_of :title
10
12
  scope :with_some_title, :conditions => { :title => 'some_title' }
11
13
  end
@@ -15,8 +17,8 @@ class PostTranslation
15
17
  field :locale
16
18
  field :title
17
19
  field :content
18
- field :published => Boolean
19
- field :published_at => DateTime
20
+ field :published, type: Boolean
21
+ field :published_at, type: DateTime
20
22
  embedded_in :post
21
23
 
22
24
  def existing_method
@@ -36,13 +38,16 @@ end
36
38
  class Validatee
37
39
  include Mongoid::Document
38
40
  include Mongoid::Globalize
39
- translates :string
41
+ translates{ field :string }
40
42
  end
41
43
 
42
44
  class Parent
43
45
  include Mongoid::Document
44
46
  include Mongoid::Globalize
45
- translates :content, :type
47
+ translates do
48
+ field :content
49
+ field :type
50
+ end
46
51
  end
47
52
 
48
53
  class Child < Parent
@@ -57,14 +62,17 @@ end
57
62
 
58
63
  class TranslatedComment < Comment
59
64
  include Mongoid::Globalize
60
- translates :content, :title
65
+ translates do
66
+ field :content
67
+ field :title
68
+ end
61
69
  end
62
70
 
63
71
  class User
64
72
  include Mongoid::Document
65
73
  include Mongoid::Timestamps
66
74
  include Mongoid::Globalize
67
- translates :name
75
+ translates{ field :name }
68
76
  field :email
69
77
  validates_presence_of :name, :email
70
78
  end
@@ -72,6 +80,8 @@ end
72
80
  class Task
73
81
  include Mongoid::Document
74
82
  include Mongoid::Globalize
75
- fallbacks_for_empty_translations!
76
- translates :name
83
+ translates do
84
+ fallbacks_for_empty_translations!
85
+ field :name
86
+ end
77
87
  end
@@ -32,7 +32,7 @@ describe "Translation class" do
32
32
  class Baz
33
33
  include Mongoid::Document
34
34
  include Mongoid::Globalize
35
- translates :bumm
35
+ translates{ field :bumm }
36
36
  end
37
37
  end
38
38
  end
@@ -119,7 +119,6 @@ describe Mongoid::Globalize do
119
119
 
120
120
  describe "#translated_locales" do
121
121
  it "returns locales that have translations" do
122
- pending "TODO"
123
122
  first = Post.create!(:title => 'title', :locale => :en)
124
123
  first.update_attributes(:title => 'Title', :locale => :de)
125
124
  second = Post.create!(:title => 'title', :locale => :en)
@@ -144,12 +143,21 @@ describe Mongoid::Globalize do
144
143
  end
145
144
 
146
145
  describe "#with_translations" do
147
- it "eager loads translations" do
148
- pending "TODO"
146
+ it "loads only documents with translations" do
149
147
  Post.create(:title => 'title 1')
150
- Post.create(:title => 'title 2')
151
- Post.with_translations.first.translations.should be_loaded
152
- Post.with_translations.map(&:title).should == ['title 1', 'title 2']
148
+ Post.create(:title => 'title 2')
149
+ Post.with_translations.map(&:title).sort.should == ['title 1', 'title 2']
150
+ Post.with_translations(:de).should == []
151
+ end
152
+
153
+ it "doesn't load document with present locale, but absent required attributes" do
154
+ post = Post.create(:title => 'title 1')
155
+ post.set_translations(
156
+ :en => { :title => 'updated title' },
157
+ :ru => { :content => 'без заголовка' }
158
+ )
159
+ Post.with_translations(:en).first.should == post
160
+ Post.with_translations(:de).should == []
153
161
  end
154
162
  end
155
163
 
metadata CHANGED
@@ -2,7 +2,7 @@
2
2
  name: mongoid_globalize
3
3
  version: !ruby/object:Gem::Version
4
4
  prerelease:
5
- version: 0.1.0
5
+ version: 0.1.1
6
6
  platform: ruby
7
7
  authors:
8
8
  - Mik-die
@@ -10,21 +10,21 @@ autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
12
 
13
- date: 2011-07-25 00:00:00 Z
13
+ date: 2011-07-26 00:00:00 Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
- name: activemodel
16
+ name: mongoid
17
17
  requirement: &id001 !ruby/object:Gem::Requirement
18
18
  none: false
19
19
  requirements:
20
- - - "="
20
+ - - ">="
21
21
  - !ruby/object:Gem::Version
22
- version: 3.1.0.rc4
22
+ version: "0"
23
23
  type: :runtime
24
24
  prerelease: false
25
25
  version_requirements: *id001
26
26
  - !ruby/object:Gem::Dependency
27
- name: mongoid
27
+ name: bson_ext
28
28
  requirement: &id002 !ruby/object:Gem::Requirement
29
29
  none: false
30
30
  requirements:
@@ -35,18 +35,18 @@ dependencies:
35
35
  prerelease: false
36
36
  version_requirements: *id002
37
37
  - !ruby/object:Gem::Dependency
38
- name: bson_ext
38
+ name: rspec
39
39
  requirement: &id003 !ruby/object:Gem::Requirement
40
40
  none: false
41
41
  requirements:
42
42
  - - ">="
43
43
  - !ruby/object:Gem::Version
44
44
  version: "0"
45
- type: :runtime
45
+ type: :development
46
46
  prerelease: false
47
47
  version_requirements: *id003
48
48
  - !ruby/object:Gem::Dependency
49
- name: rspec
49
+ name: mongoid-rspec
50
50
  requirement: &id004 !ruby/object:Gem::Requirement
51
51
  none: false
52
52
  requirements:
@@ -57,7 +57,7 @@ dependencies:
57
57
  prerelease: false
58
58
  version_requirements: *id004
59
59
  - !ruby/object:Gem::Dependency
60
- name: mongoid-rspec
60
+ name: database_cleaner
61
61
  requirement: &id005 !ruby/object:Gem::Requirement
62
62
  none: false
63
63
  requirements:
@@ -68,7 +68,7 @@ dependencies:
68
68
  prerelease: false
69
69
  version_requirements: *id005
70
70
  - !ruby/object:Gem::Dependency
71
- name: database_cleaner
71
+ name: ruby-debug19
72
72
  requirement: &id006 !ruby/object:Gem::Requirement
73
73
  none: false
74
74
  requirements:
@@ -79,7 +79,7 @@ dependencies:
79
79
  prerelease: false
80
80
  version_requirements: *id006
81
81
  - !ruby/object:Gem::Dependency
82
- name: ruby-debug19
82
+ name: jeweler
83
83
  requirement: &id007 !ruby/object:Gem::Requirement
84
84
  none: false
85
85
  requirements:
@@ -89,17 +89,6 @@ dependencies:
89
89
  type: :development
90
90
  prerelease: false
91
91
  version_requirements: *id007
92
- - !ruby/object:Gem::Dependency
93
- name: jeweler
94
- requirement: &id008 !ruby/object:Gem::Requirement
95
- none: false
96
- requirements:
97
- - - ">="
98
- - !ruby/object:Gem::Version
99
- version: "0"
100
- type: :development
101
- prerelease: false
102
- version_requirements: *id008
103
92
  description: Library for translating Mongoid documents, based on Globalize3 principles
104
93
  email: MikDiet@gmail.com
105
94
  executables: []
@@ -107,14 +96,14 @@ executables: []
107
96
  extensions: []
108
97
 
109
98
  extra_rdoc_files:
110
- - README.rdoc
99
+ - README.textile
111
100
  files:
112
101
  - .rspec
113
102
  - .rvmrc
114
103
  - Gemfile
115
104
  - Gemfile.lock
116
105
  - MIT-LICENSE
117
- - README.rdoc
106
+ - README.textile
118
107
  - Rakefile
119
108
  - VERSION
120
109
  - lib/mongoid_globalize.rb
@@ -123,6 +112,7 @@ files:
123
112
  - lib/mongoid_globalize/attributes.rb
124
113
  - lib/mongoid_globalize/class_methods.rb
125
114
  - lib/mongoid_globalize/document_translation.rb
115
+ - lib/mongoid_globalize/fields_builder.rb
126
116
  - lib/mongoid_globalize/instance_methods.rb
127
117
  - mongoid_globalize.gemspec
128
118
  - spec/data/models.rb
@@ -149,7 +139,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
149
139
  requirements:
150
140
  - - ">="
151
141
  - !ruby/object:Gem::Version
152
- hash: -528582867
142
+ hash: -1007506339
153
143
  segments:
154
144
  - 0
155
145
  version: "0"
data/README.rdoc DELETED
File without changes