Sha256: 993cf0dbf72ee52ef4875a413d189f6e5e5597ccda9251ad339273ac9f27e274

Contents?: true

Size: 594 Bytes

Versions: 2

Compression:

Stored size: 594 Bytes

Contents

class Snippet < ActiveRecord::Base
  validates_uniqueness_of :slug
  validates_presence_of :slug

  before_save :compile_text

  class << self
    def get(slug, options = {})
      snippet = find_by_slug(slug.to_s.downcase) || create!(options.merge(:slug => slug))
      snippet.compiled_text.to_s if snippet
    end

    def parse(text, parser = nil)
      parser = 'html' if parser.blank?
      klass = Snippets::Parsers.const_get(parser.to_s.classify)
      klass.parse(text)
    end
  end

  private

    def compile_text
      self.compiled_text = Snippet.parse(text, parser)
    end

end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
djanowski-snippets-0.0.2 lib/snippet.rb
djanowski-snippets-0.0.3 lib/snippet.rb