mongoid-textile 0.0.2 → 0.1.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.
@@ -1,9 +1,15 @@
1
- ## 0.0.2
1
+ ## 0.1.0 - February 14, 2012
2
+
3
+ ### Improvements
4
+
5
+ * Inclusion of support for localized fields.
6
+
7
+ ## 0.0.2 - January 17, 2012
2
8
 
3
9
  ### Improvements
4
10
 
5
11
  * Removing InstanceMethods module inside of ActiveSupport::Concern because it is deprecated on ActiveSupport 3.2.0.
6
12
 
7
- ## 0.0.1 (2012-01-11)
13
+ ## 0.0.1 - January 11, 2012
8
14
 
9
15
  Initial release.
data/Gemfile CHANGED
@@ -1,7 +1,7 @@
1
1
  source 'https://rubygems.org'
2
2
 
3
- gem 'bson_ext'
4
- gem 'rake'
3
+ gem 'bson_ext', '~> 1.5.2'
4
+ gem 'rake', '~> 0.9.2.2'
5
5
 
6
6
  # Specify your gem's dependencies in mongoid-textile.gemspec
7
7
  gemspec
@@ -1,19 +1,19 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- mongoid-textile (0.0.1)
5
- RedCloth (>= 4.2.0)
6
- mongoid (>= 2.4.0)
4
+ mongoid-textile (0.1.0)
5
+ RedCloth (~> 4.2.0)
6
+ mongoid (~> 2.4.0)
7
7
 
8
8
  GEM
9
9
  remote: https://rubygems.org/
10
10
  specs:
11
11
  RedCloth (4.2.9)
12
- activemodel (3.1.3)
13
- activesupport (= 3.1.3)
12
+ activemodel (3.2.1)
13
+ activesupport (= 3.2.1)
14
14
  builder (~> 3.0.0)
15
+ activesupport (3.2.1)
15
16
  i18n (~> 0.6)
16
- activesupport (3.1.3)
17
17
  multi_json (~> 1.0)
18
18
  bson (1.5.2)
19
19
  bson_ext (1.5.2)
@@ -23,7 +23,7 @@ GEM
23
23
  i18n (0.6.0)
24
24
  mongo (1.5.2)
25
25
  bson (= 1.5.2)
26
- mongoid (2.4.0)
26
+ mongoid (2.4.4)
27
27
  activemodel (~> 3.1)
28
28
  mongo (~> 1.3)
29
29
  tzinfo (~> 0.3.22)
@@ -43,7 +43,7 @@ PLATFORMS
43
43
  ruby
44
44
 
45
45
  DEPENDENCIES
46
- bson_ext
46
+ bson_ext (~> 1.5.2)
47
47
  mongoid-textile!
48
- rake
49
- rspec (= 2.8.0)
48
+ rake (~> 0.9.2.2)
49
+ rspec (~> 2.8.0)
@@ -14,9 +14,22 @@ module Mongoid
14
14
  def textile_to_html
15
15
  textile_fields.each do |textile_field_name|
16
16
  field_name = textile_field_name.gsub(/_formatted/, '')
17
- value = self.send(field_name)
18
- formatted_text = RedCloth.new(value.to_s).to_html
19
- self.send("#{textile_field_name}=", formatted_text)
17
+
18
+ if self.fields[field_name.to_s].localized?
19
+ values = self.send("#{field_name}_translations")
20
+
21
+ formatted_text = {}
22
+
23
+ values.each do |key, value|
24
+ formatted_text[key.to_s] = RedCloth.new(value.to_s).to_html
25
+ end
26
+
27
+ self.send("#{textile_field_name}_translations=", formatted_text)
28
+ else
29
+ value = self.send(field_name)
30
+ formatted_text = RedCloth.new(value.to_s).to_html
31
+ self.send("#{textile_field_name}=", formatted_text)
32
+ end
20
33
  end
21
34
  end
22
35
 
@@ -29,7 +42,11 @@ module Mongoid
29
42
  module ClassMethods
30
43
  def textlize(*fields)
31
44
  fields.each do |field_name|
32
- field("#{field_name}_formatted")
45
+ if self.fields[field_name.to_s].localized?
46
+ field("#{field_name}_formatted", :localize => true)
47
+ else
48
+ field("#{field_name}_formatted")
49
+ end
33
50
  end
34
51
  end
35
52
  end
@@ -1,5 +1,5 @@
1
1
  module Mongoid
2
2
  module Textile
3
- VERSION = "0.0.2"
3
+ VERSION = '0.1.0'
4
4
  end
5
5
  end
@@ -16,8 +16,8 @@ Gem::Specification.new do |gem|
16
16
  gem.require_paths = ["lib"]
