acts_as_markup 1.0.0 → 1.1.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 CHANGED
@@ -1,3 +1,7 @@
1
+ == 1.1.0 / 2008-08-12
2
+
3
+ * Use a default for markup language column name when the variable options is used.
4
+
1
5
  == 1.0.0 / 2008-08-11
2
6
 
3
7
  * Add support for Maruku Markdown Library.
data/README.rdoc CHANGED
@@ -87,7 +87,7 @@ By default RDiscount will be used.
87
87
  ==== Using +acts_as_markup+ with <tt>:variable</tt> language:
88
88
 
89
89
  class Post < ActiveRecrod
90
- acts_as_markup :language => :variable, :columns => [:body], :language_column => 'markup_language'
90
+ acts_as_markup :language => :variable, :columns => [:body]
91
91
  end
92
92
 
93
93
  @post = Post.find(:first)
data/Rakefile CHANGED
@@ -13,7 +13,7 @@ PROJ.name = 'acts_as_markup'
13
13
  PROJ.authors = 'Brian Landau'
14
14
  PROJ.email = 'brian.landau@viget.com'
15
15
  PROJ.url = 'http://viget.rubyforge.com/acts_as_markup'
16
- PROJ.description = "Represent ActiveRecord Markdown, Textile, or Wiki text columns as Markdown, Textile or Wikitext objects using various external libraries to convert to HTML."
16
+ PROJ.description = "Represent ActiveRecord Markdown, Textile, Wiki text, RDoc columns as Markdown, Textile Wikitext, RDoc objects using various external libraries to convert to HTML."
17
17
  PROJ.rubyforge.name = 'viget'
18
18
  PROJ.version = ActsAsMarkup::VERSION
19
19
  PROJ.rdoc.include = %w(^lib/ LICENSE CHANGELOG README\.rdoc)
@@ -1,11 +1,11 @@
1
1
  Gem::Specification.new do |s|
2
2
  s.name = %q{acts_as_markup}
3
- s.version = "1.0.0"
3
+ s.version = "1.1.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-08-11}
8
- s.description = %q{Represent ActiveRecord Markdown, Textile, or Wiki text columns as Markdown, Textile or Wikitext objects using various external libraries to convert to HTML.}
7
+ s.date = %q{2008-08-12}
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
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/rdiscount.rb", "lib/acts_as_markup/exts/rdoc.rb", "lib/acts_as_markup/exts/string.rb", "lib/acts_as_markup/exts/wikitext.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"]
@@ -15,7 +15,7 @@ Gem::Specification.new do |s|
15
15
  s.require_paths = ["lib"]
16
16
  s.rubyforge_project = %q{viget}
17
17
  s.rubygems_version = %q{1.2.0}
18
- s.summary = %q{Represent ActiveRecord Markdown, Textile, or Wiki text columns as Markdown, Textile or Wikitext objects using various external libraries to convert to HTML}
18
+ s.summary = %q{Represent ActiveRecord Markdown, Textile, Wiki text, RDoc columns as Markdown, Textile Wikitext, RDoc objects using various external libraries to convert to HTML}
19
19
  s.test_files = ["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"]
20
20
 
21
21
  if s.respond_to? :specification_version then
@@ -13,12 +13,13 @@ module ActiveRecord # :nodoc:
13
13
  # Markdown, Textile, Wikitext or RDoc content.
14
14
  # Then you can simply call <tt>.to_html</tt> method on the attribute.
15
15
  #
16
- # You can also specify the language as <tt>:variable</tt> you will then
17
- # need to add an additional option of <tt>:language_column</tt>. When
18
- # a value is accessed it will create the correct object (Markdown, Textile,
19
- # Wikitext or RDoc) based on the value of the language column. If any value
20
- # besides markdown, textile, wikitext, or RDoc is supplied for the markup
21
- # language the text will pass through as a string.
16
+ # You can also specify the language as <tt>:variable</tt>. The language used
17
+ # to process the column will be based on another column. By default a column
18
+ # named "<tt>markup_language</tt>" is used, but this can be changed by providing
19
+ # a <tt>:language_column</tt> option. When a value is accessed it will create
20
+ # the correct object (Markdown, Textile, Wikitext or RDoc) based on the value
21
+ # of the language column. If any value besides markdown, textile, wikitext, or
22
+ # RDoc is supplied for the markup language the text will pass through as a string.
22
23
  #
23
24
  #
24
25
  # ==== Examples
@@ -37,11 +38,11 @@ module ActiveRecord # :nodoc:
37
38
  # ===== Using variable language
38
39
  #
39
40
  # class Post < ActiveRecrod
40
- # acts_as_markup :language => :variable, :columns => [:body], :language_column => 'markup_language'
41
+ # acts_as_markup :language => :variable, :columns => [:body], :language_column => 'language_name'
41
42
  # end
