simple_template 0.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,4 @@
1
+ *.gem
2
+ .bundle
3
+ Gemfile.lock
4
+ pkg/*
data/Gemfile ADDED
@@ -0,0 +1,4 @@
1
+ source "http://rubygems.org"
2
+
3
+ # Specify your gem's dependencies in simple_template.gemspec
4
+ gemspec
@@ -0,0 +1,26 @@
1
+ simple_template
2
+ ===============
3
+
4
+ Very simple template language for text output.
5
+
6
+ Usage
7
+ =====
8
+
9
+ irb -rubygems
10
+ irb> require 'simple_template'
11
+ irb> SimpleTemplate::Renderer.parse("Hello %{name}", { :name => 'Phil' })
12
+ => "Hello Phil"
13
+
14
+
15
+ Install
16
+ =======
17
+
18
+ gem install simple_template
19
+
20
+
21
+ Tests
22
+ =====
23
+
24
+ Tests use the marvelous minitest library. To run the tests...
25
+
26
+ ruby spec/simple_template.rb
@@ -0,0 +1,2 @@
1
+ require 'bundler'
2
+ Bundler::GemHelper.install_tasks
@@ -0,0 +1 @@
1
+ require "simple_template/renderer"
@@ -0,0 +1,10 @@
1
+ module SimpleTemplate
2
+ class Renderer
3
+ def self.parse(template_string, data)
4
+ data.each do |identifier, value|
5
+ template_string.gsub! /%\{#{identifier}\}/, value
6
+ end
7
+ template_string
8
+ end
9
+ end
10
+ end
@@ -0,0 +1,3 @@
1
+ module SimpleTemplate
2
+ VERSION = "0.0.1"
3
+ end
@@ -0,0 +1,23 @@
1
+ # -*- encoding: utf-8 -*-
2
+ $:.push File.expand_path("../lib", __FILE__)
3
+ require "simple_template/version"
4
+
5
+ Gem::Specification.new do |s|
6
+ s.name = "simple_template"
7
+ s.version = SimpleTemplate::VERSION
8
+ s.platform = Gem::Platform::RUBY
9
+ s.authors = ["Phil McClure"]
10
+ s.email = ["pmcclure@rumblelabs.com"]
11
+ s.homepage = ""
12
+ s.summary = %q{simple templating language}
13
+ s.description = %q{Very simple template language for text output.}
14
+
15
+ s.rubyforge_project = "simple_template"
16
+
17
+ s.add_development_dependency "minitest"
18
+
19
+ s.files = `git ls-files`.split("\n")
20
+ s.test_files = `git ls-files -- {test,spec,features}/*`.split("\n")
21
+ s.executables = `git ls-files -- bin/*`.split("\n").map{ |f| File.basename(f) }
22
+ s.require_paths = ["lib"]
23
+ end
@@ -0,0 +1,14 @@
1
+ require File.dirname(__FILE__) + '/spec_helper'
2
+
3
+ describe SimpleTemplate do
4
+ it "must parse and replace placeholder with matching variable value" do
5
+ output = SimpleTemplate::Renderer.parse("Hello %{name}", { :name => 'Phil' })
6
+ output.must_equal "Hello Phil"
7
+ end
8
+
9
+ it "must parse multiple placeholders with their variable counterparts" do
10
+ output = SimpleTemplate::Renderer.parse("This gem is called %{gem_name} and is developed by %{company}",
11
+ { :gem_name => 'simple_template', :company => 'Rumble Labs' })
12
+ output.must_equal "This gem is called simple_template and is developed by Rumble Labs"
13
+ end
14
+ end
@@ -0,0 +1,17 @@
1
+ require 'rubygems'
2
+ require 'minitest/autorun'
3
+ require 'bundler'
4
+
5
+ begin
6
+ Bundler.setup(:default, :development)
7
+ rescue Bundler::BundlerError => e
8
+ $stderr.puts e.message
9
+ $stderr.puts "Run `bundle install` to install missing gems"
10
+ exit e.status_code
11
+ end
12
+
13
+ require 'simple_template'
14
+
15
+ $LOAD_PATH.unshift(File.join(File.dirname(__FILE__), '..', 'lib'))
16
+ $LOAD_PATH.unshift(File.dirname(__FILE__))
17
+
metadata ADDED
@@ -0,0 +1,90 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: simple_template
3
+ version: !ruby/object:Gem::Version
4
+ hash: 29
5
+ prerelease:
6
+ segments:
7
+ - 0
8
+ - 0
9
+ - 1
10
+ version: 0.0.1
11
+ platform: ruby
12
+ authors:
13
+ - Phil McClure
14
+ autorequire:
15
+ bindir: bin
16
+ cert_chain: []
17
+
18
+ date: 2011-11-08 00:00:00 +00:00
19
+ default_executable:
20
+ dependencies:
21
+ - !ruby/object:Gem::Dependency
22
+ name: minitest
23
+ prerelease: false
24
+ requirement: &id001 !ruby/object:Gem::Requirement
25
+ none: false
26
+ requirements:
27
+ - - ">="
28
+ - !ruby/object:Gem::Version
29
+ hash: 3
30
+ segments:
31
+ - 0
32
+ version: "0"
33
+ type: :development
34
+ version_requirements: *id001
35
+ description: Very simple template language for text output.
36
+ email:
37
+ - pmcclure@rumblelabs.com
38
+ executables: []
39
+
40
+ extensions: []
41
+
42
+ extra_rdoc_files: []
43
+
44
+ files:
45
+ - .gitignore
46
+ - Gemfile
47
+ - README.md
48
+ - Rakefile
49
+ - lib/simple_template.rb
50
+ - lib/simple_template/renderer.rb
51
+ - lib/simple_template/version.rb
52
+ - simple_template.gemspec
53
+ - spec/simple_template.rb
54
+ - spec/spec_helper.rb
55
+ has_rdoc: true
56
+ homepage: ""
57
+ licenses: []
58
+
59
+ post_install_message:
60
+ rdoc_options: []
61
+
62
+ require_paths:
63
+ - lib
64
+ required_ruby_version: !ruby/object:Gem::Requirement
65
+ none: false
66
+ requirements:
67
+ - - ">="
68
+ - !ruby/object:Gem::Version
69
+ hash: 3
70
+ segments:
71
+ - 0
72
+ version: "0"
73
+ required_rubygems_version: !ruby/object:Gem::Requirement
74
+ none: false
75
+ requirements:
76
+ - - ">="
77
+ - !ruby/object:Gem::Version
78
+ hash: 3
79
+ segments:
80
+ - 0
81
+ version: "0"
82
+ requirements: []
83
+
84
+ rubyforge_project: simple_template
85
+ rubygems_version: 1.3.9.3
86
+ signing_key:
87
+ specification_version: 3
88
+ summary: simple templating language
89
+ test_files: []
90
+