bbcodeizer 0.1.2 → 0.1.3
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/lib/bbcodeizer/version.rb +1 -1
- data/lib/bbcodeizer.rb +16 -11
- data/lib/bbcodeizer_helper.rb +2 -2
- data/rdoc/BBCodeizeHelper.html +3 -3
- data/rdoc/created.rid +4 -4
- data/rdoc/lib/bbcodeizer/version_rb.html +1 -1
- data/rdoc/lib/bbcodeizer_helper_rb.html +1 -1
- data/rdoc/lib/bbcodeizer_rb.html +1 -1
- data/test/bbcodeizer_test.rb +9 -0
- metadata +1 -1
data/lib/bbcodeizer/version.rb
CHANGED
data/lib/bbcodeizer.rb
CHANGED
@@ -68,10 +68,14 @@ module BBCodeizer
|
|
68
68
|
:image => [ :image, :flickr ] }
|
69
69
|
|
70
70
|
# Parses all bbcode in +text+ and returns a new HTML-formatted string.
|
71
|
-
def bbcodeize(text)
|
71
|
+
def bbcodeize(text, options = Hash.new)
|
72
72
|
text = text.dup
|
73
|
-
|
74
|
-
|
73
|
+
|
74
|
+
disabled = Array.new
|
75
|
+
disabled += @deactivated if @deactivated
|
76
|
+
disabled += decode_tags(options[:disabled]) if options[:disabled]
|
77
|
+
|
78
|
+
(TagList - disabled).each do |tag|
|
75
79
|
if Tags.has_key?(tag)
|
76
80
|
apply_tag(text, tag)
|
77
81
|
else
|
@@ -87,19 +91,13 @@ module BBCodeizer
|
|
87
91
|
# Configuration option to deactivate particular +tags+.
|
88
92
|
def deactivate(*tags)
|
89
93
|
@deactivated ||= Array.new
|
90
|
-
@deactivated
|
91
|
-
tag = TagGroups[tag] if TagGroups.key?(tag)
|
92
|
-
deactivated + Array(tag)
|
93
|
-
end
|
94
|
+
@deactivated += decode_tags(*tags)
|
94
95
|
end
|
95
96
|
|
96
97
|
# Configuration option to reactivate particular +tags+.
|
97
98
|
def activate(*tags)
|
98
99
|
@deactivated ||= Array.new
|
99
|
-
@deactivated
|
100
|
-
tag = TagGroups[tag] if TagGroups.key?(tag)
|
101
|
-
deactivated - Array(tag)
|
102
|
-
end
|
100
|
+
@deactivated -= decode_tags(*tags)
|
103
101
|
end
|
104
102
|
|
105
103
|
# Configuration option to change the replacement string used for a particular +tag+. The source
|
@@ -157,6 +155,13 @@ module BBCodeizer
|
|
157
155
|
end
|
158
156
|
alias_method :apply_tag, :apply_tags
|
159
157
|
|
158
|
+
def decode_tags(*tags)
|
159
|
+
tags.inject(Array.new) do |decoded_tags, tag|
|
160
|
+
decoded_tag = TagGroups.key?(tag) ? TagGroups[tag] : tag
|
161
|
+
decoded_tags + Array(decoded_tag)
|
162
|
+
end
|
163
|
+
end
|
164
|
+
|
160
165
|
# http://stackoverflow.com/questions/88311/how-best-to-generate-a-random-string-in-ruby
|
161
166
|
def random_string
|
162
167
|
(0...16).map{ ('a'..'z').to_a[rand(26)] }.join
|
data/lib/bbcodeizer_helper.rb
CHANGED
data/rdoc/BBCodeizeHelper.html
CHANGED
@@ -137,7 +137,7 @@
|
|
137
137
|
|
138
138
|
<div class="method-heading">
|
139
139
|
<span class="method-name">bbcodeize</span><span
|
140
|
-
class="method-args">(text)</span>
|
140
|
+
class="method-args">(text, options = Hash.new)</span>
|
141
141
|
<span class="method-click-advice">click to toggle source</span>
|
142
142
|
</div>
|
143
143
|
|
@@ -151,8 +151,8 @@
|
|
151
151
|
<div class="method-source-code" id="bbcodeize-source">
|
152
152
|
<pre>
|
153
153
|
<span class="ruby-comment"># File lib/bbcodeizer_helper.rb, line 5</span>
|
154
|
-
<span class="ruby-keyword">def</span> <span class="ruby-identifier">bbcodeize</span>(<span class="ruby-identifier">text</span>)
|
155
|
-
<span class="ruby-constant">BBCodeizer</span>.<span class="ruby-identifier">bbcodeize</span>(<span class="ruby-identifier">text</span>)
|
154
|
+
<span class="ruby-keyword">def</span> <span class="ruby-identifier">bbcodeize</span>(<span class="ruby-identifier">text</span>, <span class="ruby-identifier">options</span> = <span class="ruby-constant">Hash</span>.<span class="ruby-identifier">new</span>)
|
155
|
+
<span class="ruby-constant">BBCodeizer</span>.<span class="ruby-identifier">bbcodeize</span>(<span class="ruby-identifier">text</span>, <span class="ruby-identifier">options</span>)
|
156
156
|
<span class="ruby-keyword">end</span></pre>
|
157
157
|
</div><!-- bbcodeize-source -->
|
158
158
|
|
data/rdoc/created.rid
CHANGED
@@ -1,5 +1,5 @@
|
|
1
|
-
Sun, 11 Sep 2011
|
1
|
+
Sun, 11 Sep 2011 17:03:49 -0700
|
2
2
|
README Sun, 11 Sep 2011 15:37:41 -0700
|
3
|
-
lib/bbcodeizer/version.rb Sun, 11 Sep 2011
|
4
|
-
lib/bbcodeizer.rb Sun, 11 Sep 2011
|
5
|
-
lib/bbcodeizer_helper.rb Sun, 11 Sep 2011
|
3
|
+
lib/bbcodeizer/version.rb Sun, 11 Sep 2011 17:03:43 -0700
|
4
|
+
lib/bbcodeizer.rb Sun, 11 Sep 2011 17:02:51 -0700
|
5
|
+
lib/bbcodeizer_helper.rb Sun, 11 Sep 2011 17:00:47 -0700
|
data/rdoc/lib/bbcodeizer_rb.html
CHANGED
data/test/bbcodeizer_test.rb
CHANGED
@@ -106,6 +106,15 @@ class BbcodeizerTest < Test::Unit::TestCase
|
|
106
106
|
bbcodeize("[color=red]Red Text[/color]"))
|
107
107
|
end
|
108
108
|
|
109
|
+
def test_disable
|
110
|
+
assert_equal(
|
111
|
+
"I am [b]really[/b] happy!",
|
112
|
+
bbcodeize("I am [b]really[/b] happy!", :disabled => [ :bold ]))
|
113
|
+
assert_equal(
|
114
|
+
"I am <strong>really</strong> happy!",
|
115
|
+
bbcodeize("I am [b]really[/b] happy!", :disabled => [ :video ]))
|
116
|
+
end
|
117
|
+
|
109
118
|
def test_deactivation
|
110
119
|
BBCodeizer.deactivate(:bold)
|
111
120
|
assert_equal(
|