Module: Babl

Defined in:
lib/babl.rb,
lib/babl/errors.rb,
lib/babl/railtie.rb,
lib/babl/version.rb,
lib/babl/template.rb,
lib/babl/nodes/dep.rb,
lib/babl/nodes/nav.rb,
lib/babl/utils/ref.rb,
lib/babl/nodes/each.rb,
lib/babl/nodes/with.rb,
lib/babl/utils/hash.rb,
lib/babl/nodes/merge.rb,
lib/babl/nodes/typed.rb,
lib/babl/utils/value.rb,
lib/babl/nodes/object.rb,
lib/babl/nodes/parent.rb,
lib/babl/nodes/switch.rb,
lib/babl/schema/typed.rb,
lib/babl/nodes/is_null.rb,
lib/babl/operators/dep.rb,
lib/babl/operators/nav.rb,
lib/babl/operators/pin.rb,
lib/babl/schema/any_of.rb,
lib/babl/schema/object.rb,
lib/babl/nodes/constant.rb,
lib/babl/nodes/goto_pin.rb,
lib/babl/operators/call.rb,
lib/babl/operators/each.rb,
lib/babl/operators/null.rb,
lib/babl/operators/with.rb,
lib/babl/operators/array.rb,
lib/babl/operators/enter.rb,
lib/babl/operators/merge.rb,
lib/babl/operators/typed.rb,
lib/babl/schema/anything.rb,
lib/babl/utils/dsl_proxy.rb,
lib/babl/nodes/create_pin.rb,
lib/babl/operators/object.rb,
lib/babl/operators/parent.rb,
lib/babl/operators/source.rb,
lib/babl/operators/static.rb,
lib/babl/operators/switch.rb,
lib/babl/schema/dyn_array.rb,
lib/babl/schema/primitive.rb,
lib/babl/nodes/fixed_array.rb,
lib/babl/operators/default.rb,
lib/babl/operators/extends.rb,
lib/babl/operators/is_null.rb,
lib/babl/operators/partial.rb,
lib/babl/rendering/context.rb,
lib/babl/operators/continue.rb,
lib/babl/operators/nullable.rb,
lib/babl/schema/fixed_array.rb,
lib/babl/nodes/internal_value.rb,
lib/babl/nodes/terminal_value.rb,
lib/babl/builder/chain_builder.rb,
lib/babl/builder/template_base.rb,
lib/babl/rendering/noop_preloader.rb,
lib/babl/rendering/compiled_template.rb

Defined Under Namespace

Modules: ActionView, Builder, Errors, Nodes, Operators, Rendering, Schema, Utils Classes: Config, Railtie, Template

Constant Summary collapse

VERSION =
'0.3.4'

Class Method Summary collapse

Class Method Details

.compile(&block) ⇒ Object



21
22
23
24
25
26
# File 'lib/babl.rb', line 21

def compile(&block)
    source(&block).compile(
        pretty: config.pretty,
        preloader: config.preloader
    )
end

.configObject



41
42
43
# File 'lib/babl.rb', line 41

def config
    @config ||= Config.new
end

.configure {|config| ... } ⇒ Object

Yields:



37
38
39
# File 'lib/babl.rb', line 37

def configure
    yield(config)
end

.source(&block) ⇒ Object



28
29
30
31
32
33
34
35
# File 'lib/babl.rb', line 28

def source(&block)
    template = Template.new
    if config.search_path
        ctx = Operators::Partial::AbsoluteLookupContext.new(config.search_path)
        template = template.with_lookup_context(ctx)
    end
    template.source(&block)
end