inkcite 1.1.0 → 1.1.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/inkcite/renderer/footnote.rb +13 -13
- data/lib/inkcite/version.rb +1 -1
- data/test/renderer/footnote_spec.rb +4 -0
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 8b4814acacbf7cdc4b0b6c9ff9e124094ca1b08c
|
4
|
+
data.tar.gz: 276345f2b8b0205675c97734b2f297d6a15334ad
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 40d16b2fc96750094b4b59f7ae3d6096fdcf03fcc9f77848dfb111291c9c748e7ff49f5fb0501d0ce02789206eeefcfc024439dbb6b4f2a097518bfc4409a7c4
|
7
|
+
data.tar.gz: 37e96c39c9856b921a2432047cfa3a59853ad7b1ee2e7e20f13a381697a336be1d506cea74e1c64e5429cc16350e96f3df7def95bb2dfff10863729f8fa27da8
|
@@ -33,6 +33,10 @@ module Inkcite
|
|
33
33
|
@symbol == @symbol.to_i.to_s
|
34
34
|
end
|
35
35
|
|
36
|
+
def symbol?
|
37
|
+
!numeric?
|
38
|
+
end
|
39
|
+
|
36
40
|
def to_s
|
37
41
|
"#{symbol} #{text}"
|
38
42
|
end
|
@@ -61,7 +65,7 @@ module Inkcite
|
|
61
65
|
# there is one, increment the count. Otherwise, start the count
|
62
66
|
# off at one.
|
63
67
|
last_instance = ctx.footnotes.select(&:numeric?).last
|
64
|
-
symbol = last_instance.nil
|
68
|
+
symbol = last_instance.nil? ? 1 : last_instance.symbol.to_i + 1
|
65
69
|
|
66
70
|
end
|
67
71
|
|
@@ -94,7 +98,7 @@ module Inkcite
|
|
94
98
|
# on the format of the email.
|
95
99
|
tmpl = opt[:tmpl] || opt[:template]
|
96
100
|
if tmpl.blank?
|
97
|
-
tmpl = ctx.text
|
101
|
+
tmpl = ctx.text? ? "($symbol$) $text$\n\n" : "<sup>$symbol$</sup> $text$<br><br>"
|
98
102
|
|
99
103
|
elsif ctx.text?
|
100
104
|
|
@@ -104,23 +108,19 @@ module Inkcite
|
|
104
108
|
|
105
109
|
end
|
106
110
|
|
111
|
+
# First, collect all symbols in the natural order they are defined
|
112
|
+
# in the email.
|
113
|
+
footnotes = ctx.footnotes.select(&:symbol?)
|
107
114
|
|
108
|
-
#
|
109
|
-
#
|
110
|
-
|
111
|
-
ctx.footnotes.sort! do |f1, f2|
|
112
|
-
|
113
|
-
next 1 if f1.numeric? && !f2.numeric?
|
114
|
-
next -1 if !f1.numeric? && f2.numeric?
|
115
|
-
f1.number <=> f2.number
|
116
|
-
|
117
|
-
end
|
115
|
+
# Now add to the list all numeric footnotes ordered naturally
|
116
|
+
# regardless of how they were ordered in the email.
|
117
|
+
footnotes += ctx.footnotes.select(&:numeric?).sort { |f1, f2| f1.number <=> f2.number }
|
118
118
|
|
119
119
|
html = ''
|
120
120
|
|
121
121
|
# Iterate through each of the footnotes and render them based on the
|
122
122
|
# template that was provided.
|
123
|
-
|
123
|
+
footnotes.each do |f|
|
124
124
|
html << tmpl.gsub('$symbol$', f.symbol).gsub('$text$', f.text)
|
125
125
|
end
|
126
126
|
|
data/lib/inkcite/version.rb
CHANGED
@@ -37,6 +37,10 @@ describe Inkcite::Renderer::Footnote do
|
|
37
37
|
Inkcite::Renderer.render('({footnote text="EPA-estimated fuel economy."})({footnote symbol="†" text="See Blackmur, especially chapters 3 and 4, for an insightful analysis of this trend."})({footnote text="Actual mileage may vary."})<br><br>{footnotes}', @view).must_equal("(1)(†)(2)<br><br><sup>†</sup> See Blackmur, especially chapters 3 and 4, for an insightful analysis of this trend.<br><br><sup>1</sup> EPA-estimated fuel economy.<br><br><sup>2</sup> Actual mileage may vary.<br><br>")
|
38
38
|
end
|
39
39
|
|
40
|
+
it 'sorts symbols in the order they are defined' do
|
41
|
+
Inkcite::Renderer.render('({footnote text="EPA-estimated fuel economy."})({footnote symbol="†" text="See Blackmur, especially chapters 3 and 4, for an insightful analysis of this trend."})({footnote symbol="*" text="Actual mileage may vary."})<br><br>{footnotes}', @view).must_equal("(1)(†)(*)<br><br><sup>†</sup> See Blackmur, especially chapters 3 and 4, for an insightful analysis of this trend.<br><br><sup>*</sup> Actual mileage may vary.<br><br><sup>1</sup> EPA-estimated fuel economy.<br><br>")
|
42
|
+
end
|
43
|
+
|
40
44
|
it 'can have a reusable, readable ID assigned to it' do
|
41
45
|
Inkcite::Renderer.render('({footnote id="epa" text="EPA-estimated fuel economy."})({footnote id="epa"})', @view).must_equal("(1)(1)")
|
42
46
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: inkcite
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.1.
|
4
|
+
version: 1.1.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Jeffrey D. Hoffman
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2015-
|
11
|
+
date: 2015-07-07 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: activesupport
|