trainbbcode 1.0.0 → 1.0.1

Sign up to get free protection for your applications and to get access to all the features.
data/Manifest CHANGED
@@ -9,5 +9,6 @@ lib/trainbbcode/parse.rb
9
9
  lib/trainbbcode/string.rb
10
10
  lib/trainbbcode/swear_filter.rb
11
11
  lib/trainbbcode/tags.rb
12
+ spec/trainbbcode_spec.rb
12
13
  trainbbcode.gemspec
13
14
  Manifest
data/Rakefile CHANGED
@@ -2,7 +2,7 @@ require 'rubygems'
2
2
  require 'rake'
3
3
  require 'echoe'
4
4
 
5
- Echoe.new('trainbbcode','1.0.0') do |p|
5
+ Echoe.new('trainbbcode','1.0.1') do |p|
6
6
  p.description = "Provides BBCode for Ruby."
7
7
  p.url = "http://www.arcath.net/"
8
8
  p.author = "Adam \"Arcath\" Laycock"
@@ -0,0 +1,7 @@
1
+ module TBBCHelper
2
+ def tbbc_css(config = nil)
3
+ bbc=TBBC.new
4
+ bbc.conf(config) if config
5
+ bbc.css
6
+ end
7
+ end
@@ -16,15 +16,15 @@ class TBBC
16
16
  #Swear Filtering
17
17
  input=swear_filter(input) unless @config[:swear_filter_enabled] == false
18
18
  #Loading Custom Tags
19
- begin
19
+ #begin
20
20
  if @config[:custom_tags] then
21
21
  @config[:custom_tags].each do |tag|
22
22
  input=runtag(input,tag)
23
23
  end
24
24
  end
25
- rescue
26
- input+="<br />Custom Tags failed to run"
27
- end
25
+ #rescue
26
+ #input+="<br />Custom Tags failed to run"
27
+ #end
28
28
  #Loading Default Tags and applying them
29
29
  if @config[:allow_defaults] then
30
30
  TBBC::Tags.each do |tag|
