nolate 0.0.1 → 0.0.2

Sign up to get free protection for your applications and to get access to all the features.
data/Makefile ADDED
@@ -0,0 +1,7 @@
1
+ test:
2
+ ruby test.rb
3
+
4
+ gem:
5
+ ruby pkg/build_gemspec.rb
6
+ gem build nolate.gemspec
7
+ mv -f *.gem pkg
data/VERSION ADDED
@@ -0,0 +1 @@
1
+ 0.0.2
data/lib/nolate.rb CHANGED
@@ -77,11 +77,20 @@ end
77
77
  def nlt_compile(template)
78
78
  s = "__=[]; "
79
79
  nlt_parse(template).each do |action, param, newlines|
80
+ if action == :evalo or action == :eval
81
+ if param[(-1..-1)] != "\n" and param.index("#")
82
+ lines = param.split("\n")
83
+ if lines[-1] =~ /^ *#/
84
+ lines[-1] = ""
85
+ param = lines.join("\n")
86
+ end
87
+ end
88
+ end
80
89
  case action
81
- when :evalo then s << "__<<(#{param}).to_s; "
90
+ when :evalo then s << "@__ = (#{param}); __<< @__.to_s; @__; "
82
91
  when :eval then s << "#{param}; "
83
- when :sub then s << "__<< __sub[#{param.to_sym.inspect}]; "
84
- when :verb then s << "__<<#{param}; "
92
+ when :sub then s << "__<< __sub[#{param.to_sym.inspect}]; @__; "
93
+ when :verb then s << "__<<#{param}; @__; "
85
94
  end
86
95
  s << "\n"*newlines
87
96
  end
data/nolate.gemspec CHANGED
@@ -5,11 +5,10 @@ Gem::Specification.new do |s|
5
5
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
6
6
 
7
7
  s.name = %q{nolate}
8
- s.version = "0.0.1"
8
+ s.version = "0.0.2"
9
9
  s.summary = %q{Ruby Template System}
10
10
  s.description = %q{Pure Ruby template engine optimized for speed}
11
11
  s.authors = ["Salvatore Sanfilippo","Michel Martens","Bruno Michel","Emmanuel Oga"]
12
- s.autorequire = %q{nolate}
13
12
  s.date = %q{2011-04-05}
14
13
  s.email = %q{antirez@gmail.com}
15
14
  s.extra_rdoc_files = ["LICENSE"]
@@ -17,23 +16,5 @@ Gem::Specification.new do |s|
17
16
  s.require_paths = ["lib"]
18
17
  s.rubygems_version = %q{1.5.0}
19
18
 
20
- s.files = %w{
21
- LICENSE
22
- README
23
- bench.rb
24
- example.rb
25
- nolate.gemspec
26
- test.rb
27
- lib/nolate.rb
28
- views/bigtemplate.nlt
29
- views/example.nlt
30
- views/layout.nlt
31
- views/layout2.nlt
32
- views/layout3.nlt
33
- views/testview.nlt
34
- views/testview2.nlt
35
- views/testview3.nlt
36
- views/testview4.nlt
37
- views/testview5.nlt
38
- }
19
+ s.files = ["LICENSE", "Makefile", "README", "VERSION", "bench.rb", "example.rb", "lib/nolate.rb", "nolate.gemspec", "pkg/build_gemspec.rb", "pkg/gemspec_template.rb", "pkg/nolate-0.0.2.gem", "test.rb", "views/bigtemplate.nlt", "views/example.nlt", "views/layout.nlt", "views/layout2.nlt", "views/layout3.nlt", "views/testview.nlt", "views/testview2.nlt", "views/testview3.nlt", "views/testview4.nlt", "views/testview5.nlt", "views/testview6.nlt", "views/testview7.nlt"]
39
20
  end
