Sha256: 30221996a42720da16850013adaca305bb3fe70c031e963f62bb91f1e3529dee

Contents?: true

Size: 907 Bytes

Versions: 12

Compression:

Stored size: 907 Bytes

Contents

require "rbexy/version"

module Rbexy
  autoload :Lexer, "rbexy/lexer"
  autoload :Parser, "rbexy/parser"
  autoload :Nodes, "rbexy/nodes"
  autoload :Runtime, "rbexy/runtime"
  autoload :HashMash, "rbexy/hash_mash"
  autoload :OutputBuffer, "rbexy/output_buffer"
  autoload :ComponentTagBuilder, "rbexy/component_tag_builder"
  autoload :ViewContextHelper, "rbexy/view_context_helper"
  autoload :Configuration, "rbexy/configuration"

  ContextNotFound = Class.new(StandardError)

  class << self
    def configure
      yield(configuration)
    end

    def configuration
      @configuration ||= Configuration.new
    end

    def compile(template_string)
      tokens = Rbexy::Lexer.new(template_string).tokenize
      template = Rbexy::Parser.new(tokens).parse
      template.compile
    end

    def evaluate(template_string, runtime)
      runtime.evaluate compile(template_string)
    end
  end
end

Version data entries

12 entries across 12 versions & 1 rubygems

Version Path
rbexy-0.3.1 lib/rbexy.rb
rbexy-0.3.0 lib/rbexy.rb
rbexy-0.2.3 lib/rbexy.rb
rbexy-0.2.2 lib/rbexy.rb
rbexy-0.2.1 lib/rbexy.rb
rbexy-0.2.0 lib/rbexy.rb
rbexy-0.1.5 lib/rbexy.rb
rbexy-0.1.4 lib/rbexy.rb
rbexy-0.1.3 lib/rbexy.rb
rbexy-0.1.2 lib/rbexy.rb
rbexy-0.1.1 lib/rbexy.rb
rbexy-0.1.0 lib/rbexy.rb