nagoro 2009.05
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/CHANGELOG +446 -0
- data/MANIFEST +51 -0
- data/README.markdown +189 -0
- data/Rakefile +29 -0
- data/bin/nagoro +83 -0
- data/doc/COPYING +56 -0
- data/doc/GPL +340 -0
- data/doc/LEGAL +2 -0
- data/example/element/Html.nage +8 -0
- data/example/hello.nag +3 -0
- data/example/morpher.nag +23 -0
- data/lib/nagoro.rb +22 -0
- data/lib/nagoro/binding.rb +8 -0
- data/lib/nagoro/element.rb +46 -0
- data/lib/nagoro/pipe.rb +12 -0
- data/lib/nagoro/pipe/base.rb +56 -0
- data/lib/nagoro/pipe/compile.rb +30 -0
- data/lib/nagoro/pipe/element.rb +70 -0
- data/lib/nagoro/pipe/include.rb +36 -0
- data/lib/nagoro/pipe/instruction.rb +64 -0
- data/lib/nagoro/pipe/localization.rb +60 -0
- data/lib/nagoro/pipe/morph.rb +95 -0
- data/lib/nagoro/pipe/tidy.rb +49 -0
- data/lib/nagoro/scanner.rb +97 -0
- data/lib/nagoro/template.rb +89 -0
- data/lib/nagoro/tidy.rb +49 -0
- data/lib/nagoro/version.rb +3 -0
- data/nagoro.gemspec +28 -0
- data/spec/core_extensions.rb +33 -0
- data/spec/example/hello.rb +13 -0
- data/spec/helper.rb +19 -0
- data/spec/nagoro/listener/base.rb +19 -0
- data/spec/nagoro/pipe/compile.rb +31 -0
- data/spec/nagoro/pipe/element.rb +46 -0
- data/spec/nagoro/pipe/include.rb +17 -0
- data/spec/nagoro/pipe/instruction.rb +32 -0
- data/spec/nagoro/pipe/morph.rb +47 -0
- data/spec/nagoro/pipe/tidy.rb +23 -0
- data/spec/nagoro/template.rb +105 -0
- data/spec/nagoro/template/full.nag +26 -0
- data/spec/nagoro/template/hello.nag +1 -0
- data/tasks/bacon.rake +49 -0
- data/tasks/changelog.rake +18 -0
- data/tasks/gem.rake +22 -0
- data/tasks/gem_installer.rake +76 -0
- data/tasks/grancher.rake +12 -0
- data/tasks/install_dependencies.rake +6 -0
- data/tasks/manifest.rake +4 -0
- data/tasks/rcov.rake +19 -0
- data/tasks/release.rake +52 -0
- data/tasks/reversion.rake +8 -0
- metadata +105 -0
@@ -0,0 +1,18 @@
|
|
1
|
+
desc 'update changelog'
|
2
|
+
task :changelog do
|
3
|
+
File.open('CHANGELOG', 'w+') do |changelog|
|
4
|
+
`git log -z --abbrev-commit`.split("\0").each do |commit|
|
5
|
+
next if commit =~ /^Merge: \d*/
|
6
|
+
ref, author, time, _, title, _, message = commit.split("\n", 7)
|
7
|
+
ref = ref[/commit ([0-9a-f]+)/, 1]
|
8
|
+
author = author[/Author: (.*)/, 1].strip
|
9
|
+
time = Time.parse(time[/Date: (.*)/, 1]).utc
|
10
|
+
title.strip!
|
11
|
+
|
12
|
+
changelog.puts "[#{ref} | #{time}] #{author}"
|
13
|
+
changelog.puts '', " * #{title}"
|
14
|
+
changelog.puts '', message.rstrip if message
|
15
|
+
changelog.puts
|
16
|
+
end
|
17
|
+
end
|
18
|
+
end
|
data/tasks/gem.rake
ADDED
@@ -0,0 +1,22 @@
|
|
1
|
+
require 'rake/gempackagetask'
|
2
|
+
|
3
|
+
task :gemspec => [:manifest, :changelog] do
|
4
|
+
gemspec_file = "#{GEMSPEC.name}.gemspec"
|
5
|
+
File.open(gemspec_file, 'w+'){|gs| gs.puts(GEMSPEC.to_ruby) }
|
6
|
+
end
|
7
|
+
|
8
|
+
desc "package and install from gemspec"
|
9
|
+
task :install => [:gemspec] do
|
10
|
+
sh "gem build #{GEMSPEC.name}.gemspec"
|
11
|
+
sh "gem install #{GEMSPEC.name}-#{GEMSPEC.version}.gem"
|
12
|
+
end
|
13
|
+
|
14
|
+
desc "uninstall the gem"
|
15
|
+
task :uninstall => [:clean] do
|
16
|
+
sh %{gem uninstall -x #{GEMSPEC.name}}
|
17
|
+
end
|
18
|
+
|
19
|
+
Rake::GemPackageTask.new(GEMSPEC) do |p|
|
20
|
+
p.need_tar = true
|
21
|
+
p.need_zip = true
|
22
|
+
end
|
@@ -0,0 +1,76 @@
|
|
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
|
data/tasks/grancher.rake
ADDED
data/tasks/manifest.rake
ADDED
data/tasks/rcov.rake
ADDED
@@ -0,0 +1,19 @@
|
|
1
|
+
desc 'code coverage'
|
2
|
+
task :rcov => :clean do
|
3
|
+
specs = Dir['spec/innate/**/*.rb']
|
4
|
+
specs -= Dir['spec/innate/cache/common.rb']
|
5
|
+
|
6
|
+
# we ignore adapter as this has extensive specs in rack already.
|
7
|
+
ignore = %w[ gem rack bacon innate/adapter\.rb ]
|
8
|
+
ignore << 'fiber\.rb' if RUBY_VERSION < '1.9'
|
9
|
+
|
10
|
+
ignored = ignore.join(',')
|
11
|
+
|
12
|
+
cmd = "rcov --aggregate coverage.data --sort coverage -t --%s -x '#{ignored}' %s"
|
13
|
+
|
14
|
+
while spec = specs.shift
|
15
|
+
puts '', "Gather coverage for #{spec} ..."
|
16
|
+
html = specs.empty? ? 'html' : 'no-html'
|
17
|
+
sh(cmd % [html, spec])
|
18
|
+
end
|
19
|
+
end
|
data/tasks/release.rake
ADDED
@@ -0,0 +1,52 @@
|
|
1
|
+
namespace :release do
|
2
|
+
task :all => [:release_github, :release_rubyforge]
|
3
|
+
|
4
|
+
desc 'Display instructions to release on github'
|
5
|
+
task :github => [:reversion, :gemspec] do
|
6
|
+
name, version = GEMSPEC.name, GEMSPEC.version
|
7
|
+
|
8
|
+
puts <<INSTRUCTIONS
|
9
|
+
First add the relevant files:
|
10
|
+
|
11
|
+
git add MANIFEST CHANGELOG #{name}.gemspec lib/#{name}/version.rb
|
12
|
+
|
13
|
+
Then commit them, tag the commit, and push:
|
14
|
+
|
15
|
+
git commit -m 'Version #{version}'
|
16
|
+
git tag -a -m '#{version}' '#{version}'
|
17
|
+
git push
|
18
|
+
|
19
|
+
INSTRUCTIONS
|
20
|
+
|
21
|
+
end
|
22
|
+
|
23
|
+
# TODO: Not tested
|
24
|
+
desc 'Display instructions to release on rubyforge'
|
25
|
+
task :rubyforge => [:reversion, :gemspec, :package] do
|
26
|
+
name, version = GEMSPEC.name, GEMSPEC.version
|
27
|
+
|
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
|
37
|
+
|
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:", ""
|
45
|
+
|
46
|
+
Dir["pkg/#{name}-#{version}.{tgz,zip}"].each do |file|
|
47
|
+
puts "rubyforge add_file #{name} #{name} '#{version}' '#{file}'"
|
48
|
+
end
|
49
|
+
|
50
|
+
puts
|
51
|
+
end
|
52
|
+
end
|
metadata
ADDED
@@ -0,0 +1,105 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: nagoro
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: "2009.05"
|
5
|
+
platform: ruby
|
6
|
+
authors:
|
7
|
+
- Michael 'manveru' Fellinger
|
8
|
+
autorequire:
|
9
|
+
bindir: bin
|
10
|
+
cert_chain: []
|
11
|
+
|
12
|
+
date: 2009-05-07 00:00:00 +09:00
|
13
|
+
default_executable:
|
14
|
+
dependencies: []
|
15
|
+
|
16
|
+
description: An extendible and fast templating engine in pure ruby.
|
17
|
+
email: m.fellinger@gmail.com
|
18
|
+
executables: []
|
19
|
+
|
20
|
+
extensions: []
|
21
|
+
|
22
|
+
extra_rdoc_files: []
|
23
|
+
|
24
|
+
files:
|
25
|
+
- CHANGELOG
|
26
|
+
- MANIFEST
|
27
|
+
- README.markdown
|
28
|
+
- Rakefile
|
29
|
+
- bin/nagoro
|
30
|
+
- doc/COPYING
|
31
|
+
- doc/GPL
|
32
|
+
- doc/LEGAL
|
33
|
+
- example/element/Html.nage
|
34
|
+
- example/hello.nag
|
35
|
+
- example/morpher.nag
|
36
|
+
- lib/nagoro.rb
|
37
|
+
- lib/nagoro/binding.rb
|
38
|
+
- lib/nagoro/element.rb
|
39
|
+
- lib/nagoro/pipe.rb
|
40
|
+
- lib/nagoro/pipe/base.rb
|
41
|
+
- lib/nagoro/pipe/compile.rb
|
42
|
+
- lib/nagoro/pipe/element.rb
|
43
|
+
- lib/nagoro/pipe/include.rb
|
44
|
+
- lib/nagoro/pipe/instruction.rb
|
45
|
+
- lib/nagoro/pipe/localization.rb
|
46
|
+
- lib/nagoro/pipe/morph.rb
|
47
|
+
- lib/nagoro/pipe/tidy.rb
|
48
|
+
- lib/nagoro/scanner.rb
|
49
|
+
- lib/nagoro/template.rb
|
50
|
+
- lib/nagoro/tidy.rb
|
51
|
+
- lib/nagoro/version.rb
|
52
|
+
- nagoro.gemspec
|
53
|
+
- spec/core_extensions.rb
|
54
|
+
- spec/example/hello.rb
|
55
|
+
- spec/helper.rb
|
56
|
+
- spec/nagoro/listener/base.rb
|
57
|
+
- spec/nagoro/pipe/compile.rb
|
58
|
+
- spec/nagoro/pipe/element.rb
|
59
|
+
- spec/nagoro/pipe/include.rb
|
60
|
+
- spec/nagoro/pipe/instruction.rb
|
61
|
+
- spec/nagoro/pipe/morph.rb
|
62
|
+
- spec/nagoro/pipe/tidy.rb
|
63
|
+
- spec/nagoro/template.rb
|
64
|
+
- spec/nagoro/template/full.nag
|
65
|
+
- spec/nagoro/template/hello.nag
|
66
|
+
- tasks/bacon.rake
|
67
|
+
- tasks/changelog.rake
|
68
|
+
- tasks/gem.rake
|
69
|
+
- tasks/gem_installer.rake
|
70
|
+
- tasks/grancher.rake
|
71
|
+
- tasks/install_dependencies.rake
|
72
|
+
- tasks/manifest.rake
|
73
|
+
- tasks/rcov.rake
|
74
|
+
- tasks/release.rake
|
75
|
+
- tasks/reversion.rake
|
76
|
+
has_rdoc: true
|
77
|
+
homepage: http://github.com/manveru/nagoro
|
78
|
+
licenses: []
|
79
|
+
|
80
|
+
post_install_message:
|
81
|
+
rdoc_options: []
|
82
|
+
|
83
|
+
require_paths:
|
84
|
+
- 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:
|
97
|
+
requirements: []
|
98
|
+
|
99
|
+
rubyforge_project:
|
100
|
+
rubygems_version: 1.3.2
|
101
|
+
signing_key:
|
102
|
+
specification_version: 3
|
103
|
+
summary: An extendible and fast templating engine in pure ruby.
|
104
|
+
test_files: []
|
105
|
+
|