acts_as_markup 1.1.2 → 1.2.0
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/CHANGELOG +5 -0
- data/Manifest.txt +2 -1
- data/acts_as_markup.gemspec +15 -15
- data/lib/acts/as_markup.rb +1 -1
- data/lib/acts_as_markup.rb +8 -7
- data/lib/acts_as_markup/exts/maruku.rb +2 -0
- data/lib/acts_as_markup/exts/object.rb +1 -0
- data/lib/acts_as_markup/exts/peg_markdown.rb +2 -0
- data/lib/acts_as_markup/exts/rdiscount.rb +2 -0
- data/lib/acts_as_markup/stringlike.rb +7 -0
- data/test/acts_as_markdown_test.rb +9 -1
- data/test/acts_as_markup_test.rb +4 -4
- data/test/test_helper.rb +8 -0
- metadata +8 -7
- data/lib/acts_as_markup/exts/string.rb +0 -1
data/CHANGELOG
CHANGED
@@ -1,3 +1,8 @@
|
|
1
|
+
== 1.2.0 / 2008-09-10
|
2
|
+
* Allow all objects to have a to_html method that defaults as to_s instead just doing this for strings. (idea from crnixon[http://github.com/crnixon/])
|
3
|
+
* Add string methods to all markup objects via the StringLike mixin. (crnixon[http://github.com/crnixon/])
|
4
|
+
* Other Minor bug fixes
|
5
|
+
|
1
6
|
== 1.1.2 / 2008-08-22
|
2
7
|
* Make sure all markup objects properly respond to the .blank? method call.
|
3
8
|
|
data/Manifest.txt
CHANGED
@@ -7,11 +7,12 @@ acts_as_markup.gemspec
|
|
7
7
|
lib/acts/as_markup.rb
|
8
8
|
lib/acts_as_markup.rb
|
9
9
|
lib/acts_as_markup/exts/maruku.rb
|
10
|
+
lib/acts_as_markup/exts/object.rb
|
10
11
|
lib/acts_as_markup/exts/peg_markdown.rb
|
11
12
|
lib/acts_as_markup/exts/rdiscount.rb
|
12
13
|
lib/acts_as_markup/exts/rdoc.rb
|
13
|
-
lib/acts_as_markup/exts/string.rb
|
14
14
|
lib/acts_as_markup/exts/wikitext.rb
|
15
|
+
lib/acts_as_markup/stringlike.rb
|
15
16
|
tasks/bones.rake
|
16
17
|
tasks/gem.rake
|
17
18
|
tasks/git.rake
|
data/acts_as_markup.gemspec
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
Gem::Specification.new do |s|
|
2
2
|
s.name = %q{acts_as_markup}
|
3
|
-
s.version = "1.
|
3
|
+
s.version = "1.2.0"
|
4
4
|
|
5
5
|
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
6
6
|
s.authors = ["Brian Landau"]
|
7
|
-
s.date = %q{2008-
|
7
|
+
s.date = %q{2008-09-10}
|
8
8
|
s.description = %q{Represent ActiveRecord Markdown, Textile, Wiki text, RDoc columns as Markdown, Textile Wikitext, RDoc objects using various external libraries to convert to HTML.}
|
9
9
|
s.email = %q{brian.landau@viget.com}
|
10
10
|
s.extra_rdoc_files = ["CHANGELOG", "LICENSE", "README.rdoc"]
|
11
|
-
s.files = ["CHANGELOG", "LICENSE", "Manifest.txt", "README.rdoc", "Rakefile", "acts_as_markup.gemspec", "lib/acts/as_markup.rb", "lib/acts_as_markup.rb", "lib/acts_as_markup/exts/maruku.rb", "lib/acts_as_markup/exts/
|
11
|
+
s.files = ["CHANGELOG", "LICENSE", "Manifest.txt", "README.rdoc", "Rakefile", "acts_as_markup.gemspec", "lib/acts/as_markup.rb", "lib/acts_as_markup.rb", "lib/acts_as_markup/exts/maruku.rb", "lib/acts_as_markup/exts/object.rb", "lib/acts_as_markup/exts/peg_markdown.rb", "lib/acts_as_markup/exts/rdiscount.rb", "lib/acts_as_markup/exts/rdoc.rb", "lib/acts_as_markup/exts/wikitext.rb", "lib/acts_as_markup/stringlike.rb", "tasks/bones.rake", "tasks/gem.rake", "tasks/git.rake", "tasks/manifest.rake", "tasks/post_load.rake", "tasks/rdoc.rake", "tasks/rubyforge.rake", "tasks/setup.rb", "tasks/test.rake", "test/acts_as_markdown_test.rb", "test/acts_as_markup_test.rb", "test/acts_as_rdoc_test.rb", "test/acts_as_textile_test.rb", "test/acts_as_wikitext_test.rb", "test/test_helper.rb"]
|
12
12
|
s.has_rdoc = true
|
13
13
|
s.homepage = %q{http://viget.rubyforge.com/acts_as_markup}
|
14
14
|
s.rdoc_options = ["--main", "README.rdoc"]
|
@@ -23,23 +23,23 @@ Gem::Specification.new do |s|
|
|
23
23
|
s.specification_version = 2
|
24
24
|
|
25
25
|
if current_version >= 3 then
|
26
|
-
s.add_runtime_dependency(%q<activesupport>, [">= 2.1.
|
27
|
-
s.add_runtime_dependency(%q<activerecord>, [">= 2.1.
|
28
|
-
s.add_runtime_dependency(%q<rdiscount>, [">= 1.2.
|
26
|
+
s.add_runtime_dependency(%q<activesupport>, [">= 2.1.1"])
|
27
|
+
s.add_runtime_dependency(%q<activerecord>, [">= 2.1.1"])
|
28
|
+
s.add_runtime_dependency(%q<rdiscount>, [">= 1.2.9"])
|
29
29
|
s.add_runtime_dependency(%q<RedCloth>, [">= 4.0.3"])
|
30
|
-
s.add_runtime_dependency(%q<wikitext>, [">= 1.
|
30
|
+
s.add_runtime_dependency(%q<wikitext>, [">= 1.2"])
|
31
31
|
else
|
32
|
-
s.add_dependency(%q<activesupport>, [">= 2.1.
|
33
|
-
s.add_dependency(%q<activerecord>, [">= 2.1.
|
34
|
-
s.add_dependency(%q<rdiscount>, [">= 1.2.
|
32
|
+
s.add_dependency(%q<activesupport>, [">= 2.1.1"])
|
33
|
+
s.add_dependency(%q<activerecord>, [">= 2.1.1"])
|
34
|
+
s.add_dependency(%q<rdiscount>, [">= 1.2.9"])
|
35
35
|
s.add_dependency(%q<RedCloth>, [">= 4.0.3"])
|
36
|
-
s.add_dependency(%q<wikitext>, [">= 1.
|
36
|
+
s.add_dependency(%q<wikitext>, [">= 1.2"])
|
37
37
|
end
|
38
38
|
else
|
39
|
-
s.add_dependency(%q<activesupport>, [">= 2.1.
|
40
|
-
s.add_dependency(%q<activerecord>, [">= 2.1.
|
41
|
-
s.add_dependency(%q<rdiscount>, [">= 1.2.
|
39
|
+
s.add_dependency(%q<activesupport>, [">= 2.1.1"])
|
40
|
+
s.add_dependency(%q<activerecord>, [">= 2.1.1"])
|
41
|
+
s.add_dependency(%q<rdiscount>, [">= 1.2.9"])
|
42
42
|
s.add_dependency(%q<RedCloth>, [">= 4.0.3"])
|
43
|
-
s.add_dependency(%q<wikitext>, [">= 1.
|
43
|
+
s.add_dependency(%q<wikitext>, [">= 1.2"])
|
44
44
|
end
|
45
45
|
end
|
data/lib/acts/as_markup.rb
CHANGED
@@ -76,7 +76,7 @@ module ActiveRecord # :nodoc:
|
|
76
76
|
rdoc_klass = 'RDocText'
|
77
77
|
options[:language_column] ||= :markup_language
|
78
78
|
else
|
79
|
-
raise ActsAsMarkup::
|
79
|
+
raise ActsAsMarkup::UnsupportedMarkupLanguage, "#{options[:langauge]} is not a currently supported markup language."
|
80
80
|
end
|
81
81
|
|
82
82
|
options[:columns].each do |col|
|
data/lib/acts_as_markup.rb
CHANGED
@@ -2,20 +2,20 @@ require 'active_support'
|
|
2
2
|
|
3
3
|
module ActsAsMarkup
|
4
4
|
# :stopdoc:
|
5
|
-
VERSION = '1.
|
5
|
+
VERSION = '1.2.0'
|
6
6
|
LIBPATH = ::File.expand_path(::File.dirname(__FILE__)) + ::File::SEPARATOR
|
7
7
|
PATH = ::File.dirname(LIBPATH) + ::File::SEPARATOR
|
8
8
|
# :startdoc:
|
9
9
|
|
10
10
|
# This exception is raised when an unsupported markup language is supplied to acts_as_markup.
|
11
|
-
class
|
11
|
+
class UnsupportedMarkupLanguage < ArgumentError
|
12
12
|
end
|
13
13
|
|
14
14
|
# This exception is raised when an unsupported Markdown library is set to the config value.
|
15
15
|
class UnsportedMarkdownLibrary < ArgumentError
|
16
16
|
end
|
17
17
|
|
18
|
-
|
18
|
+
DEFAULT_MARKDOWN_LIB = :rdiscount
|
19
19
|
|
20
20
|
MARKDOWN_LIBS = { :rdiscount => {:class_name => "RDiscount",
|
21
21
|
:lib_name => "rdiscount"},
|
@@ -28,7 +28,7 @@ module ActsAsMarkup
|
|
28
28
|
|
29
29
|
LIBRARY_EXTENSIONS = Set.new(Dir[ActsAsMarkup::LIBPATH + 'acts_as_markup/exts/*.rb'].map {|file| File.basename(file, '.rb')}).delete('string')
|
30
30
|
|
31
|
-
@@markdown_library =
|
31
|
+
@@markdown_library = DEFAULT_MARKDOWN_LIB
|
32
32
|
mattr_accessor :markdown_library
|
33
33
|
|
34
34
|
# :stopdoc:
|
@@ -39,14 +39,14 @@ module ActsAsMarkup
|
|
39
39
|
end
|
40
40
|
|
41
41
|
# Returns the library path for the module. If any arguments are given,
|
42
|
-
# they will be joined to the end of the
|
42
|
+
# they will be joined to the end of the library path using
|
43
43
|
# <tt>File.join</tt>.
|
44
44
|
#
|
45
45
|
def self.libpath( *args )
|
46
46
|
args.empty? ? LIBPATH : ::File.join(LIBPATH, *args)
|
47
47
|
end
|
48
48
|
|
49
|
-
# Returns the
|
49
|
+
# Returns the path for the module. If any arguments are given,
|
50
50
|
# they will be joined to the end of the path using
|
51
51
|
# <tt>File.join</tt>.
|
52
52
|
#
|
@@ -70,5 +70,6 @@ module ActsAsMarkup
|
|
70
70
|
|
71
71
|
end # module ActsAsMarkup
|
72
72
|
|
73
|
-
require 'acts_as_markup/exts/
|
73
|
+
require 'acts_as_markup/exts/object'
|
74
|
+
require 'acts_as_markup/stringlike'
|
74
75
|
ActsAsMarkup.require_all_libs_relative_to __FILE__, 'acts'
|
@@ -0,0 +1 @@
|
|
1
|
+
Object.send :alias_method, :to_html, :to_s
|
@@ -14,6 +14,8 @@ class ActsAsMarkdownTest < ActsAsMarkupTestCase
|
|
14
14
|
end
|
15
15
|
@post = Post.create!(:title => 'Blah', :body => @markdown_text)
|
16
16
|
end
|
17
|
+
|
18
|
+
should_act_like_a_string
|
17
19
|
|
18
20
|
should "have a RDiscount object returned for the column value" do
|
19
21
|
assert_kind_of RDiscount, @post.body
|
@@ -27,7 +29,7 @@ class ActsAsMarkdownTest < ActsAsMarkupTestCase
|
|
27
29
|
assert !@post.body.blank?
|
28
30
|
end
|
29
31
|
|
30
|
-
should "return
|
32
|
+
should "return formatted html for a `to_html` method call on the column value" do
|
31
33
|
assert_match(/<h2(\s\w+\=['"]\w*['"])*\s*>\s*Markdown Test Text\s*<\/h2>/, @post.body.to_html)
|
32
34
|
end
|
33
35
|
|
@@ -69,6 +71,8 @@ class ActsAsMarkdownTest < ActsAsMarkupTestCase
|
|
69
71
|
end
|
70
72
|
@post = Post.create!(:title => 'Blah', :body => @markdown_text)
|
71
73
|
end
|
74
|
+
|
75
|
+
should_act_like_a_string
|
72
76
|
|
73
77
|
should "have a Ruby PEG Markdown object returned for the column value" do
|
74
78
|
assert_kind_of PEGMarkdown, @post.body
|
@@ -124,6 +128,8 @@ class ActsAsMarkdownTest < ActsAsMarkupTestCase
|
|
124
128
|
end
|
125
129
|
@post = Post.create!(:title => 'Blah', :body => @markdown_text)
|
126
130
|
end
|
131
|
+
|
132
|
+
should_act_like_a_string
|
127
133
|
|
128
134
|
should "have a BlueCloth object returned for the column value" do
|
129
135
|
assert_kind_of BlueCloth, @post.body
|
@@ -179,6 +185,8 @@ class ActsAsMarkdownTest < ActsAsMarkupTestCase
|
|
179
185
|
end
|
180
186
|
@post = Post.create!(:title => 'Blah', :body => @markdown_text)
|
181
187
|
end
|
188
|
+
|
189
|
+
should_act_like_a_string
|
182
190
|
|
183
191
|
should "have a Maruku object returned for the column value" do
|
184
192
|
assert_kind_of Maruku, @post.body
|
data/test/acts_as_markup_test.rb
CHANGED
@@ -7,7 +7,7 @@ class ActsAsMarkupTest < ActsAsMarkupTestCase
|
|
7
7
|
|
8
8
|
context 'acts_as_markup' do
|
9
9
|
setup do
|
10
|
-
ActsAsMarkup.markdown_library = ActsAsMarkup::
|
10
|
+
ActsAsMarkup.markdown_library = ActsAsMarkup::DEFAULT_MARKDOWN_LIB
|
11
11
|
|
12
12
|
@textile_text = "h2. Textile Test Text"
|
13
13
|
class ::TextilePost < ActiveRecord::Base
|
@@ -76,7 +76,7 @@ class ActsAsMarkupTest < ActsAsMarkupTestCase
|
|
76
76
|
|
77
77
|
context 'acts_as_markup with variable language' do
|
78
78
|
setup do
|
79
|
-
ActsAsMarkup.markdown_library = ActsAsMarkup::
|
79
|
+
ActsAsMarkup.markdown_library = ActsAsMarkup::DEFAULT_MARKDOWN_LIB
|
80
80
|
class ::VariablePost < ActiveRecord::Base
|
81
81
|
acts_as_markup :language => :variable, :columns => [:body]
|
82
82
|
end
|
@@ -325,7 +325,7 @@ class ActsAsMarkupTest < ActsAsMarkupTestCase
|
|
325
325
|
|
326
326
|
context 'acts_as_markup with variable language setting the language column' do
|
327
327
|
setup do
|
328
|
-
ActsAsMarkup.markdown_library = ActsAsMarkup::
|
328
|
+
ActsAsMarkup.markdown_library = ActsAsMarkup::DEFAULT_MARKDOWN_LIB
|
329
329
|
class ::VariableLanguagePost < ActiveRecord::Base
|
330
330
|
acts_as_markup :language => :variable, :columns => [:body], :language_column => :language_name
|
331
331
|
end
|
@@ -567,7 +567,7 @@ class ActsAsMarkupTest < ActsAsMarkupTestCase
|
|
567
567
|
|
568
568
|
context 'acts_as_markup with bad language name' do
|
569
569
|
should 'raise exception when a non-supported language is passed to acts_as_markup' do
|
570
|
-
assert_raise ActsAsMarkup::
|
570
|
+
assert_raise ActsAsMarkup::UnsupportedMarkupLanguage do
|
571
571
|
class ::Post < ActiveRecord::Base
|
572
572
|
acts_as_markup :language => :fake, :columns => [:body]
|
573
573
|
end
|
data/test/test_helper.rb
CHANGED
@@ -1,4 +1,5 @@
|
|
1
1
|
require 'test/unit'
|
2
|
+
require 'rubygems'
|
2
3
|
require 'shoulda'
|
3
4
|
require 'active_support'
|
4
5
|
require 'active_support/test_case'
|
@@ -56,4 +57,11 @@ class ActsAsMarkupTestCase < ActiveSupport::TestCase
|
|
56
57
|
def teardown
|
57
58
|
teardown_db
|
58
59
|
end
|
60
|
+
|
61
|
+
def self.should_act_like_a_string
|
62
|
+
should "act like a string" do
|
63
|
+
assert_equal @post.body.split(' '), ['##', 'Markdown', 'Test', 'Text']
|
64
|
+
assert @post.body.match(/Te[sx]t/)
|
65
|
+
end
|
66
|
+
end
|
59
67
|
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: acts_as_markup
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.
|
4
|
+
version: 1.2.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Brian Landau
|
@@ -9,7 +9,7 @@ autorequire:
|
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
11
|
|
12
|
-
date: 2008-
|
12
|
+
date: 2008-09-10 00:00:00 -04:00
|
13
13
|
default_executable:
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
@@ -20,7 +20,7 @@ dependencies:
|
|
20
20
|
requirements:
|
21
21
|
- - ">="
|
22
22
|
- !ruby/object:Gem::Version
|
23
|
-
version: 2.1.
|
23
|
+
version: 2.1.1
|
24
24
|
version:
|
25
25
|
- !ruby/object:Gem::Dependency
|
26
26
|
name: activerecord
|
@@ -30,7 +30,7 @@ dependencies:
|
|
30
30
|
requirements:
|
31
31
|
- - ">="
|
32
32
|
- !ruby/object:Gem::Version
|
33
|
-
version: 2.1.
|
33
|
+
version: 2.1.1
|
34
34
|
version:
|
35
35
|
- !ruby/object:Gem::Dependency
|
36
36
|
name: rdiscount
|
@@ -40,7 +40,7 @@ dependencies:
|
|
40
40
|
requirements:
|
41
41
|
- - ">="
|
42
42
|
- !ruby/object:Gem::Version
|
43
|
-
version: 1.2.
|
43
|
+
version: 1.2.9
|
44
44
|
version:
|
45
45
|
- !ruby/object:Gem::Dependency
|
46
46
|
name: RedCloth
|
@@ -60,7 +60,7 @@ dependencies:
|
|
60
60
|
requirements:
|
61
61
|
- - ">="
|
62
62
|
- !ruby/object:Gem::Version
|
63
|
-
version: 1.
|
63
|
+
version: "1.2"
|
64
64
|
version:
|
65
65
|
description: Represent ActiveRecord Markdown, Textile, Wiki text, RDoc columns as Markdown, Textile Wikitext, RDoc objects using various external libraries to convert to HTML.
|
66
66
|
email: brian.landau@viget.com
|
@@ -82,11 +82,12 @@ files:
|
|
82
82
|
- lib/acts/as_markup.rb
|
83
83
|
- lib/acts_as_markup.rb
|
84
84
|
- lib/acts_as_markup/exts/maruku.rb
|
85
|
+
- lib/acts_as_markup/exts/object.rb
|
85
86
|
- lib/acts_as_markup/exts/peg_markdown.rb
|
86
87
|
- lib/acts_as_markup/exts/rdiscount.rb
|
87
88
|
- lib/acts_as_markup/exts/rdoc.rb
|
88
|
-
- lib/acts_as_markup/exts/string.rb
|
89
89
|
- lib/acts_as_markup/exts/wikitext.rb
|
90
|
+
- lib/acts_as_markup/stringlike.rb
|
90
91
|
- tasks/bones.rake
|
91
92
|
- tasks/gem.rake
|
92
93
|
- tasks/git.rake
|
@@ -1 +0,0 @@
|
|
1
|
-
String.send :alias_method, :to_html, :to_s
|