nolate 0.0.1 → 0.0.2

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.
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