model_formatting 0.2.3.5 → 0.2.3.6
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/instance_methods.rb +2 -1
- data/lib/model_formatting.rb +13 -3
- data/test/formatting_test.rb +2 -2
- metadata +65 -120
data/Rakefile
CHANGED
@@ -2,12 +2,13 @@ module ModelFormatting
|
|
2
2
|
module InstanceMethods
|
3
3
|
protected
|
4
4
|
def format_content_with_model_formatting
|
5
|
-
|
5
|
+
model_formatting_attributes.each do |original, formatted|
|
6
6
|
text = send(original)
|
7
7
|
data = \
|
8
8
|
if text.blank?
|
9
9
|
''
|
10
10
|
else
|
11
|
+
text.strip!
|
11
12
|
options = {:white_list => model_formatting_white_list,
|
12
13
|
:before => model_formatting_before_callback,
|
13
14
|
:after => model_formatting_after_callback}
|
data/lib/model_formatting.rb
CHANGED
@@ -139,11 +139,11 @@ module ModelFormatting
|
|
139
139
|
parts.each { |p| p.compact! }
|
140
140
|
end
|
141
141
|
|
142
|
-
def self.
|
142
|
+
def self.extract_regex(text, *regexes)
|
143
143
|
# Extract pre blocks
|
144
144
|
extractions = {}
|
145
|
-
|
146
|
-
text.gsub!(
|
145
|
+
regexes.each do |regex|
|
146
|
+
text.gsub!(regex) do |match|
|
147
147
|
md5 = Digest::MD5.hexdigest(match)
|
148
148
|
extractions[md5] ||= []
|
149
149
|
extractions[md5] << match
|
@@ -166,6 +166,16 @@ module ModelFormatting
|
|
166
166
|
text
|
167
167
|
end
|
168
168
|
|
169
|
+
def self.tag_name_to_regex(name)
|
170
|
+
%r{<#{name}[^>]*>.*?</#{name}>}m
|
171
|
+
end
|
172
|
+
|
173
|
+
def self.extract_tag(text, *tag_names)
|
174
|
+
extract_regex text, *tag_names.map { |n| tag_name_to_regex(n) } do |text|
|
175
|
+
yield text
|
176
|
+
end
|
177
|
+
end
|
178
|
+
|
169
179
|
def self.gfm(text)
|
170
180
|
extract_tag(text, :pre) do |txt|
|
171
181
|
# prevent foo_bar_baz from ending up with an italic word in the middle
|
data/test/formatting_test.rb
CHANGED
@@ -49,9 +49,9 @@ module ModelFormatting
|
|
49
49
|
|
50
50
|
it "preserves leading spaces in code blocks" do
|
51
51
|
record = Simple.new
|
52
|
-
record.body = " code\n more code\n\nnot code\n\n"
|
52
|
+
record.body = "this\n\n code\n more code\n\nnot code\n\n"
|
53
53
|
record.save
|
54
|
-
record.formatted_body.should == %(<div><pre>\n<code>code\nmore code</code>\n</pre>\n<p>not code</p></div>)
|
54
|
+
record.formatted_body.should == %(<div><p>this</p>\n<pre>\n<code>code\nmore code</code>\n</pre>\n<p>not code</p></div>)
|
55
55
|
end
|
56
56
|
|
57
57
|
it "converts unicode characters to html entities" do
|
metadata
CHANGED
@@ -1,145 +1,100 @@
|
|
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
|
+
version: 0.2.3.6
|
5
5
|
prerelease:
|
6
|
-
segments:
|
7
|
-
- 0
|
8
|
-
- 2
|
9
|
-
- 3
|
10
|
-
- 5
|
11
|
-
version: 0.2.3.5
|
12
6
|
platform: ruby
|
13
|
-
authors:
|
7
|
+
authors:
|
14
8
|
- ENTP
|
15
9
|
autorequire:
|
16
10
|
bindir: bin
|
17
11
|
cert_chain: []
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
dependencies:
|
22
|
-
- !ruby/object:Gem::Dependency
|
12
|
+
date: 2012-02-23 00:00:00.000000000Z
|
13
|
+
dependencies:
|
14
|
+
- !ruby/object:Gem::Dependency
|
23
15
|
name: rdiscount
|
24
|
-
|
25
|
-
requirement: &id001 !ruby/object:Gem::Requirement
|
16
|
+
requirement: &70351531284240 !ruby/object:Gem::Requirement
|
26
17
|
none: false
|
27
|
-
requirements:
|
18
|
+
requirements:
|
28
19
|
- - ~>
|
29
|
-
- !ruby/object:Gem::Version
|
30
|
-
hash: 5
|
31
|
-
segments:
|
32
|
-
- 1
|
33
|
-
- 6
|
34
|
-
- 5
|
20
|
+
- !ruby/object:Gem::Version
|
35
21
|
version: 1.6.5
|
36
22
|
type: :runtime
|
37
|
-
version_requirements: *id001
|
38
|
-
- !ruby/object:Gem::Dependency
|
39
|
-
name: actionpack
|
40
23
|
prerelease: false
|
41
|
-
|
24
|
+
version_requirements: *70351531284240
|
25
|
+
- !ruby/object:Gem::Dependency
|
26
|
+
name: actionpack
|
27
|
+
requirement: &70351531283600 !ruby/object:Gem::Requirement
|
42
28
|
none: false
|
43
|
-
requirements:
|
29
|
+
requirements:
|
44
30
|
- - ~>
|
45
|
-
- !ruby/object:Gem::Version
|
46
|
-
hash: 17
|
47
|
-
segments:
|
48
|
-
- 2
|
49
|
-
- 3
|
50
|
-
- 9
|
31
|
+
- !ruby/object:Gem::Version
|
51
32
|
version: 2.3.9
|
52
33
|
type: :runtime
|
53
|
-
version_requirements: *id002
|
54
|
-
- !ruby/object:Gem::Dependency
|
55
|
-
name: activerecord
|
56
34
|
prerelease: false
|
57
|
-
|
35
|
+
version_requirements: *70351531283600
|
36
|
+
- !ruby/object:Gem::Dependency
|
37
|
+
name: activerecord
|
38
|
+
requirement: &70351531282680 !ruby/object:Gem::Requirement
|
58
39
|
none: false
|
59
|
-
requirements:
|
40
|
+
requirements:
|
60
41
|
- - ~>
|
61
|
-
- !ruby/object:Gem::Version
|
62
|
-
hash: 17
|
63
|
-
segments:
|
64
|
-
- 2
|
65
|
-
- 3
|
66
|
-
- 9
|
42
|
+
- !ruby/object:Gem::Version
|
67
43
|
version: 2.3.9
|
68
44
|
type: :runtime
|
69
|
-
version_requirements: *id003
|
70
|
-
- !ruby/object:Gem::Dependency
|
71
|
-
name: activesupport
|
72
45
|
prerelease: false
|
73
|
-
|
46
|
+
version_requirements: *70351531282680
|
47
|
+
- !ruby/object:Gem::Dependency
|
48
|
+
name: activesupport
|
49
|
+
requirement: &70351531281480 !ruby/object:Gem::Requirement
|
74
50
|
none: false
|
75
|
-
requirements:
|
51
|
+
requirements:
|
76
52
|
- - ~>
|
77
|
-
- !ruby/object:Gem::Version
|
78
|
-
hash: 17
|
79
|
-
segments:
|
80
|
-
- 2
|
81
|
-
- 3
|
82
|
-
- 9
|
53
|
+
- !ruby/object:Gem::Version
|
83
54
|
version: 2.3.9
|
84
55
|
type: :runtime
|
85
|
-
version_requirements: *id004
|
86
|
-
- !ruby/object:Gem::Dependency
|
87
|
-
name: tidy_ffi
|
88
56
|
prerelease: false
|
89
|
-
|
57
|
+
version_requirements: *70351531281480
|
58
|
+
- !ruby/object:Gem::Dependency
|
59
|
+
name: tidy_ffi
|
60
|
+
requirement: &70351531280900 !ruby/object:Gem::Requirement
|
90
61
|
none: false
|
91
|
-
requirements:
|
62
|
+
requirements:
|
92
63
|
- - ~>
|
93
|
-
- !ruby/object:Gem::Version
|
94
|
-
hash: 31
|
95
|
-
segments:
|
96
|
-
- 0
|
97
|
-
- 1
|
98
|
-
- 2
|
64
|
+
- !ruby/object:Gem::Version
|
99
65
|
version: 0.1.2
|
100
66
|
type: :runtime
|
101
|
-
version_requirements: *id005
|
102
|
-
- !ruby/object:Gem::Dependency
|
103
|
-
name: jeremymcanally-context
|
104
67
|
prerelease: false
|
105
|
-
|
68
|
+
version_requirements: *70351531280900
|
69
|
+
- !ruby/object:Gem::Dependency
|
70
|
+
name: jeremymcanally-context
|
71
|
+
requirement: &70351531280100 !ruby/object:Gem::Requirement
|
106
72
|
none: false
|
107
|
-
requirements:
|
108
|
-
- -
|
109
|
-
- !ruby/object:Gem::Version
|
110
|
-
hash: 1
|
111
|
-
segments:
|
112
|
-
- 0
|
113
|
-
- 5
|
114
|
-
- 5
|
73
|
+
requirements:
|
74
|
+
- - =
|
75
|
+
- !ruby/object:Gem::Version
|
115
76
|
version: 0.5.5
|
116
77
|
type: :development
|
117
|
-
version_requirements: *id006
|
118
|
-
- !ruby/object:Gem::Dependency
|
119
|
-
name: jeremymcanally-matchy
|
120
78
|
prerelease: false
|
121
|
-
|
79
|
+
version_requirements: *70351531280100
|
80
|
+
- !ruby/object:Gem::Dependency
|
81
|
+
name: jeremymcanally-matchy
|
82
|
+
requirement: &70351531279540 !ruby/object:Gem::Requirement
|
122
83
|
none: false
|
123
|
-
requirements:
|
84
|
+
requirements:
|
124
85
|
- - ~>
|
125
|
-
- !ruby/object:Gem::Version
|
126
|
-
hash: 27
|
127
|
-
segments:
|
128
|
-
- 0
|
129
|
-
- 1
|
130
|
-
- 0
|
86
|
+
- !ruby/object:Gem::Version
|
131
87
|
version: 0.1.0
|
132
88
|
type: :development
|
133
|
-
|
89
|
+
prerelease: false
|
90
|
+
version_requirements: *70351531279540
|
134
91
|
description:
|
135
92
|
email: company@entp.com
|
136
93
|
executables: []
|
137
|
-
|
138
94
|
extensions: []
|
139
|
-
|
140
|
-
extra_rdoc_files:
|
95
|
+
extra_rdoc_files:
|
141
96
|
- README
|
142
|
-
files:
|
97
|
+
files:
|
143
98
|
- Gemfile
|
144
99
|
- Gemfile.lock
|
145
100
|
- Rakefile
|
@@ -154,39 +109,29 @@ files:
|
|
154
109
|
- test/formatting_test.rb
|
155
110
|
- test/model_formatting_test.rb
|
156
111
|
- test/test_helper.rb
|
157
|
-
has_rdoc: true
|
158
112
|
homepage: http://github.com/entp
|
159
113
|
licenses: []
|
160
|
-
|
161
114
|
post_install_message:
|
162
115
|
rdoc_options: []
|
163
|
-
|
164
|
-
require_paths:
|
116
|
+
require_paths:
|
165
117
|
- lib
|
166
|
-
required_ruby_version: !ruby/object:Gem::Requirement
|
118
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
167
119
|
none: false
|
168
|
-
requirements:
|
169
|
-
- -
|
170
|
-
- !ruby/object:Gem::Version
|
171
|
-
|
172
|
-
|
173
|
-
- 0
|
174
|
-
version: "0"
|
175
|
-
required_rubygems_version: !ruby/object:Gem::Requirement
|
120
|
+
requirements:
|
121
|
+
- - ! '>='
|
122
|
+
- !ruby/object:Gem::Version
|
123
|
+
version: '0'
|
124
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
176
125
|
none: false
|
177
|
-
requirements:
|
178
|
-
- -
|
179
|
-
- !ruby/object:Gem::Version
|
180
|
-
|
181
|
-
segments:
|
182
|
-
- 0
|
183
|
-
version: "0"
|
126
|
+
requirements:
|
127
|
+
- - ! '>='
|
128
|
+
- !ruby/object:Gem::Version
|
129
|
+
version: '0'
|
184
130
|
requirements: []
|
185
|
-
|
186
131
|
rubyforge_project:
|
187
|
-
rubygems_version: 1.
|
132
|
+
rubygems_version: 1.8.10
|
188
133
|
signing_key:
|
189
134
|
specification_version: 3
|
190
|
-
summary: Automatically format model attributes using rdiscount and Tender/Lighthouse
|
135
|
+
summary: Automatically format model attributes using rdiscount and Tender/Lighthouse
|
136
|
+
extensions.
|
191
137
|
test_files: []
|
192
|
-
|