model_formatting 0.2.3.7 → 0.2.3.8
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 +2 -9
- data/test/formatting_test.rb +2 -2
- data/test/model_formatting_test.rb +1 -10
- data/test/test_helper.rb +0 -11
- metadata +119 -64
data/Rakefile
CHANGED
data/lib/model_formatting.rb
CHANGED
@@ -179,15 +179,8 @@ module ModelFormatting
|
|
179
179
|
def self.gfm(text)
|
180
180
|
extract_tag(text, :pre) do |txt|
|
181
181
|
# prevent foo_bar_baz from ending up with an italic word in the middle
|
182
|
-
text.gsub!(/(^(?! {4}|\t)
|
183
|
-
x.gsub('_', '\_') if x.split('').sort.
|
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")
|
182
|
+
text.gsub!(/(^(?! {4}|\t)\w+_\w+_\w[\w_]*)/) do |x|
|
183
|
+
x.gsub('_', '\_') if x.split('').sort.to_s[0..1] == '__'
|
191
184
|
end
|
192
185
|
end
|
193
186
|
end
|
data/test/formatting_test.rb
CHANGED
@@ -42,9 +42,9 @@ module ModelFormatting
|
|
42
42
|
|
43
43
|
it "bolds the string 'Name'" do
|
44
44
|
record = Simple.new
|
45
|
-
record.body = "My name is
|
45
|
+
record.body = "My name is __Name__"
|
46
46
|
record.save
|
47
|
-
record.formatted_body.should == %(<div><p>My name is<
|
47
|
+
record.formatted_body.should == %(<div><p>My name is <strong>Name</strong></p></div>)
|
48
48
|
end
|
49
49
|
|
50
50
|
it "preserves leading spaces in code blocks" do
|
@@ -88,7 +88,7 @@ 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 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>"
|
92
92
|
end
|
93
93
|
|
94
94
|
describe "GFM" do
|
@@ -108,15 +108,6 @@ class ModelFormattingTest < Test::Unit::TestCase
|
|
108
108
|
assert_equal "foo\\_bar\\_baz", ModelFormatting.gfm("foo_bar_baz")
|
109
109
|
end
|
110
110
|
|
111
|
-
it "turns newlines into br tags in simple cases" do
|
112
|
-
assert_equal "foo \nbar", ModelFormatting.gfm("foo\nbar")
|
113
|
-
end
|
114
|
-
|
115
|
-
it "converts newlines in all groups" do
|
116
|
-
assert_equal "apple \npear \norange \nbanana\n\nruby \npython \nerlang \njavascript",
|
117
|
-
ModelFormatting.gfm("apple\npear\norange\nbanana\n\nruby\npython\nerlang\njavascript")
|
118
|
-
end
|
119
|
-
|
120
111
|
it "does not not convert newlines in lists" do
|
121
112
|
assert_equal "# foo\n# bar", ModelFormatting.gfm("# foo\n# bar")
|
122
113
|
assert_equal "* foo\n* bar", ModelFormatting.gfm("* foo\n* bar")
|
data/test/test_helper.rb
CHANGED
@@ -1,16 +1,5 @@
|
|
1
1
|
$:.unshift(File.dirname(__FILE__) + '/../lib')
|
2
2
|
|
3
|
-
require 'test/unit'
|
4
|
-
module Test
|
5
|
-
module Unit
|
6
|
-
class TestCase
|
7
|
-
def method_name
|
8
|
-
/`(.*)'/.match(caller.first).captures[0].to_sym rescue nil
|
9
|
-
end
|
10
|
-
end
|
11
|
-
end
|
12
|
-
end
|
13
|
-
|
14
3
|
require 'rubygems'
|
15
4
|
require 'action_controller'
|
16
5
|
require 'action_view'
|
metadata
CHANGED
@@ -1,100 +1,145 @@
|
|
1
|
-
--- !ruby/object:Gem::Specification
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
2
|
name: model_formatting
|
3
|
-
version: !ruby/object:Gem::Version
|
4
|
-
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
hash: 67
|
5
5
|
prerelease:
|
6
|
+
segments:
|
7
|
+
- 0
|
8
|
+
- 2
|
9
|
+
- 3
|
10
|
+
- 8
|
11
|
+
version: 0.2.3.8
|
6
12
|
platform: ruby
|
7
|
-
authors:
|
13
|
+
authors:
|
8
14
|
- ENTP
|
9
15
|
autorequire:
|
10
16
|
bindir: bin
|
11
17
|
cert_chain: []
|
12
|
-
|
13
|
-
|
14
|
-
|
18
|
+
|
19
|
+
date: 2012-03-21 00:00:00 -07:00
|
20
|
+
default_executable:
|
21
|
+
dependencies:
|
22
|
+
- !ruby/object:Gem::Dependency
|
15
23
|
name: rdiscount
|
16
|
-
|
24
|
+
prerelease: false
|
25
|
+
requirement: &id001 !ruby/object:Gem::Requirement
|
17
26
|
none: false
|
18
|
-
requirements:
|
27
|
+
requirements:
|
19
28
|
- - ~>
|
20
|
-
- !ruby/object:Gem::Version
|
29
|
+
- !ruby/object:Gem::Version
|
30
|
+
hash: 5
|
31
|
+
segments:
|
32
|
+
- 1
|
33
|
+
- 6
|
34
|
+
- 5
|
21
35
|
version: 1.6.5
|
22
36
|
type: :runtime
|
23
|
-
|
24
|
-
|
25
|
-
- !ruby/object:Gem::Dependency
|
37
|
+
version_requirements: *id001
|
38
|
+
- !ruby/object:Gem::Dependency
|
26
39
|
name: actionpack
|
27
|
-
|
40
|
+
prerelease: false
|
41
|
+
requirement: &id002 !ruby/object:Gem::Requirement
|
28
42
|
none: false
|
29
|
-
requirements:
|
43
|
+
requirements:
|
30
44
|
- - ~>
|
31
|
-
- !ruby/object:Gem::Version
|
45
|
+
- !ruby/object:Gem::Version
|
46
|
+
hash: 17
|
47
|
+
segments:
|
48
|
+
- 2
|
49
|
+
- 3
|
50
|
+
- 9
|
32
51
|
version: 2.3.9
|
33
52
|
type: :runtime
|
34
|
-
|
35
|
-
|
36
|
-
- !ruby/object:Gem::Dependency
|
53
|
+
version_requirements: *id002
|
54
|
+
- !ruby/object:Gem::Dependency
|
37
55
|
name: activerecord
|
38
|
-
|
56
|
+
prerelease: false
|
57
|
+
requirement: &id003 !ruby/object:Gem::Requirement
|
39
58
|
none: false
|
40
|
-
requirements:
|
59
|
+
requirements:
|
41
60
|
- - ~>
|
42
|
-
- !ruby/object:Gem::Version
|
61
|
+
- !ruby/object:Gem::Version
|
62
|
+
hash: 17
|
63
|
+
segments:
|
64
|
+
- 2
|
65
|
+
- 3
|
66
|
+
- 9
|
43
67
|
version: 2.3.9
|
44
68
|
type: :runtime
|
45
|
-
|
46
|
-
|
47
|
-
- !ruby/object:Gem::Dependency
|
69
|
+
version_requirements: *id003
|
70
|
+
- !ruby/object:Gem::Dependency
|
48
71
|
name: activesupport
|
49
|
-
|
72
|
+
prerelease: false
|
73
|
+
requirement: &id004 !ruby/object:Gem::Requirement
|
50
74
|
none: false
|
51
|
-
requirements:
|
75
|
+
requirements:
|
52
76
|
- - ~>
|
53
|
-
- !ruby/object:Gem::Version
|
77
|
+
- !ruby/object:Gem::Version
|
78
|
+
hash: 17
|
79
|
+
segments:
|
80
|
+
- 2
|
81
|
+
- 3
|
82
|
+
- 9
|
54
83
|
version: 2.3.9
|
55
84
|
type: :runtime
|
56
|
-
|
57
|
-
|
58
|
-
- !ruby/object:Gem::Dependency
|
85
|
+
version_requirements: *id004
|
86
|
+
- !ruby/object:Gem::Dependency
|
59
87
|
name: tidy_ffi
|
60
|
-
|
88
|
+
prerelease: false
|
89
|
+
requirement: &id005 !ruby/object:Gem::Requirement
|
61
90
|
none: false
|
62
|
-
requirements:
|
91
|
+
requirements:
|
63
92
|
- - ~>
|
64
|
-
- !ruby/object:Gem::Version
|
93
|
+
- !ruby/object:Gem::Version
|
94
|
+
hash: 31
|
95
|
+
segments:
|
96
|
+
- 0
|
97
|
+
- 1
|
98
|
+
- 2
|
65
99
|
version: 0.1.2
|
66
100
|
type: :runtime
|
67
|
-
|
68
|
-
|
69
|
-
- !ruby/object:Gem::Dependency
|
101
|
+
version_requirements: *id005
|
102
|
+
- !ruby/object:Gem::Dependency
|
70
103
|
name: jeremymcanally-context
|
71
|
-
|
104
|
+
prerelease: false
|
105
|
+
requirement: &id006 !ruby/object:Gem::Requirement
|
72
106
|
none: false
|
73
|
-
requirements:
|
107
|
+
requirements:
|
74
108
|
- - ~>
|
75
|
-
- !ruby/object:Gem::Version
|
109
|
+
- !ruby/object:Gem::Version
|
110
|
+
hash: 1
|
111
|
+
segments:
|
112
|
+
- 0
|
113
|
+
- 5
|
114
|
+
- 5
|
76
115
|
version: 0.5.5
|
77
116
|
type: :development
|
78
|
-
|
79
|
-
|
80
|
-
- !ruby/object:Gem::Dependency
|
117
|
+
version_requirements: *id006
|
118
|
+
- !ruby/object:Gem::Dependency
|
81
119
|
name: jeremymcanally-matchy
|
82
|
-
|
120
|
+
prerelease: false
|
121
|
+
requirement: &id007 !ruby/object:Gem::Requirement
|
83
122
|
none: false
|
84
|
-
requirements:
|
123
|
+
requirements:
|
85
124
|
- - ~>
|
86
|
-
- !ruby/object:Gem::Version
|
125
|
+
- !ruby/object:Gem::Version
|
126
|
+
hash: 27
|
127
|
+
segments:
|
128
|
+
- 0
|
129
|
+
- 1
|
130
|
+
- 0
|
87
131
|
version: 0.1.0
|
88
132
|
type: :development
|
89
|
-
|
90
|
-
version_requirements: *70183067150080
|
133
|
+
version_requirements: *id007
|
91
134
|
description:
|
92
135
|
email: company@entp.com
|
93
136
|
executables: []
|
137
|
+
|
94
138
|
extensions: []
|
95
|
-
|
139
|
+
|
140
|
+
extra_rdoc_files:
|
96
141
|
- README
|
97
|
-
files:
|
142
|
+
files:
|
98
143
|
- Gemfile
|
99
144
|
- Gemfile.lock
|
100
145
|
- Rakefile
|
@@ -109,29 +154,39 @@ files:
|
|
109
154
|
- test/formatting_test.rb
|
110
155
|
- test/model_formatting_test.rb
|
111
156
|
- test/test_helper.rb
|
157
|
+
has_rdoc: true
|
112
158
|
homepage: http://github.com/entp
|
113
159
|
licenses: []
|
160
|
+
|
114
161
|
post_install_message:
|
115
162
|
rdoc_options: []
|
116
|
-
|
163
|
+
|
164
|
+
require_paths:
|
117
165
|
- lib
|
118
|
-
required_ruby_version: !ruby/object:Gem::Requirement
|
166
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
119
167
|
none: false
|
120
|
-
requirements:
|
121
|
-
- -
|
122
|
-
- !ruby/object:Gem::Version
|
123
|
-
|
124
|
-
|
168
|
+
requirements:
|
169
|
+
- - ">="
|
170
|
+
- !ruby/object:Gem::Version
|
171
|
+
hash: 3
|
172
|
+
segments:
|
173
|
+
- 0
|
174
|
+
version: "0"
|
175
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
125
176
|
none: false
|
126
|
-
requirements:
|
127
|
-
- -
|
128
|
-
- !ruby/object:Gem::Version
|
129
|
-
|
177
|
+
requirements:
|
178
|
+
- - ">="
|
179
|
+
- !ruby/object:Gem::Version
|
180
|
+
hash: 3
|
181
|
+
segments:
|
182
|
+
- 0
|
183
|
+
version: "0"
|
130
184
|
requirements: []
|
185
|
+
|
131
186
|
rubyforge_project:
|
132
|
-
rubygems_version: 1.
|
187
|
+
rubygems_version: 1.6.2
|
133
188
|
signing_key:
|
134
189
|
specification_version: 3
|
135
|
-
summary: Automatically format model attributes using rdiscount and Tender/Lighthouse
|
136
|
-
extensions.
|
190
|
+
summary: Automatically format model attributes using rdiscount and Tender/Lighthouse extensions.
|
137
191
|
test_files: []
|
192
|
+
|