nagoro 2009.05 → 2013.03

Sign up to get free protection for your applications and to get access to all the features.
@@ -1,4 +1,4 @@
1
- require 'spec/helper'
1
+ require File.expand_path('../../../helper', __FILE__)
2
2
 
3
3
  describe "Nagoro::Pipe::Include" do
4
4
  def compile(obj)
@@ -1,4 +1,4 @@
1
- require 'spec/helper'
1
+ require File.expand_path('../../../helper', __FILE__)
2
2
 
3
3
  describe "Nagoro::Pipe::Instruction" do
4
4
  behaves_like 'xpath'
@@ -1,4 +1,4 @@
1
- require 'spec/helper'
1
+ require File.expand_path('../../../helper', __FILE__)
2
2
 
3
3
  describe "Nagoro::Pipe::Morph" do
4
4
  def compile(obj)
@@ -1,4 +1,4 @@
1
- require 'spec/helper'
1
+ require File.expand_path('../../../helper', __FILE__)
2
2
  require 'nagoro/pipe/tidy'
3
3
 
4
4
  describe "Nagoro::Pipe::Tidy" do
@@ -1,4 +1,4 @@
1
- require 'spec/helper'
1
+ require File.expand_path('../../helper', __FILE__)
2
2
 
3
3
  describe "Nagoro" do
4
4
  should '::compile from filename' do
@@ -102,4 +102,15 @@ describe "Nagoro::Template" do
102
102
 
103
103
  Nagoro.render(comment).should == comment
104
104
  end
105
+
106
+ it "ignores javascript in parameter" do
107
+ @stuff = 'nothing'
108
+ tag = %q|<a href="stuff" onmouseover='this.src="#{@stuff}"'>stuff</a>|
109
+
110
+ Nagoro.render(tag, :binding => binding).should == %|<a href="stuff" onmouseover='this.src="#{@stuff}"'>stuff</a>|
111
+ end
112
+
113
+ it 'The param tag should be left open if it is not closed' do
114
+ Nagoro.render('<param><tag>foo</tag></param>').should == '<param><tag>foo</tag></param>'
115
+ end
105
116
  end
@@ -0,0 +1,30 @@
1
+ # Once git has a fix for the glibc in handling .mailmap and another fix for
2
+ # allowing empty mail address to be mapped in .mailmap we won't have to handle
3
+ # them manually.
4
+
5
+ desc 'Update AUTHORS'
6
+ task :authors do
7
+ authors = Hash.new(0)
8
+
9
+ `git shortlog -nse`.scan(/(\d+)\s(.+)\s<(.*)>$/) do |count, name, email|
10
+ case name
11
+ when "ahoward"
12
+ name, email = "Ara T. Howard", "ara.t.howard@gmail.com"
13
+ when "Martin Hilbig blueonyx@dev-area.net"
14
+ name, email = "Martin Hilbig", "blueonyx@dev-area.net"
15
+ when "Michael Fellinger m.fellinger@gmail.com"
16
+ name, email = "Michael Fellinger", "m.fellinger@gmail.com"
17
+ end
18
+
19
+ authors[[name, email]] += count.to_i
20
+ end
21
+
22
+ File.open('AUTHORS', 'w+') do |io|
23
+ io.puts "Following persons have contributed to #{GEMSPEC.name}."
24
+ io.puts '(Sorted by number of submitted patches, then alphabetically)'
25
+ io.puts ''
26
+ authors.sort_by{|(n,e),c| [-c, n.downcase] }.each do |(name, email), count|
27
+ io.puts("%6d %s <%s>" % [count, name, email])
28
+ end
29
+ end
30
+ end
@@ -1,49 +1,68 @@
1
+ require 'fileutils'
2
+
1
3
  desc 'Run all bacon specs with pretty output'
2
- task :bacon => :install_dependencies do
4
+ task :bacon do
3
5
  require 'open3'
4
6
  require 'scanf'
7
+ require 'matrix'
5
8
 
6
9
  specs = PROJECT_SPECS
7
10
 
8
11
  some_failed = false
9
- total = specs.size
12
+ specs_size = specs.size
10
13
  len = specs.map{|s| s.size }.sort.last