@@ -0,0 +1,19 @@
1
+ class TBBC
2
+
3
+ SwearChracters = %w[! $ % ^ * ~]
4
+
5
+ private
6
+
7
+ def swear_filter(input)
8
+ @config[:swear_words].each do |swear|
9
+ input=input.gsub(/#{swear}/,swear_string(swear))
10
+ end
11
+ input
12
+ end
13
+
14
+ def swear_string(s)
15
+ out=""
16
+ s.split("").map { |split| out+= SwearChracters[rand(SwearChracters.count)] }
17
+ out
18
+ end
19
+ end
@@ -33,6 +33,7 @@ class TBBC
33
33
  end
34
34
 
35
35
  def is_symbol?(v)
36
+ return false if (v == true or v == false)
36
37
  v == v.to_sym
37
38
  end
38
39
 
data/lib/trainbbcode.rb CHANGED
@@ -8,8 +8,10 @@ require 'rubygems'
8
8
  require 'coderay'
9
9
 
10
10
  #Helper Method
11
- require 'trainbbcode/application_helper.rb'
12
- ActionView::Base.send :include, TBBCHelper
11
+ if defined? RAILS_ROOT then
12
+ require 'trainbbcode/application_helper.rb'
13
+ ActionView::Base.send :include, TBBCHelper
14
+ end
13
15
 
14
16
  class TBBC
15
17
  # Creates a new TBBC class with everything set to default
@@ -0,0 +1,21 @@
1
+ require 'lib/trainbbcode.rb'
2
+
3
+ describe TBBC, "#parse" do
4
+ it "Should return <strong>BOLD</strong> for [b]BOLD[/b]" do
5
+ TBBC.new.parse("[b]BOLD[/b]").should == "<strong>BOLD</strong>"
6
+ end
7
+ end
8
+
9
+ describe String, "#tbbc" do
10
+ it "Should return <i>italics</i> for [i]italics[/i]" do
11
+ "[i]italics[/i]".tbbc.should == "<i>italics</i>"
12
+ end
13
+
14
+ it "Should return <strong>BOLD [i]italics[/i]</strong> when italics are disabled" do
15
+ "[b]BOLD [i]italics[/i][/b]".tbbc(:italic_enabled => false).should == "<strong>BOLD [i]italics[/i]</strong>"
16
+ end
17
+
18
+ it "Should allow custom tags to run and return <strong><i>BOLD italics</i></strong> for [bi]BOLD italics[/bi]" do
19
+ "[bi]BOLD italics[/bi]".tbbc(:custom_tags => [[/\[bi\](.*?)\[\/bi\]/,'<strong><i>\1</i></strong>',true]]).should == "<strong><i>BOLD italics</i></strong>"
20
+ end
21
+ end
data/trainbbcode.gemspec CHANGED
@@ -2,15 +2,15 @@
2
2
 
3
3
  Gem::Specification.new do |s|
4
4
  s.name = %q{trainbbcode}
5
- s.version = "1.0.0"
5
+ s.version = "1.0.1"
6
6
 
7
7
  s.required_rubygems_version = Gem::Requirement.new(">= 1.2") if s.respond_to? :required_rubygems_version=
8
8
  s.authors = ["Adam \"Arcath\" Laycock"]
9
- s.date = %q{2010-07-06}
9
+ s.date = %q{2010-10-06}
10
10
  s.description = %q{Provides BBCode for Ruby.}
11
11
  s.email = %q{adam@arcath.net}
12
- s.extra_rdoc_files = ["README.rdoc", "lib/trainbbcode.rb", "lib/trainbbcode/configure.rb", "lib/trainbbcode/css.rb", "lib/trainbbcode/parse.rb", "lib/trainbbcode/string.rb", "lib/trainbbcode/tags.rb"]
13
- s.files = ["README.rdoc", "Rakefile", "init.rb", "lib/trainbbcode.rb", "lib/trainbbcode/configure.rb", "lib/trainbbcode/css.rb", "lib/trainbbcode/parse.rb", "lib/trainbbcode/string.rb", "lib/trainbbcode/tags.rb", "Manifest", "trainbbcode.gemspec"]
12
+ s.extra_rdoc_files = ["README.rdoc", "lib/trainbbcode.rb", "lib/trainbbcode/application_helper.rb", "lib/trainbbcode/configure.rb", "lib/trainbbcode/css.rb", "lib/trainbbcode/parse.rb", "lib/trainbbcode/string.rb", "lib/trainbbcode/swear_filter.rb", "lib/trainbbcode/tags.rb"]
13
+ s.files = ["README.rdoc", "Rakefile", "init.rb", "lib/trainbbcode.rb", "lib/trainbbcode/application_helper.rb", "lib/trainbbcode/configure.rb", "lib/trainbbcode/css.rb", "lib/trainbbcode/parse.rb", "lib/trainbbcode/string.rb", "lib/trainbbcode/swear_filter.rb", "lib/trainbbcode/tags.rb", "spec/trainbbcode_spec.rb", "trainbbcode.gemspec", "Manifest"]
14
14
  s.homepage = %q{http://www.arcath.net/}
15
15
  s.rdoc_options = ["--line-numbers", "--inline-source", "--title", "Trainbbcode", "--main", "README.rdoc"]
16
16
  s.require_paths = ["lib"]
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: trainbbcode
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.0
4
+ version: 1.0.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Adam "Arcath" Laycock
@@ -9,7 +9,7 @@ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
11
 
12
- date: 2010-07-06 00:00:00 +01:00
12
+ date: 2010-10-06 00:00:00 +01:00
13
13
  default_executable:
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
@@ -31,23 +31,28 @@ extensions: []
31
31
  extra_rdoc_files:
32
32
  - README.rdoc
33
33
  - lib/trainbbcode.rb
34
+ - lib/trainbbcode/application_helper.rb
34
35
  - lib/trainbbcode/configure.rb
35
36
  - lib/trainbbcode/css.rb
36
37
  - lib/trainbbcode/parse.rb
37
38
  - lib/trainbbcode/string.rb
39
+ - lib/trainbbcode/swear_filter.rb
38
40
  - lib/trainbbcode/tags.rb
39
41
  files:
40
42
  - README.rdoc
41
43
  - Rakefile
42
44
  - init.rb
43
45
  - lib/trainbbcode.rb
46
+ - lib/trainbbcode/application_helper.rb
44
47
  - lib/trainbbcode/configure.rb
45
48
  - lib/trainbbcode/css.rb
46
49
  - lib/trainbbcode/parse.rb
47
50
  - lib/trainbbcode/string.rb
51
+ - lib/trainbbcode/swear_filter.rb
48
52
  - lib/trainbbcode/tags.rb
49
- - Manifest
53
+ - spec/trainbbcode_spec.rb
50
54
  - trainbbcode.gemspec
55
+ - Manifest
51
56
  has_rdoc: true
52
57
  homepage: http://www.arcath.net/
53
58
  licenses: []