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 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.