model_formatting 0.2.3.8 → 0.2.3.10
Sign up to get free protection for your applications and to get access to all the features.
- data/Rakefile +1 -1
- data/lib/model_formatting.rb +8 -1
- data/test/model_formatting_test.rb +12 -2
- metadata +26 -28
data/Rakefile
CHANGED
data/lib/model_formatting.rb
CHANGED
@@ -182,6 +182,13 @@ module ModelFormatting
|
|
182
182
|
text.gsub!(/(^(?! {4}|\t)\w+_\w+_\w[\w_]*)/) do |x|
|
183
183
|
x.gsub('_', '\_') if x.split('').sort.to_s[0..1] == '__'
|
184
184
|
end
|
185
|
+
|
186
|
+
# in very clear cases, let newlines become <br /> tags
|
187
|
+
#text.gsub!(/(\A|^$\n)(^\w[^\n]*\n)(^\w[^\n]*$)+/m) do |x|
|
188
|
+
# x.gsub(/^(.+)$/, "\\1 ")
|
189
|
+
text.gsub!(/^[\w\<][^\n]*\n+/) do |x|
|
190
|
+
x =~ /\n{2}/ ? x : (x.strip!; x << " \n")
|
191
|
+
end
|
185
192
|
end
|
186
193
|
end
|
187
194
|
|
@@ -203,7 +210,7 @@ module ModelFormatting
|
|
203
210
|
tidy = TidyFFI::Tidy.new(text)
|
204
211
|
tidy.options.input_encoding = 'utf8'
|
205
212
|
tidy.options.show_body_only = true
|
206
|
-
tidy.options.new_inline_tags = "video"
|
213
|
+
tidy.options.new_inline_tags = "video source"
|
207
214
|
tidy.options.force_output = true
|
208
215
|
tidy.clean.strip
|
209
216
|
end
|
@@ -88,7 +88,8 @@ class ModelFormattingTest < Test::Unit::TestCase
|
|
88
88
|
|
89
89
|
it "treats linebreaks correctly" do
|
90
90
|
ModelFormatting.process(:html, "Line breaks should not be treated as\nnew paragraphs. They are not paragraphs.\n\nHowever, when a line is skipped, that is a paragraph.\nGMail, and basically every comment or submission form on the \nweb work this way.").should == \
|
91
|
-
"<div><p>Line breaks should not be treated as
|
91
|
+
"<div><p>Line breaks should not be treated as<br>\nnew paragraphs. They are not paragraphs.</p>\n<p>However, when a line is skipped, that is a paragraph.<br>\nGMail, and basically every comment or submission form on the<br>\nweb work this way.</p></div>"
|
92
|
+
|
92
93
|
end
|
93
94
|
|
94
95
|
describe "GFM" do
|
@@ -107,7 +108,16 @@ class ModelFormattingTest < Test::Unit::TestCase
|
|
107
108
|
it "escapes two or more underscores inside words" do
|
108
109
|
assert_equal "foo\\_bar\\_baz", ModelFormatting.gfm("foo_bar_baz")
|
109
110
|
end
|
110
|
-
|
111
|
+
|
112
|
+
it "turns newlines into br tags in simple cases" do
|
113
|
+
assert_equal "foo \nbar", ModelFormatting.gfm("foo\nbar")
|
114
|
+
end
|
115
|
+
|
116
|
+
it "converts newlines in all groups" do
|
117
|
+
assert_equal "apple \npear \norange \nbanana\n\nruby \npython \nerlang \njavascript",
|
118
|
+
ModelFormatting.gfm("apple\npear\norange\nbanana\n\nruby\npython\nerlang\njavascript")
|
119
|
+
end
|
120
|
+
|
111
121
|
it "does not not convert newlines in lists" do
|
112
122
|
assert_equal "# foo\n# bar", ModelFormatting.gfm("# foo\n# bar")
|
113
123
|
assert_equal "* foo\n* bar", ModelFormatting.gfm("* foo\n* bar")
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: model_formatting
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
hash:
|
4
|
+
hash: 71
|
5
5
|
prerelease:
|
6
6
|
segments:
|
7
7
|
- 0
|
8
8
|
- 2
|
9
9
|
- 3
|
10
|
-
-
|
11
|
-
version: 0.2.3.
|
10
|
+
- 10
|
11
|
+
version: 0.2.3.10
|
12
12
|
platform: ruby
|
13
13
|
authors:
|
14
14
|
- ENTP
|
@@ -16,12 +16,9 @@ autorequire:
|
|
16
16
|
bindir: bin
|
17
17
|
cert_chain: []
|
18
18
|
|
19
|
-
date: 2012-
|
20
|
-
default_executable:
|
19
|
+
date: 2012-08-23 00:00:00 Z
|
21
20
|
dependencies:
|
22
21
|
- !ruby/object:Gem::Dependency
|
23
|
-
name: rdiscount
|
24
|
-
prerelease: false
|
25
22
|
requirement: &id001 !ruby/object:Gem::Requirement
|
26
23
|
none: false
|
27
24
|
requirements:
|
@@ -33,11 +30,11 @@ dependencies:
|
|
33
30
|
- 6
|
34
31
|
- 5
|
35
32
|
version: 1.6.5
|
36
|
-
type: :runtime
|
37
33
|
version_requirements: *id001
|
38
|
-
|
39
|
-
name:
|
34
|
+
type: :runtime
|
35
|
+
name: rdiscount
|
40
36
|
prerelease: false
|
37
|
+
- !ruby/object:Gem::Dependency
|
41
38
|
requirement: &id002 !ruby/object:Gem::Requirement
|
42
39
|
none: false
|
43
40
|
requirements:
|
@@ -49,11 +46,11 @@ dependencies:
|
|
49
46
|
- 3
|
50
47
|
- 9
|
51
48
|
version: 2.3.9
|
52
|
-
type: :runtime
|
53
49
|
version_requirements: *id002
|
54
|
-
|
55
|
-
name:
|
50
|
+
type: :runtime
|
51
|
+
name: actionpack
|
56
52
|
prerelease: false
|
53
|
+
- !ruby/object:Gem::Dependency
|
57
54
|
requirement: &id003 !ruby/object:Gem::Requirement
|
58
55
|
none: false
|
59
56
|
requirements:
|
@@ -65,11 +62,11 @@ dependencies:
|
|
65
62
|
- 3
|
66
63
|
- 9
|
67
64
|
version: 2.3.9
|
68
|
-
type: :runtime
|
69
65
|
version_requirements: *id003
|
70
|
-
|
71
|
-
name:
|
66
|
+
type: :runtime
|
67
|
+
name: activerecord
|
72
68
|
prerelease: false
|
69
|
+
- !ruby/object:Gem::Dependency
|
73
70
|
requirement: &id004 !ruby/object:Gem::Requirement
|
74
71
|
none: false
|
75
72
|
requirements:
|
@@ -81,11 +78,11 @@ dependencies:
|
|
81
78
|
- 3
|
82
79
|
- 9
|
83
80
|
version: 2.3.9
|
84
|
-
type: :runtime
|
85
81
|
version_requirements: *id004
|
86
|
-
|
87
|
-
name:
|
82
|
+
type: :runtime
|
83
|
+
name: activesupport
|
88
84
|
prerelease: false
|
85
|
+
- !ruby/object:Gem::Dependency
|
89
86
|
requirement: &id005 !ruby/object:Gem::Requirement
|
90
87
|
none: false
|
91
88
|
requirements:
|
@@ -97,11 +94,11 @@ dependencies:
|
|
97
94
|
- 1
|
98
95
|
- 2
|
99
96
|
version: 0.1.2
|
100
|
-
type: :runtime
|
101
97
|
version_requirements: *id005
|
102
|
-
|
103
|
-
name:
|
98
|
+
type: :runtime
|
99
|
+
name: tidy_ffi
|
104
100
|
prerelease: false
|
101
|
+
- !ruby/object:Gem::Dependency
|
105
102
|
requirement: &id006 !ruby/object:Gem::Requirement
|
106
103
|
none: false
|
107
104
|
requirements:
|
@@ -113,11 +110,11 @@ dependencies:
|
|
113
110
|
- 5
|
114
111
|
- 5
|
115
112
|
version: 0.5.5
|
116
|
-
type: :development
|
117
113
|
version_requirements: *id006
|
118
|
-
|
119
|
-
name: jeremymcanally-
|
114
|
+
type: :development
|
115
|
+
name: jeremymcanally-context
|
120
116
|
prerelease: false
|
117
|
+
- !ruby/object:Gem::Dependency
|
121
118
|
requirement: &id007 !ruby/object:Gem::Requirement
|
122
119
|
none: false
|
123
120
|
requirements:
|
@@ -129,8 +126,10 @@ dependencies:
|
|
129
126
|
- 1
|
130
127
|
- 0
|
131
128
|
version: 0.1.0
|
132
|
-
type: :development
|
133
129
|
version_requirements: *id007
|
130
|
+
type: :development
|
131
|
+
name: jeremymcanally-matchy
|
132
|
+
prerelease: false
|
134
133
|
description:
|
135
134
|
email: company@entp.com
|
136
135
|
executables: []
|
@@ -154,7 +153,6 @@ files:
|
|
154
153
|
- test/formatting_test.rb
|
155
154
|
- test/model_formatting_test.rb
|
156
155
|
- test/test_helper.rb
|
157
|
-
has_rdoc: true
|
158
156
|
homepage: http://github.com/entp
|
159
157
|
licenses: []
|
160
158
|
|
@@ -184,7 +182,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
184
182
|
requirements: []
|
185
183
|
|
186
184
|
rubyforge_project:
|
187
|
-
rubygems_version: 1.
|
185
|
+
rubygems_version: 1.8.15
|
188
186
|
signing_key:
|
189
187
|
specification_version: 3
|
190
188
|
summary: Automatically format model attributes using rdiscount and Tender/Lighthouse extensions.
|