11
- tt = ta = tf = te = 0
14
+ total_tests = total_assertions = total_failures = total_errors = 0
15
+ totals = Vector[0, 0, 0, 0]
12
16
 
13
17
  red, yellow, green = "\e[31m%s\e[0m", "\e[33m%s\e[0m", "\e[32m%s\e[0m"
14
18
  left_format = "%4d/%d: %-#{len + 11}s"
15
19
  spec_format = "%d specifications (%d requirements), %d failures, %d errors"
16
20
 
17
21
  specs.each_with_index do |spec, idx|
18
- print(left_format % [idx + 1, total, spec])
22
+ print(left_format % [idx + 1, specs_size, spec])
19
23
 
20
- Open3.popen3(RUBY, spec) do |sin, sout, serr|
21
- out = sout.read
22
- err = serr.read
24
+ Open3.popen3(FileUtils::RUBY, '-w', spec) do |sin, sout, serr|
25
+ out = sout.read.strip
26
+ err = serr.read.strip
23
27
 
24
- ran = false
28
+ # this is conventional, see spec/innate/state/fiber.rb for usage
29
+ if out =~ /^Bacon::Error: (needed .*)/
30
+ puts(yellow % ("%6s %s" % ['', $1]))
31
+ else
32
+ total = nil
25
33
 
26
- out.each_line do |line|
27
- tests, assertions, failures, errors = all = line.scanf(spec_format)
28
- next unless all.any?
29
- ran = true
30
- tt += tests; ta += assertions; tf += failures; te += errors
34
+ out.each_line do |line|
35
+ scanned = line.scanf(spec_format)
31
36
 
32
- if tests == 0 || failures + errors > 0
33
- puts((red % spec_format) % all)
34
- puts out
35
- puts err
36
- else
37
- puts((green % "%6d passed") % tests)
37
+ next unless scanned.size == 4
38
+
39
+ total = Vector[*scanned]
40
+ break
38
41
  end
39
42
 
40
- break
41
- end
43
+ if total
44
+ totals += total
45
+ tests, assertions, failures, errors = total_array = total.to_a
42
46
 
43
- puts(yellow % " skipped") unless ran
47
+ if tests > 0 && failures + errors == 0
48
+ puts((green % "%6d passed") % tests)
49
+ else
50
+ some_failed = true
51
+ puts(red % " failed")
52
+ puts out unless out.empty?
53
+ puts err unless err.empty?
54
+ end
55
+ else
56
+ some_failed = true
57
+ puts(red % " failed")
58
+ puts out unless out.empty?
59
+ puts err unless err.empty?
60
+ end
61
+ end
44
62
  end
45
63
  end
46
64
 
47
- puts(spec_format % [tt, ta, tf, te])
65
+ total_color = some_failed ? red : green
66
+ puts(total_color % (spec_format % totals.to_a))
48
67
  exit 1 if some_failed
49
68
  end
@@ -1,5 +1,3 @@
1
- require 'rake/gempackagetask'
2
-
3
1
  task :gemspec => [:manifest, :changelog] do
4
2
  gemspec_file = "#{GEMSPEC.name}.gemspec"
5
3
  File.open(gemspec_file, 'w+'){|gs| gs.puts(GEMSPEC.to_ruby) }
