bbcodeizer 0.1.2 → 0.1.3
Sign up to get free protection for your applications and to get access to all the features.
- 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(
|