@@ -0,0 +1,28 @@
1
+ class GemIt
2
+ def initialize
3
+ @template = File.read("pkg/gemspec_template.rb")
4
+ end
5
+ def list_files(path,parent=nil)
6
+ files = []
7
+ dir = Dir.open(path)
8
+ dir.to_a.each{|f|
9
+ next if f[0..0] == "."
10
+ if File.directory? f
11
+ files += list_files("#{path}/#{f}","#{f}")
12
+ else
13
+ files << (parent ? "#{parent}/#{f}" : f)
14
+ end
15
+ }
16
+ files
17
+ end
18
+ def gemspec
19
+ files = GemIt.new.list_files(".").sort
20
+ version = File.read("VERSION").chomp
21
+ gemspec = @template
22
+ gemspec.sub!("%version%",version.inspect)
23
+ gemspec.sub!("%files%",files.inspect)
24
+ end
25
+ end
26
+
27
+ gemspec = GemIt.new.gemspec
28
+ f = File.open("nolate.gemspec","w").write(gemspec)
@@ -0,0 +1,20 @@
1
+ # -*- encoding: utf-8 -*-
2
+
3
+ Gem::Specification.new do |s|
4
+ s.specification_version = 2 if s.respond_to? :specification_version=
5
+ s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
6
+
7
+ s.name = %q{nolate}
8
+ s.version = %version%
9
+ s.summary = %q{Ruby Template System}
10
+ s.description = %q{Pure Ruby template engine optimized for speed}
11
+ s.authors = ["Salvatore Sanfilippo","Michel Martens","Bruno Michel","Emmanuel Oga"]
12
+ s.date = %q{2011-04-05}
13
+ s.email = %q{antirez@gmail.com}
14
+ s.extra_rdoc_files = ["LICENSE"]
15
+ s.homepage = %q{http://github.com/antirez/nolaote}
16
+ s.require_paths = ["lib"]
17
+ s.rubygems_version = %q{1.5.0}
18
+
19
+ s.files = %files%
20
+ end
Binary file
data/test.rb CHANGED
@@ -26,6 +26,8 @@ class NolateTest < Test::Unit::TestCase
26
26
  assert_equal("3",nolate("<%x=2%><%=x+1%>"))
27
27
  assert_equal("Hello",MyExampleClass.new.method_one)
28
28
  assert_equal("World\n",MyExampleClass.new.method_two)
29
+ assert_equal("\n1\n\n4\n\n9\n\n[1, 4, 9]\n",nlt(:testview6))
30
+ assert_equal("zap\n\n4\nciao\n",nlt(:testview7))
29
31
  end
30
32
 
31
33
  def test_iter
@@ -0,0 +1,4 @@
1
+ <% y = [1,2,3].map {|x| %>
2
+ <%= x*x %>
3
+ <% } %>
4
+ <%= y.inspect %>
@@ -0,0 +1,6 @@
1
+ zap
2
+ <% #comment one
3
+ x = 2+2
4
+ #comment two %>
5
+ <%= x %>
6
+ ciao
metadata CHANGED
@@ -1,20 +1,20 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: nolate
3
3
  version: !ruby/object:Gem::Version
4
- hash: 29
4
+ hash: 27
5
5
  prerelease:
6
6
  segments:
7
7
  - 0
8
8
  - 0
9
- - 1
10
- version: 0.0.1
9
+ - 2
10
+ version: 0.0.2
11
11
  platform: ruby
12
12
  authors:
13
13
  - Salvatore Sanfilippo
14
14
  - Michel Martens
15
15
  - Bruno Michel
16
16
  - Emmanuel Oga
17
- autorequire: nolate
17
+ autorequire:
18
18
  bindir: bin
19
19
  cert_chain: []
20
20
 
@@ -31,12 +31,17 @@ extra_rdoc_files:
31
31
  - LICENSE
32
32
  files:
33
33
  - LICENSE
34
+ - Makefile
34
35
  - README
36
+ - VERSION
35
37
  - bench.rb
36
38
  - example.rb
39
+ - lib/nolate.rb
37
40
  - nolate.gemspec
41
+ - pkg/build_gemspec.rb
42
+ - pkg/gemspec_template.rb
43
+ - pkg/nolate-0.0.2.gem
38
44
  - test.rb
39
- - lib/nolate.rb
40
45
  - views/bigtemplate.nlt
41
46
  - views/example.nlt
42
47
  - views/layout.nlt
@@ -47,6 +52,8 @@ files:
47
52
  - views/testview3.nlt
48
53
  - views/testview4.nlt
49
54
  - views/testview5.nlt
55
+ - views/testview6.nlt
56
+ - views/testview7.nlt
50
57
  homepage: http://github.com/antirez/nolaote
51
58
  licenses: []
52
59