@@ -16,7 +14,6 @@ task :uninstall => [:clean] do
16
14
  sh %{gem uninstall -x #{GEMSPEC.name}}
17
15
  end
18
16
 
19
- Rake::GemPackageTask.new(GEMSPEC) do |p|
20
- p.need_tar = true
21
- p.need_zip = true
17
+ Gem::PackageTask.new(GEMSPEC) do |pkg|
18
+ pkg.need_tar = true
22
19
  end
@@ -1,52 +1,41 @@
1
1
  namespace :release do
2
- task :all => [:release_github, :release_rubyforge]
2
+ task :prepare => [:reversion, :authors, :gemspec]
3
+ task :all => ['release:github', 'release:gemcutter']
3
4
 
4
- desc 'Display instructions to release on github'
5
- task :github => [:reversion, :gemspec] do
5
+ desc 'Release on github'
6
+ task :github => :prepare do
6
7
  name, version = GEMSPEC.name, GEMSPEC.version
7
8
 
8
- puts <<INSTRUCTIONS
9
- First add the relevant files:
9
+ sh('git', 'add',
10
+ 'MANIFEST', 'CHANGELOG', 'AUTHORS',
11
+ "#{name}.gemspec",
12
+ "lib/#{name}/version.rb")
10
13
 
11
- git add MANIFEST CHANGELOG #{name}.gemspec lib/#{name}/version.rb
14
+ puts <<-INSTRUCTIONS
15
+ ================================================================================
12
16
 
13
- Then commit them, tag the commit, and push:
17
+ I added the relevant files, you can commit them, tag the commit, and push:
14
18
 
15
19
  git commit -m 'Version #{version}'
16
20
  git tag -a -m '#{version}' '#{version}'
17
21
  git push
18
22
 
19
- INSTRUCTIONS
20
-
23
+ ================================================================================
24
+ INSTRUCTIONS
21
25
  end
22
26
 
23
- # TODO: Not tested
24
- desc 'Display instructions to release on rubyforge'
25
- task :rubyforge => [:reversion, :gemspec, :package] do
27
+ desc 'Release on gemcutter'
28
+ task :gemcutter => ['release:prepare', :package] do
26
29
  name, version = GEMSPEC.name, GEMSPEC.version
27
30
 
28
- puts <<INSTRUCTIONS
29
- To publish to rubyforge do following:
30
-
31
- rubyforge login
32
- rubyforge add_release #{name} #{name} '#{version}' pkg/#{name}-#{version}.gem
33
-
34
- After you have done these steps, see:
35
-
36
- rake release:rubyforge_archives
31
+ puts <<-INSTRUCTIONS
32
+ ================================================================================
37
33
 
38
- INSTRUCTIONS
39
- end
40
-
41
- desc 'Display instructions to add archives after release:rubyforge'
42
- task :rubyforge_archives do
43
- name, version = GEMSPEC.name, GEMSPEC.version
44
- puts "Adding archives for distro packagers is:", ""
34
+ To publish to gemcutter do following:
45
35
 
46
- Dir["pkg/#{name}-#{version}.{tgz,zip}"].each do |file|
47
- puts "rubyforge add_file #{name} #{name} '#{version}' '#{file}'"
48
- end
36
+ gem push pkg/#{name}-#{version}.gem
49
37
 
50
- puts
38
+ ================================================================================
39
+ INSTRUCTIONS
51
40
  end
52
41
  end
metadata CHANGED
@@ -1,27 +1,23 @@
1
- --- !ruby/object:Gem::Specification
1
+ --- !ruby/object:Gem::Specification
2
2
  name: nagoro
3
- version: !ruby/object:Gem::Version
4
- version: "2009.05"
3
+ version: !ruby/object:Gem::Version
4
+ version: '2013.03'
5
+ prerelease:
5
6
  platform: ruby
6
- authors:
7
+ authors:
7
8
  - Michael 'manveru' Fellinger
8
9
  autorequire:
9
10
  bindir: bin
10
11
  cert_chain: []
11
-
12
- date: 2009-05-07 00:00:00 +09:00
13
- default_executable:
12
+ date: 2013-03-22 00:00:00.000000000 Z
14
13
  dependencies: []
15
-
16
14
  description: An extendible and fast templating engine in pure ruby.
17
15
  email: m.fellinger@gmail.com
18
16
  executables: []
19
-
20
17
  extensions: []
21
-
22
18
  extra_rdoc_files: []
23
-
24
- files:
19
+ files:
20
+ - AUTHORS
25
21
  - CHANGELOG
26
22
  - MANIFEST
27
23
  - README.markdown
@@ -63,43 +59,36 @@ files:
63
59
  - spec/nagoro/template.rb
64
60
  - spec/nagoro/template/full.nag
65
61
  - spec/nagoro/template/hello.nag
62
+ - tasks/authors.rake
66
63
  - tasks/bacon.rake
67
64
  - tasks/changelog.rake
68
65
  - tasks/gem.rake
69
- - tasks/gem_installer.rake
70
- - tasks/grancher.rake
71
- - tasks/install_dependencies.rake
72
66
  - tasks/manifest.rake
73
67
  - tasks/rcov.rake
74
68
  - tasks/release.rake
75
69
  - tasks/reversion.rake
76
- has_rdoc: true
77
70
  homepage: http://github.com/manveru/nagoro
78
71
  licenses: []
79
-
80
72
  post_install_message:
81
73
  rdoc_options: []
82
-
83
- require_paths:
74
+ require_paths:
84
75
  - lib
85
- required_ruby_version: !ruby/object:Gem::Requirement
86
- requirements:
87
- - - ">="
88
- - !ruby/object:Gem::Version
89
- version: "0"
90
- version:
91
- required_rubygems_version: !ruby/object:Gem::Requirement
92
- requirements:
93
- - - ">="
94
- - !ruby/object:Gem::Version
95
- version: "0"
96
- version:
76
+ required_ruby_version: !ruby/object:Gem::Requirement
77
+ none: false
78
+ requirements:
79
+ - - ! '>='
80
+ - !ruby/object:Gem::Version
81
+ version: '0'
82
+ required_rubygems_version: !ruby/object:Gem::Requirement
83
+ none: false
84
+ requirements:
85
+ - - ! '>='
86
+ - !ruby/object:Gem::Version
87
+ version: '0'
97
88
  requirements: []
98
-
99
89
  rubyforge_project:
100
- rubygems_version: 1.3.2
90
+ rubygems_version: 1.8.25
101
91
  signing_key:
102
92
  specification_version: 3
103
93
  summary: An extendible and fast templating engine in pure ruby.
104
94
  test_files: []
105
-
@@ -1,76 +0,0 @@
1
- task :gem_installer do
2
- class GemInstaller
3
- def initialize(options = {}, &block)
4
- @gems = []
5
- @options = options
6
-
7
- run(&block)
8
- end
9
-
10
- def run(&block)
11
- instance_eval(&block) if block_given?
12
- end
13
-
14
- def gem(name, version = nil, options = {})
15
- if version.respond_to?(:merge!)
16
- options = version
17
- else
18
- options[:version] = version
19
- end
20
-
21
- @gems << [name, options]
22
- end
23
-
24
- def setup_gemspec(gemspec)
25
- gemspec.dependencies.each do |dependency|
26
- dependency.version_requirements.as_list.each do |version|
27
- gem(dependency.name, version)
28
- end
29
- end
30
-
31
- setup
32
- end
33
-
34
- def setup
35
- require 'rubygems'
36
- require 'rubygems/dependency_installer'
37
-
38
- @gems.each do |name, options|
39
- setup_gem(name, options)
40
- end
41
- end
42
-
43
- def setup_gem(name, options, try_install = true)
44
- print "activating #{name} ... "
45
- Gem.activate(name, *[options[:version]].compact)
46
- require(options[:lib] || name)
47
- puts "success."
48
- rescue LoadError => error
49
- puts error
50
- install_gem(name, options) if try_install
51
- setup_gem(name, options, try_install = false)
52
- end
53
-
54
- def install_gem(name, options)
55
- installer = Gem::DependencyInstaller.new(options)
56
-
57
- temp_argv(options[:extconf]) do
58
- print "Installing #{name} ... "
59
- installer.install(name, options[:version])
60
- puts "done."
61
- end
62
- end
63
-
64
- def temp_argv(extconf)
65
- if extconf ||= @options[:extconf]
66
- old_argv = ARGV.clone
67
- ARGV.replace(extconf.split(' '))
68
- end
69
-
70
- yield
71
-
72
- ensure
73
- ARGV.replace(old_argv) if extconf
74
- end
75
- end
76
- end
@@ -1,12 +0,0 @@
1
- begin
2
- require 'grancher/task'
3
-
4
- Grancher::Task.new do |g|
5
- g.branch = 'gh-pages'
6
- g.push_to = 'origin'
7
- g.message = 'Updated website'
8
- g.directory 'ydoc', 'doc'
9
- end
10
- rescue LoadError
11
- # oh well :)
12
- end