model_formatting 0.2.3.8 → 0.2.3.10
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/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.
|