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 CHANGED
@@ -3,7 +3,7 @@ require 'rake/testtask'
3
3
 
4
4
  spec = Gem::Specification.new do |s|
5
5
  s.name = "model_formatting"
6
- s.version = "0.2.3.8"
6
+ s.version = "0.2.3.10"
7
7
  s.author = "ENTP"
8
8
  s.email = "company@entp.com"
9
9
  s.homepage = "http://github.com/entp"
@@ -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 new paragraphs. They are\nnot paragraphs.</p>\n<p>However, when a line is skipped, that is a paragraph. GMail, and\nbasically every comment or submission form on the web work this\nway.</p></div>"
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: 67
4
+ hash: 71
5
5
  prerelease:
6
6
  segments:
7
7
  - 0
8
8
  - 2
9
9
  - 3
10
- - 8
11
- version: 0.2.3.8
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-03-21 00:00:00 -07:00
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
- - !ruby/object:Gem::Dependency
39
- name: actionpack
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
- - !ruby/object:Gem::Dependency
55
- name: activerecord
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
- - !ruby/object:Gem::Dependency
71
- name: activesupport
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
- - !ruby/object:Gem::Dependency
87
- name: tidy_ffi
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
- - !ruby/object:Gem::Dependency
103
- name: jeremymcanally-context
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
- - !ruby/object:Gem::Dependency
119
- name: jeremymcanally-matchy
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.6.2
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.