Sha256: 19caea99ade8774fb1d9a95758633e4a740ef198b8a311e4defbda5fec3b2023

Contents?: true

Size: 862 Bytes

Versions: 1

Compression:

Stored size: 862 Bytes

Contents

require 'parslet'
require 'haml'
require 'erb'

module Shortcode
  extend self

  attr_accessor :configuration, :presenters
  self.presenters = {}

  def setup
    self.configuration ||= Configuration.new
    yield configuration
  end

  def process(code)
    transformer.apply(parser.parse(code))
  end

  def register_presenter(presenter)
    self.presenters[presenter.for.to_sym] = presenter
  end

  private

    def parser
      @@parser = Shortcode::Parser.new
    end

    def transformer
      @@transformer = Shortcode::Transformer.new
    end

end

require 'shortcode/version'
require 'shortcode/configuration'
require 'shortcode/parser'
require 'shortcode/presenter'
require 'shortcode/transformer'
require 'shortcode/tag'
require 'shortcode/exceptions'
require 'shortcode/railtie' if defined?(Rails) && Rails::VERSION::MAJOR >= 3

Shortcode.setup {}

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
shortcode-0.1.2 lib/shortcode.rb