class Dasheets::DSL::Base

Public Class Methods

new(&block) click to toggle source
# File lib/dasheets/dsl/base.rb, line 7
def initialize(&block)
  instance_eval(&block)
end

Private Class Methods

define_attrs(*names) click to toggle source
# File lib/dasheets/dsl/base.rb, line 12
def self.define_attrs(*names)
  names.each do |name|
    define_method(name) do |val = nil|
      instance_variable_set("@#{name}", val) if val
      instance_variable_get("@#{name}")
    end
  end
end
define_markdown_attrs(*names) click to toggle source
# File lib/dasheets/dsl/base.rb, line 20
def self.define_markdown_attrs(*names)
  names.each do |name|
    define_method(name) do |val = nil|
      if val
        val = Minidown.render(val)
        instance_variable_set("@#{name}", val)
      end
      instance_variable_get("@#{name}")
    end
    define_method("tags_stripped_#{name}") do
      Sanitize.clean(send(name))
    end
  end
end