42
43
  #
43
44
  # @post = Post.find(:first)
44
- # @post.markup_language # => "markdown"
45
+ # @post.language_name # => "markdown"
45
46
  # @post.body.to_s # => "## Markdown Headline"
46
47
  # @post.body.to_html # => "<h2> Markdown Headline</h2>"
47
48
  #
@@ -73,6 +74,7 @@ module ActiveRecord # :nodoc:
73
74
  textile_klass = 'RedCloth'
74
75
  wiki_klass = 'WikitextString'
75
76
  rdoc_klass = 'RDocText'
77
+ options[:language_column] ||= :markup_language
76
78
  else
77
79
  raise ActsAsMarkup::UnsportedMarkupLanguage, "#{options[:langauge]} is not a currently supported markup language."
78
80
  end
@@ -2,7 +2,7 @@ require 'active_support'
2
2
 
3
3
  module ActsAsMarkup
4
4
  # :stopdoc:
5
- VERSION = '1.0.0'
5
+ VERSION = '1.1.0'
6
6
  LIBPATH = ::File.expand_path(::File.dirname(__FILE__)) + ::File::SEPARATOR
7
7
  PATH = ::File.dirname(LIBPATH) + ::File::SEPARATOR
8
8
  # :startdoc:
@@ -78,7 +78,7 @@ class ActsAsMarkupTest < ActsAsMarkupTestCase
78
78
  setup do
79
79
  ActsAsMarkup.markdown_library = ActsAsMarkup::DEFAULT_MAKRDOWN_LIB
80
80
  class ::VariablePost < ActiveRecord::Base
81
- acts_as_markup :language => :variable, :columns => [:body], :language_column => :markup_language
81
+ acts_as_markup :language => :variable, :columns => [:body]
82
82
  end
83
83
  end
84
84
 
@@ -323,6 +323,28 @@ class ActsAsMarkupTest < ActsAsMarkupTestCase
323
323
  end
324
324
  end
325
325
 
326
+ context 'acts_as_markup with variable language setting the language column' do
327
+ setup do
328
+ ActsAsMarkup.markdown_library = ActsAsMarkup::DEFAULT_MAKRDOWN_LIB
329
+ class ::VariableLanguagePost < ActiveRecord::Base
330
+ acts_as_markup :language => :variable, :columns => [:body], :language_column => :language_name
331
+ end
332
+ end
333
+
334
+ should "use the correct language column" do
335
+ markdown_text = '## Markdown Test Text'
336
+ markdown_post = VariableLanguagePost.create!(:title => 'Blah', :body => markdown_text, :language_name => 'Markdown')
337
+
338
+ assert_kind_of RDiscount, markdown_post.body
339
+ assert_equal markdown_text, markdown_post.body.to_s
340
+ assert_match(/<h2(\s\w+\=['"]\w*['"])*\s*>\s*Markdown Test Text\s*<\/h2>/, markdown_post.body.to_html)
341
+ end
342
+
343
+ teardown do
344
+ VariableLanguagePost.delete_all
345
+ end
346
+ end
347
+
326
348
  context 'with a nil value for the text' do
327
349
  setup do
328
350
  @text = nil
data/test/test_helper.rb CHANGED
@@ -32,6 +32,13 @@ def setup_db
32
32
  t.column :markup_language, :string
33
33
  t.timestamps
34
34
  end
35
+
36
+ create_table :variable_language_posts do |t|
37
+ t.column :title, :string
38
+ t.column :body, :text
39
+ t.column :language_name, :string
40
+ t.timestamps
41
+ end
35
42
  end
36
43
  end
37
44
 
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.0.0
4
+ version: 1.1.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-08-11 00:00:00 -04:00
12
+ date: 2008-08-12 00:00:00 -04:00
13
13
  default_executable:
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
@@ -62,7 +62,7 @@ dependencies:
62
62
  - !ruby/object:Gem::Version
63
63
  version: 1.1.1
64
64
  version:
65
- description: Represent ActiveRecord Markdown, Textile, or Wiki text columns as Markdown, Textile or Wikitext objects using various external libraries to convert to HTML.
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
67
67
  executables: []
68
68
 
@@ -127,7 +127,7 @@ rubyforge_project: viget
127
127
  rubygems_version: 1.2.0
128
128
  signing_key:
129
129
  specification_version: 2
130
- summary: Represent ActiveRecord Markdown, Textile, or Wiki text columns as Markdown, Textile or Wikitext objects using various external libraries to convert to HTML
130
+ summary: Represent ActiveRecord Markdown, Textile, Wiki text, RDoc columns as Markdown, Textile Wikitext, RDoc objects using various external libraries to convert to HTML
131
131
  test_files:
132
132
  - test/acts_as_markdown_test.rb
133
133
  - test/acts_as_markup_test.rb