Module: MarkdownPreview::Base::ClassMethods

Defined in:
lib/markdown_preview/base.rb

Instance Method Summary collapse

Instance Method Details

#uses_markdown_preview(options = {}) ⇒ Object

The controller declaration to enable markdown_preview certain actions. Takes options hash, raw_options string, and any normal params you can send to a before_filter (only, except etc)



13
14
15
16
17
18
19
20
21
22
23
24
25
26
# File 'lib/markdown_preview/base.rb', line 13

def uses_markdown_preview(options = {})
  configuration = MarkdownPreview::Configuration.new(options.delete(:options), options.delete(:raw_options))
  
  # Set instance vars in the current class
  proc = Proc.new do |c|
    configurations = c.instance_variable_get(:@markdown_preview_configurations) || []
    configurations << configuration
    c.instance_variable_set(:@markdown_preview_configurations, configurations)
    c.instance_variable_set(:@uses_markdown_preview, true)
  end

  # Run the above proc before each page load this method is declared in
  before_filter(proc, options)
end