Module: WLang
- Defined in:
- lib/wlang.rb,
lib/wlang/html.rb,
lib/wlang/dummy.rb,
lib/wlang/scope.rb,
lib/wlang/source.rb,
lib/wlang/command.rb,
lib/wlang/dialect.rb,
lib/wlang/version.rb,
lib/wlang/compiler.rb,
lib/wlang/template.rb,
lib/wlang/compiler/filter.rb,
lib/wlang/compiler/parser.rb,
lib/wlang/scope/null_scope.rb,
lib/wlang/scope/proc_scope.rb,
lib/wlang/scope/object_scope.rb,
lib/wlang/scope/binding_scope.rb,
lib/wlang/scope/sinatra_scope.rb,
lib/wlang/source/front_matter.rb,
lib/wlang/compiler/autospacing.rb,
lib/wlang/compiler/to_ruby_code.rb,
lib/wlang/compiler/static_merger.rb,
lib/wlang/compiler/dialect_enforcer.rb,
lib/wlang/compiler/proc_call_removal.rb,
lib/wlang/compiler/strconcat_flattener.rb,
lib/wlang/compiler/to_ruby_abstraction.rb
Overview
WLang is a powerful code generation and templating engine
Defined Under Namespace
Modules: Version Classes: Command, Compiler, Dialect, Dummy, Html, Parser, Scope, Source, Template
Constant Summary collapse
- SYMBOLS =
These are allows block symbols
"!^%\"$&'*+?@~#,-./:;=<>|_".chars.to_a
- BRACES =
Template braces
['{', '}']
- SinatraApp =
proc{|arg| defined?(Sinatra::Base) && Sinatra::Base===arg }
- TiltTemplate =
proc{|arg| defined?(Tilt::Template) && Tilt::Template===arg }
- VERSION =
Version.to_s
Class Method Summary collapse
-
.dialect(superdialect = WLang::Dialect, &defn) ⇒ Object
Defines an anonymous dialect on the fly.
Class Method Details
.dialect(superdialect = WLang::Dialect, &defn) ⇒ Object
Defines an anonymous dialect on the fly.
Example:
d = WLang::dialect do
tag('$') do |buf,fn| buf << evaluate(fn) end
...
end
d.render("Hello ${who}!", :who => "world")
# => "Hello world!"
25 26 27 |
# File 'lib/wlang.rb', line 25 def dialect(superdialect = WLang::Dialect, &defn) Class.new(superdialect, &defn) end |