Module: Rbexy

Defined in:
lib/rbexy.rb,
lib/rbexy/lexer.rb,
lib/rbexy/nodes.rb,
lib/rbexy/rails.rb,
lib/rbexy/parser.rb,
lib/rbexy/runtime.rb,
lib/rbexy/version.rb,
lib/rbexy/component.rb,
lib/rbexy/hash_mash.rb,
lib/rbexy/rails/engine.rb,
lib/rbexy/configuration.rb,
lib/rbexy/component_context.rb,
lib/rbexy/view_context_helper.rb,
lib/rbexy/component_tag_builder.rb,
lib/rbexy/rails/controller_helper.rb,
lib/rbexy/component/backtrace_cleaner.rb,
lib/rbexy/rails/component_template_resolver.rb,
lib/rbexy/component_providers/rbexy_provider.rb,
lib/rbexy/component_providers/view_component_provider.rb,
lib/rbexy/component_providers/namespaced_rbexy_provider.rb

Defined Under Namespace

Modules: ComponentContext, ComponentProviders, Nodes, Rails, ViewContextHelper Classes: Component, ComponentTagBuilder, Configuration, HashMash, Lexer, Parser, Runtime

Constant Summary collapse

ContextNotFound =
Class.new(StandardError)
VERSION =
"1.1.0"

Class Method Summary collapse

Class Method Details

.compile(template_string) ⇒ Object



25
26
27
28
29
# File 'lib/rbexy.rb', line 25

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

.configurationObject



21
22
23
# File 'lib/rbexy.rb', line 21

def configuration
  @configuration ||= Configuration.new
end

.configure {|configuration| ... } ⇒ Object

Yields:



17
18
19
# File 'lib/rbexy.rb', line 17

def configure
  yield(configuration)
end

.evaluate(template_string, runtime) ⇒ Object



31
32
33
# File 'lib/rbexy.rb', line 31

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