17
17
  gem.version = Mongoid::Textile::VERSION
18
18
 
19
- gem.add_dependency 'RedCloth', '>= 4.2.0'
20
- gem.add_dependency 'mongoid', '>= 2.4.0'
19
+ gem.add_dependency 'mongoid', '~> 2.4.0'
20
+ gem.add_dependency 'RedCloth', '~> 4.2.0'
21
21
 
22
- gem.add_development_dependency 'rspec', '2.8.0'
22
+ gem.add_development_dependency 'rspec', '~> 2.8.0'
23
23
  end
@@ -1,3 +1,5 @@
1
+ # encoding: utf-8
2
+
1
3
  require "spec_helper"
2
4
 
3
5
  class Article
@@ -9,6 +11,15 @@ class Article
9
11
  textlize :text
10
12
  end
11
13
 
14
+ class Post
15
+ include Mongoid::Document
16
+ include Mongoid::Textile
17
+
18
+ field :text, :localize => true
19
+
20
+ textlize :text
21
+ end
22
+
12
23
  describe Mongoid::Textile do
13
24
  let(:article) { Article.create(:text => "h1. proud to be a rails developer") }
14
25
 
@@ -42,4 +53,29 @@ describe Mongoid::Textile do
42
53
  article.text_formatted.should eq("")
43
54
  end
44
55
  end
56
+
57
+ context 'multiple languages' do
58
+ let(:post) { Post.create(:text_translations => { 'en' => 'h1. ruby makes me happy', 'de' => 'h1. ruby macht mich glücklich' }) }
59
+
60
+ context 'in english' do
61
+ before :all do
62
+ I18n.locale = :en
63
+ end
64
+
65
+ it 'should set formatted field from textile to html' do
66
+ post.text_formatted.should eq('<h1>ruby makes me happy</h1>')
67
+ end
68
+ end
69
+
70
+ context 'in german' do
71
+ before :all do
72
+ I18n.locale = :de
73
+ end
74
+
75
+ it 'should set formatted field from textile to html' do
76
+ post.text_formatted.should eq('<h1>ruby macht mich glücklich</h1>')
77
+ end
78
+ end
79
+ end
80
+
45
81
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: mongoid-textile
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.2
4
+ version: 0.1.0
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -10,41 +10,41 @@ authors:
10
10
  autorequire:
11
11
  bindir: bin
12
12
  cert_chain: []
13
- date: 2012-01-17 00:00:00.000000000 Z
13
+ date: 2012-02-14 00:00:00.000000000 Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
- name: RedCloth
17
- requirement: &2156148240 !ruby/object:Gem::Requirement
16
+ name: mongoid
17
+ requirement: &2151854880 !ruby/object:Gem::Requirement
18
18
  none: false
19
19
  requirements:
20
- - - ! '>='
20
+ - - ~>
21
21
  - !ruby/object:Gem::Version
22
- version: 4.2.0
22
+ version: 2.4.0
23
23
  type: :runtime
24
24
  prerelease: false
25
- version_requirements: *2156148240
25
+ version_requirements: *2151854880
26
26
  - !ruby/object:Gem::Dependency
27
- name: mongoid
28
- requirement: &2156147620 !ruby/object:Gem::Requirement
27
+ name: RedCloth
28
+ requirement: &2151853160 !ruby/object:Gem::Requirement
29
29
  none: false
30
30
  requirements:
31
- - - ! '>='
31
+ - - ~>
32
32
  - !ruby/object:Gem::Version
33
- version: 2.4.0
33
+ version: 4.2.0
34
34
  type: :runtime
35
35
  prerelease: false
36
- version_requirements: *2156147620
36
+ version_requirements: *2151853160
37
37
  - !ruby/object:Gem::Dependency
38
38
  name: rspec
39
- requirement: &2156147060 !ruby/object:Gem::Requirement
39
+ requirement: &2151851820 !ruby/object:Gem::Requirement
40
40
  none: false
41
41
  requirements:
42
- - - =
42
+ - - ~>
43
43
  - !ruby/object:Gem::Version
44
44
  version: 2.8.0
45
45
  type: :development
46
46
  prerelease: false
47
- version_requirements: *2156147060
47
+ version_requirements: *2151851820
48
48
  description: Textile texts directly from MongoDB.
49
49
  email:
50
50
  - contato@lucasrenan.com
@@ -87,7 +87,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
87
87
  version: '0'
88
88
  requirements: []
89
89
  rubyforge_project:
90
- rubygems_version: 1.8.13
90
+ rubygems_version: 1.8.10
91
91
  signing_key:
92
92
  specification_version: 3
93
93
  summary: Mongoid Textile caches Textile texts on MongoDB to eliminate reprocessing.