Sha256: 2922173b22522d1693e76f51aa6b38ac212a785acb700b9c749b9e3f7d1686ff

Contents?: true

Size: 698 Bytes

Versions: 2

Compression:

Stored size: 698 Bytes

Contents

module Rcurse
    @helpers = Hash.new

    def self.add_helper helper
        @helpers[helper.name] = helper
    end

    def self.helpers
        @helpers
    end

    def self.render content
        content.gsub /{{([^ ]+) *(.+)?}}/ do |s|
            name = $1
            args = $2 ? $2.split(" ") : []
            if @helpers[name].is_a? Rcurse::Helper then
                @helpers[name].callback.call(args)
            end
        end
    end

    def self.render_file filename, out_filename
        content = File.read(filename)
        rendered_content = self.render(content)
        File.open(out_filename, "w+") do |file|
            file.write(rendered_content)
        end
    end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
rcurse-0.4.0 lib/rcurse/engine.rb
rcurse-0.3.1 lib/rcurse/engine.rb