Module: ActiveRecord::Acts::AsMarkdown::ClassMethods
- Defined in:
- lib/acts/as_markdown.rb
Instance Method Summary collapse
-
#acts_as_markdown(*columns) ⇒ Object
This allows you to specify columns you want to define as containing markdown content.
Instance Method Details
#acts_as_markdown(*columns) ⇒ Object
This allows you to specify columns you want to define as containing markdown content. Then you can simply call .to_html method on the attribute.
Example
class Post < ActiveRecrod
acts_as_markdown :body
end
@post = Post.find(:first)
@post.body.to_s #=> "## Markdown Headline"
@post.body.to_html #=> "<h2> Mardown Headline</h2>"
24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 |
# File 'lib/acts/as_markdown.rb', line 24 def acts_as_markdown(*columns) library_names = ::ActsAsMarkdown::MARKDOWN_LIBS[ActsAsMarkdown.markdown_library] require library_names[:lib_name] klass = library_names[:class_name] columns.each do |col| class_eval " def \#{col.to_s}\n if @\#{col.to_s}\n if !self.\#{col.to_s}_changed?\n return @\#{col.to_s}\n end\n end\n @\#{col.to_s} = \#{klass}.new(self['\#{col.to_s}'].to_s)\n end\n EOV\n end\nend\n" |