mongoid-textile 0.1.1 → 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/.gitignore +1 -0
- data/.travis.yml +4 -5
- data/CHANGELOG.md +10 -0
- data/README.md +5 -1
- data/Rakefile +2 -2
- data/gemfiles/mongoid-2.4.gemfile +7 -0
- data/lib/mongoid-textile.rb +13 -13
- data/lib/mongoid-textile/version.rb +1 -1
- data/mongoid-textile.gemspec +11 -13
- data/spec/mongoid-textile_spec.rb +35 -35
- data/spec/spec_helper.rb +15 -21
- metadata +19 -13
- data/Gemfile.lock +0 -49
data/.gitignore
CHANGED
data/.travis.yml
CHANGED
data/CHANGELOG.md
CHANGED
@@ -1,3 +1,13 @@
|
|
1
|
+
## 0.2.0 - July 11, 2012
|
2
|
+
|
3
|
+
### Improvements
|
4
|
+
|
5
|
+
* Adding support to Mongoid 3.
|
6
|
+
|
7
|
+
### Major Changes (Backwards Incompatible)
|
8
|
+
|
9
|
+
* Mongoid Textile no longer supports Ruby 1.8.7 and 1.9.2 (if you use Mongoid 3).
|
10
|
+
|
1
11
|
## 0.1.1 - March 30, 2012
|
2
12
|
|
3
13
|
### Resolved Issues
|
data/README.md
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
# Mongoid::Textile [](http://travis-ci.org/tiagogodinho/mongoid-textile) [](http://travis-ci.org/tiagogodinho/mongoid-textile) [](http://gemnasium.com/tiagogodinho/mongoid-textile)
|
2
2
|
|
3
3
|
Textile texts directly from MongoDB.
|
4
4
|
|
@@ -35,6 +35,10 @@ article = Article.create(text: 'h1. Proud to be a rails developer')
|
|
35
35
|
article.text_formatted #=> <h1>Proud to be a rails developer</h1>
|
36
36
|
```
|
37
37
|
|
38
|
+
## Compatibility
|
39
|
+
|
40
|
+
Mongoid Textile is tested against Ruby 1.9.3.
|
41
|
+
|
38
42
|
## Contributing
|
39
43
|
|
40
44
|
1. Fork it
|
data/Rakefile
CHANGED
data/lib/mongoid-textile.rb
CHANGED
@@ -1,28 +1,28 @@
|
|
1
|
-
require
|
2
|
-
require
|
3
|
-
require
|
4
|
-
require
|
1
|
+
require 'mongoid-textile/version'
|
2
|
+
require 'active_support/concern'
|
3
|
+
require 'mongoid'
|
4
|
+
require 'redcloth'
|
5
5
|
|
6
6
|
module Mongoid
|
7
7
|
module Textile
|
8
8
|
extend ActiveSupport::Concern
|
9
|
-
|
9
|
+
|
10
10
|
included do
|
11
11
|
before_save :textile_to_html
|
12
12
|
end
|
13
|
-
|
13
|
+
|
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
|
-
|
17
|
+
|
18
18
|
if self.fields[field_name.to_s].localized?
|
19
19
|
values = self.send("#{field_name}_translations") || {}
|
20
20
|
formatted_text = {}
|
21
|
-
|
21
|
+
|
22
22
|
values.each do |key, value|
|
23
23
|
formatted_text[key.to_s] = RedCloth.new(value.to_s).to_html
|
24
24
|
end
|
25
|
-
|
25
|
+
|
26
26
|
self.send("#{textile_field_name}_translations=", formatted_text)
|
27
27
|
else
|
28
28
|
value = self.send(field_name)
|
@@ -31,18 +31,18 @@ module Mongoid
|
|
31
31
|
end
|
32
32
|
end
|
33
33
|
end
|
34
|
-
|
34
|
+
|
35
35
|
private
|
36
|
-
|
36
|
+
|
37
37
|
def textile_fields
|
38
38
|
fields.collect{ |field| field.first }.select{ |field_name| field_name =~ /\w+_formatted/ }
|
39
39
|
end
|
40
|
-
|
40
|
+
|
41
41
|
module ClassMethods
|
42
42
|
def textlize(*fields)
|
43
43
|
fields.each do |field_name|
|
44
44
|
if self.fields[field_name.to_s].localized?
|
45
|
-
field("#{field_name}_formatted", :
|
45
|
+
field("#{field_name}_formatted", localize: true)
|
46
46
|
else
|
47
47
|
field("#{field_name}_formatted")
|
48
48
|
end
|
data/mongoid-textile.gemspec
CHANGED
@@ -1,25 +1,23 @@
|
|
1
|
-
# encoding: UTF-8
|
2
|
-
|
3
1
|
require File.expand_path('../lib/mongoid-textile/version', __FILE__)
|
4
2
|
|
5
3
|
Gem::Specification.new do |gem|
|
6
|
-
gem.authors = [
|
7
|
-
gem.email = [
|
4
|
+
gem.authors = ['Lucas Renan', 'Tiago Rafael Godinho']
|
5
|
+
gem.email = ['contato@lucasrenan.com', 'tiagogodinho3@gmail.com']
|
8
6
|
gem.description = %q{Textile texts directly from MongoDB.}
|
9
7
|
gem.summary = %q{Mongoid Textile caches Textile texts on MongoDB to eliminate reprocessing.}
|
10
|
-
gem.homepage =
|
8
|
+
gem.homepage = ''
|
11
9
|
|
12
10
|
gem.executables = `git ls-files -- bin/*`.split("\n").map{ |f| File.basename(f) }
|
13
11
|
gem.files = `git ls-files`.split("\n")
|
14
12
|
gem.test_files = `git ls-files -- {test,spec,features}/*`.split("\n")
|
15
|
-
gem.name =
|
16
|
-
gem.require_paths = [
|
13
|
+
gem.name = 'mongoid-textile'
|
14
|
+
gem.require_paths = ['lib']
|
17
15
|
gem.version = Mongoid::Textile::VERSION
|
18
|
-
|
19
|
-
gem.add_dependency 'mongoid', '
|
16
|
+
|
17
|
+
gem.add_dependency 'mongoid', '>= 2.4'
|
20
18
|
gem.add_dependency 'RedCloth', '~> 4.2.0'
|
21
|
-
|
22
|
-
gem.add_development_dependency '
|
23
|
-
gem.add_development_dependency 'rspec',
|
24
|
-
gem.add_development_dependency 'rake',
|
19
|
+
|
20
|
+
gem.add_development_dependency 'database_cleaner', '~> 0.8'
|
21
|
+
gem.add_development_dependency 'rspec', '~> 2.9'
|
22
|
+
gem.add_development_dependency 'rake', '~> 0.9.2'
|
25
23
|
end
|
@@ -1,86 +1,86 @@
|
|
1
1
|
# encoding: utf-8
|
2
2
|
|
3
|
-
require
|
3
|
+
require 'spec_helper'
|
4
4
|
|
5
5
|
class Article
|
6
6
|
include Mongoid::Document
|
7
7
|
include Mongoid::Textile
|
8
|
-
|
8
|
+
|
9
9
|
field :text
|
10
|
-
|
10
|
+
|
11
11
|
textlize :text
|
12
12
|
end
|
13
13
|
|
14
14
|
class Post
|
15
15
|
include Mongoid::Document
|
16
16
|
include Mongoid::Textile
|
17
|
-
|
18
|
-
field :text, :
|
19
|
-
|
17
|
+
|
18
|
+
field :text, localize: true
|
19
|
+
|
20
20
|
textlize :text
|
21
21
|
end
|
22
22
|
|
23
23
|
describe Mongoid::Textile do
|
24
|
-
let(:article) { Article.create(:
|
25
|
-
|
26
|
-
it
|
24
|
+
let(:article) { Article.create(text: 'h1. proud to be a rails developer') }
|
25
|
+
|
26
|
+
it 'should build a dynamic field for textilized fields' do
|
27
27
|
article.should respond_to(:text_formatted)
|
28
28
|
end
|
29
|
-
|
30
|
-
it
|
31
|
-
article.text_formatted.should eq(
|
29
|
+
|
30
|
+
it 'should set formatted field from textile to html' do
|
31
|
+
article.text_formatted.should eq('<h1>proud to be a rails developer</h1>')
|
32
32
|
end
|
33
33
|
|
34
|
-
it
|
35
|
-
article.text =
|
34
|
+
it 'should change textlized text' do
|
35
|
+
article.text = 'p. ruby makes me happy'
|
36
36
|
article.save
|
37
37
|
|
38
|
-
article.text_formatted.should eq(
|
38
|
+
article.text_formatted.should eq('<p>ruby makes me happy</p>')
|
39
39
|
end
|
40
|
-
|
41
|
-
context
|
42
|
-
let(:article) { Article.create(:
|
43
|
-
|
44
|
-
it
|
45
|
-
article.text_formatted.should eq(
|
40
|
+
|
41
|
+
context 'when text is nil' do
|
42
|
+
let(:article) { Article.create(text: nil) }
|
43
|
+
|
44
|
+
it 'should set formatted field with an empty string' do
|
45
|
+
article.text_formatted.should eq('')
|
46
46
|
end
|
47
47
|
end
|
48
48
|
|
49
|
-
context
|
49
|
+
context 'when text is localized and is not present' do
|
50
50
|
let(:post) { Post.create }
|
51
51
|
|
52
|
-
it
|
52
|
+
it 'should set formatted translations field with an empty hash' do
|
53
53
|
post.text_formatted_translations.should eq({})
|
54
54
|
post.text_formatted.should eq(nil)
|
55
55
|
end
|
56
56
|
end
|
57
|
-
|
58
|
-
context
|
59
|
-
let(:article) { Article.create(:
|
60
|
-
|
61
|
-
it
|
62
|
-
article.text_formatted.should eq(
|
57
|
+
|
58
|
+
context 'when text is empty' do
|
59
|
+
let(:article) { Article.create(text: '') }
|
60
|
+
|
61
|
+
it 'should set formatted field with an empty string' do
|
62
|
+
article.text_formatted.should eq('')
|
63
63
|
end
|
64
64
|
end
|
65
|
-
|
65
|
+
|
66
66
|
context 'multiple languages' do
|
67
|
-
let(:post) { Post.create(:
|
68
|
-
|
67
|
+
let(:post) { Post.create(text_translations: { en: 'h1. ruby makes me happy', de: 'h1. ruby macht mich glücklich' }) }
|
68
|
+
|
69
69
|
context 'in english' do
|
70
70
|
before :all do
|
71
71
|
I18n.locale = :en
|
72
72
|
end
|
73
|
-
|
73
|
+
|
74
74
|
it 'should set formatted field from textile to html' do
|
75
75
|
post.text_formatted.should eq('<h1>ruby makes me happy</h1>')
|
76
76
|
end
|
77
77
|
end
|
78
|
-
|
78
|
+
|
79
79
|
context 'in german' do
|
80
80
|
before :all do
|
81
81
|
I18n.locale = :de
|
82
82
|
end
|
83
|
-
|
83
|
+
|
84
84
|
it 'should set formatted field from textile to html' do
|
85
85
|
post.text_formatted.should eq('<h1>ruby macht mich glücklich</h1>')
|
86
86
|
end
|
data/spec/spec_helper.rb
CHANGED
@@ -1,29 +1,23 @@
|
|
1
|
-
require
|
1
|
+
require 'mongoid-textile'
|
2
|
+
require 'database_cleaner'
|
2
3
|
|
3
4
|
RSpec.configure do |config|
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
5
|
+
config.before(:suite) do
|
6
|
+
if Mongoid.respond_to? :connect_to
|
7
|
+
Mongoid.connect_to('mongoid-textile') # Mongoid 3
|
8
|
+
else
|
9
|
+
Mongoid.master = Mongo::Connection.new.db('mongoid-textile') # Mongoid 2
|
10
|
+
end
|
8
11
|
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
config.color_enabled = true
|
13
|
-
config.full_backtrace = true
|
14
|
-
|
15
|
-
config.before :suite do
|
16
|
-
Mongoid.configure do |config|
|
17
|
-
config.master = Mongo::Connection.new.db("mongoid-textile")
|
18
|
-
end
|
12
|
+
DatabaseCleaner.strategy = :truncation
|
13
|
+
DatabaseCleaner.clean_with(:truncation)
|
19
14
|
end
|
20
15
|
|
21
|
-
config.
|
22
|
-
|
16
|
+
config.before(:each) do
|
17
|
+
DatabaseCleaner.start
|
23
18
|
end
|
24
19
|
|
25
|
-
config.after
|
26
|
-
|
27
|
-
Mongoid.master.connection.close
|
20
|
+
config.after(:each) do
|
21
|
+
DatabaseCleaner.clean
|
28
22
|
end
|
29
|
-
end
|
23
|
+
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.
|
4
|
+
version: 0.2.0
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -10,24 +10,24 @@ authors:
|
|
10
10
|
autorequire:
|
11
11
|
bindir: bin
|
12
12
|
cert_chain: []
|
13
|
-
date: 2012-
|
13
|
+
date: 2012-07-11 00:00:00.000000000 Z
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
16
16
|
name: mongoid
|
17
17
|
requirement: !ruby/object:Gem::Requirement
|
18
18
|
none: false
|
19
19
|
requirements:
|
20
|
-
- -
|
20
|
+
- - ! '>='
|
21
21
|
- !ruby/object:Gem::Version
|
22
|
-
version: 2.4
|
22
|
+
version: '2.4'
|
23
23
|
type: :runtime
|
24
24
|
prerelease: false
|
25
25
|
version_requirements: !ruby/object:Gem::Requirement
|
26
26
|
none: false
|
27
27
|
requirements:
|
28
|
-
- -
|
28
|
+
- - ! '>='
|
29
29
|
- !ruby/object:Gem::Version
|
30
|
-
version: 2.4
|
30
|
+
version: '2.4'
|
31
31
|
- !ruby/object:Gem::Dependency
|
32
32
|
name: RedCloth
|
33
33
|
requirement: !ruby/object:Gem::Requirement
|
@@ -45,13 +45,13 @@ dependencies:
|
|
45
45
|
- !ruby/object:Gem::Version
|
46
46
|
version: 4.2.0
|
47
47
|
- !ruby/object:Gem::Dependency
|
48
|
-
name:
|
48
|
+
name: database_cleaner
|
49
49
|
requirement: !ruby/object:Gem::Requirement
|
50
50
|
none: false
|
51
51
|
requirements:
|
52
52
|
- - ~>
|
53
53
|
- !ruby/object:Gem::Version
|
54
|
-
version:
|
54
|
+
version: '0.8'
|
55
55
|
type: :development
|
56
56
|
prerelease: false
|
57
57
|
version_requirements: !ruby/object:Gem::Requirement
|
@@ -59,7 +59,7 @@ dependencies:
|
|
59
59
|
requirements:
|
60
60
|
- - ~>
|
61
61
|
- !ruby/object:Gem::Version
|
62
|
-
version:
|
62
|
+
version: '0.8'
|
63
63
|
- !ruby/object:Gem::Dependency
|
64
64
|
name: rspec
|
65
65
|
requirement: !ruby/object:Gem::Requirement
|
@@ -67,7 +67,7 @@ dependencies:
|
|
67
67
|
requirements:
|
68
68
|
- - ~>
|
69
69
|
- !ruby/object:Gem::Version
|
70
|
-
version: 2.9
|
70
|
+
version: '2.9'
|
71
71
|
type: :development
|
72
72
|
prerelease: false
|
73
73
|
version_requirements: !ruby/object:Gem::Requirement
|
@@ -75,7 +75,7 @@ dependencies:
|
|
75
75
|
requirements:
|
76
76
|
- - ~>
|
77
77
|
- !ruby/object:Gem::Version
|
78
|
-
version: 2.9
|
78
|
+
version: '2.9'
|
79
79
|
- !ruby/object:Gem::Dependency
|
80
80
|
name: rake
|
81
81
|
requirement: !ruby/object:Gem::Requirement
|
@@ -105,10 +105,10 @@ files:
|
|
105
105
|
- .travis.yml
|
106
106
|
- CHANGELOG.md
|
107
107
|
- Gemfile
|
108
|
-
- Gemfile.lock
|
109
108
|
- LICENSE
|
110
109
|
- README.md
|
111
110
|
- Rakefile
|
111
|
+
- gemfiles/mongoid-2.4.gemfile
|
112
112
|
- lib/mongoid-textile.rb
|
113
113
|
- lib/mongoid-textile/version.rb
|
114
114
|
- mongoid-textile.gemspec
|
@@ -126,15 +126,21 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
126
126
|
- - ! '>='
|
127
127
|
- !ruby/object:Gem::Version
|
128
128
|
version: '0'
|
129
|
+
segments:
|
130
|
+
- 0
|
131
|
+
hash: 4348872174340008729
|
129
132
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
130
133
|
none: false
|
131
134
|
requirements:
|
132
135
|
- - ! '>='
|
133
136
|
- !ruby/object:Gem::Version
|
134
137
|
version: '0'
|
138
|
+
segments:
|
139
|
+
- 0
|
140
|
+
hash: 4348872174340008729
|
135
141
|
requirements: []
|
136
142
|
rubyforge_project:
|
137
|
-
rubygems_version: 1.8.
|
143
|
+
rubygems_version: 1.8.24
|
138
144
|
signing_key:
|
139
145
|
specification_version: 3
|
140
146
|
summary: Mongoid Textile caches Textile texts on MongoDB to eliminate reprocessing.
|
data/Gemfile.lock
DELETED
@@ -1,49 +0,0 @@
|
|
1
|
-
PATH
|
2
|
-
remote: .
|
3
|
-
specs:
|
4
|
-
mongoid-textile (0.1.0)
|
5
|
-
RedCloth (~> 4.2.0)
|
6
|
-
mongoid (~> 2.4.0)
|
7
|
-
|
8
|
-
GEM
|
9
|
-
remote: https://rubygems.org/
|
10
|
-
specs:
|
11
|
-
RedCloth (4.2.9)
|
12
|
-
activemodel (3.2.2)
|
13
|
-
activesupport (= 3.2.2)
|
14
|
-
builder (~> 3.0.0)
|
15
|
-
activesupport (3.2.2)
|
16
|
-
i18n (~> 0.6)
|
17
|
-
multi_json (~> 1.0)
|
18
|
-
bson (1.6.1)
|
19
|
-
bson_ext (1.6.1)
|
20
|
-
bson (~> 1.6.1)
|
21
|
-
builder (3.0.0)
|
22
|
-
diff-lcs (1.1.3)
|
23
|
-
i18n (0.6.0)
|
24
|
-
mongo (1.6.1)
|
25
|
-
bson (~> 1.6.1)
|
26
|
-
mongoid (2.4.7)
|
27
|
-
activemodel (~> 3.1)
|
28
|
-
mongo (~> 1.3)
|
29
|
-
tzinfo (~> 0.3.22)
|
30
|
-
multi_json (1.2.0)
|
31
|
-
rake (0.9.2.2)
|
32
|
-
rspec (2.9.0)
|
33
|
-
rspec-core (~> 2.9.0)
|
34
|
-
rspec-expectations (~> 2.9.0)
|
35
|
-
rspec-mocks (~> 2.9.0)
|
36
|
-
rspec-core (2.9.0)
|
37
|
-
rspec-expectations (2.9.0)
|
38
|
-
diff-lcs (~> 1.1.3)
|
39
|
-
rspec-mocks (2.9.0)
|
40
|
-
tzinfo (0.3.32)
|
41
|
-
|
42
|
-
PLATFORMS
|
43
|
-
ruby
|
44
|
-
|
45
|
-
DEPENDENCIES
|
46
|
-
bson_ext (~> 1.6.1)
|
47
|
-
mongoid-textile!
|
48
|
-
rake (~> 0.9.2)
|
49
|
-
rspec (~> 2.9.0)
|