Giter VIP home page Giter VIP logo

object_templates's Introduction

ObjectTemplates

  • Basic secure templates for web users, with the least imaginative name possible, surprisingly well written for 1am - 5:30am code.

Usage

With rails

Gemfile:

gem "object_templates"

Without rails

require 'rubygems'
require 'object_templates'
class FooTemplate
  def initialize(c)
    @content = c
  end

  class Resolver < ::ObjectTemplates::Resolver
    attr_accessor :cofounder1, :cofounder2

    def template_resolver
      # This method defines the objects and values allowed in the template.
      # Use lambdas because we want to cache this hash and be enumerable.

      {:website_name => "BeHiring",
       :cofounder1 => lambda do @cofounder1 end,
       :cofounder2 => {:name => lambda do @cofounder2.name end}}
    end
  end

  # content attribute is used as the actual template string
  acts_as_object_template :template => :content, :resolver => Resolver

end

tmpl = FooTemplate.new("I am [[ cofounder1.name ]], he is [[ cofounder2.name]], and our website is called [[ website_name ]].")
result = tmpl.evaluate_object_template do |r|
  # This block is used to set all the data that is used in the template objects
  r.cofounder = {:name => "John Cant"}
end

result should be "I am John Cant, he is Arkadiuz Turlewicz, and our website is called BeHiring"

object_templates's People

Contributors

johncant avatar

Stargazers

 avatar

Watchers

James Cloos avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.