twowaysql 0.2.0

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.
Files changed (39) hide show
  1. data/History.txt +3 -0
  2. data/License.txt +13 -0
  3. data/Manifest.txt +38 -0
  4. data/README.txt +382 -0
  5. data/Rakefile +4 -0
  6. data/config/hoe.rb +73 -0
  7. data/config/requirements.rb +15 -0
  8. data/issues/issue-25efcfc383f3b0f6c0e2730ae7c2975bb2b3de26.yaml +18 -0
  9. data/issues/issue-39023ea09e17e2d64bcef03aa59cdfe38b78ad5b.yaml +26 -0
  10. data/issues/issue-4bc308d55ae91f266e656162a4147d356de1166c.yaml +24 -0
  11. data/issues/issue-897995fa10377eabdf597e8e7692f17087c76923.yaml +26 -0
  12. data/issues/issue-bd38c1cdc965d73dd629a81db2de1bcdcf4b10b8.yaml +26 -0
  13. data/issues/issue-f2b773020b54f839c03d899b38b5113c8fd991df.yaml +18 -0
  14. data/issues/issue-f39b907d01d7fa93df8c7a9de2e1b5e27727ee0a.yaml +18 -0
  15. data/issues/issue-f64d73ed4f9854f1ded77e6496dbf59cfb3770a7.yaml +18 -0
  16. data/issues/project.yaml +16 -0
  17. data/lib/twowaysql/node.rb +239 -0
  18. data/lib/twowaysql/parser.rb +489 -0
  19. data/lib/twowaysql/parser.y +226 -0
  20. data/lib/twowaysql/template.rb +75 -0
  21. data/lib/twowaysql/version.rb +9 -0
  22. data/lib/twowaysql.rb +6 -0
  23. data/script/console +10 -0
  24. data/script/destroy +14 -0
  25. data/script/generate +14 -0
  26. data/script/txt2html +82 -0
  27. data/setup.rb +1585 -0
  28. data/spec/large_sql_spec.rb +142 -0
  29. data/spec/learning_regex_spec.rb +234 -0
  30. data/spec/spec.opts +0 -0
  31. data/spec/spec_helper.rb +10 -0
  32. data/spec/twowaysql_spec.rb +736 -0
  33. data/tasks/deployment.rake +53 -0
  34. data/tasks/ditz.rake +8 -0
  35. data/tasks/environment.rake +7 -0
  36. data/tasks/racc.rake +23 -0
  37. data/tasks/rspec.rake +21 -0
  38. data/tasks/website.rake +17 -0
  39. metadata +104 -0
@@ -0,0 +1,53 @@
1
+ desc 'Release the website and new gem version'
2
+ task :deploy => [:check_version, :website, :release] do
3
+ puts "Remember to create SVN tag:"
4
+ puts "svn copy svn+ssh://#{rubyforge_username}@rubyforge.org/var/svn/#{PATH}/trunk " +
5
+ "svn+ssh://#{rubyforge_username}@rubyforge.org/var/svn/#{PATH}/tags/REL-#{VERS} "
6
+ puts "Suggested comment:"
7
+ puts "Tagging release #{CHANGES}"
8
+ end
9
+
10
+ desc 'Runs tasks website_generate and install_gem as a local deployment of the gem'
11
+ task :local_deploy => [:website_generate, :install_gem]
12
+
13
+ task :check_version do
14
+ unless ENV['VERSION']
15
+ puts 'Must pass a VERSION=x.y.z release version'
16
+ exit
17
+ end
18
+ unless ENV['VERSION'] == VERS
19
+ puts "Please update your version.rb to match the release version, currently #{VERS}"
20
+ exit
21
+ end
22
+ end
23
+
24
+ desc 'Install the package as a gem, without generating documentation(ri/rdoc)'
25
+ task :install_gem_no_doc => [:clean, :package] do
26
+ sh "#{'sudo ' unless Hoe::WINDOZE }gem install pkg/*.gem --no-rdoc --no-ri"
27
+ end
28
+
29
+ namespace :manifest do
30
+ desc 'Recreate Manifest.txt to include ALL files'
31
+ task :refresh do
32
+ #`rake check_manifest | patch -p0 > Manifest.txt`
33
+
34
+ # this task is inspired by http://d.hatena.ne.jp/bellbind/20070605/1180979599
35
+ glob_pattern = File.join("**", "*")
36
+ exclude_patterns = [
37
+ /^pkg/,
38
+ /^doc/,
39
+ /^website/,
40
+ /^\.git/,
41
+ ]
42
+
43
+ files = Dir.glob(glob_pattern).delete_if do |fname|
44
+ File.directory?(fname) or
45
+ exclude_patterns.find do |pattern|
46
+ pattern =~ fname
47
+ end
48
+ end
49
+ manifest = File.new("Manifest.txt", "w")
50
+ manifest.puts files.sort.join("\n")
51
+ manifest.close
52
+ end
53
+ end
data/tasks/ditz.rake ADDED
@@ -0,0 +1,8 @@
1
+ namespace :ditz do
2
+
3
+ desc 'generate html report'
4
+ task :html do
5
+ `ditz -i issues html website/issues`
6
+ end
7
+
8
+ end
@@ -0,0 +1,7 @@
1
+ task :ruby_env do
2
+ RUBY_APP = if RUBY_PLATFORM =~ /java/
3
+ "jruby"
4
+ else
5
+ "ruby"
6
+ end unless defined? RUBY_APP
7
+ end
data/tasks/racc.rake ADDED
@@ -0,0 +1,23 @@
1
+ namespace :racc do
2
+ desc 'Regenerate parser'
3
+ task :gen do
4
+ `racc -o lib/twowaysql/parser.rb lib/twowaysql/parser.y`
5
+ end
6
+
7
+ desc 'Debug parser'
8
+ task :debug do
9
+ `racc -v -o lib/twowaysql/parser.rb -g lib/twowaysql/parser.y`
10
+
11
+ $:.unshift(File.dirname(__FILE__) + '/../lib')
12
+ require 'twowaysql'
13
+ template = TwoWaySQL::Template.parse($stdin, :debug => true, :preserve_space => true)
14
+ template.merge({})
15
+
16
+ `racc -o lib/twowaysql/parser.rb lib/twowaysql/parser.y`
17
+ end
18
+
19
+ desc 'Output tab file'
20
+ task :tab do
21
+ `racc -v -o lib/twowaysql/parser.rb -g lib/twowaysql/parser.y`
22
+ end
23
+ end
data/tasks/rspec.rake ADDED
@@ -0,0 +1,21 @@
1
+ begin
2
+ require 'spec'
3
+ rescue LoadError
4
+ require 'rubygems'
5
+ require 'spec'
6
+ end
7
+ begin
8
+ require 'spec/rake/spectask'
9
+ rescue LoadError
10
+ puts <<-EOS
11
+ To use rspec for testing you must install rspec gem:
12
+ gem install rspec
13
+ EOS
14
+ exit(0)
15
+ end
16
+
17
+ desc "Run the specs under spec/models"
18
+ Spec::Rake::SpecTask.new do |t|
19
+ t.spec_opts = ['--options', "spec/spec.opts"]
20
+ t.spec_files = FileList['spec/**/*_spec.rb']
21
+ end
@@ -0,0 +1,17 @@
1
+ desc 'Generate website files'
2
+ task :website_generate => :ruby_env do
3
+ (Dir['website/**/*.txt'] - Dir['website/version*.txt']).each do |txt|
4
+ sh %{ #{RUBY_APP} script/txt2html #{txt} > #{txt.gsub(/txt$/,'html')} }
5
+ end
6
+ end
7
+
8
+ desc 'Upload website files to rubyforge'
9
+ task :website_upload do
10
+ host = "#{rubyforge_username}@rubyforge.org"
11
+ remote_dir = "/var/www/gforge-projects/#{PATH}/"
12
+ local_dir = 'website'
13
+ sh %{rsync -aCv #{local_dir}/ #{host}:#{remote_dir}}
14
+ end
15
+
16
+ desc 'Generate and upload website files'
17
+ task :website => [:website_generate, :website_upload, :publish_docs]
metadata ADDED
@@ -0,0 +1,104 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: twowaysql
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.2.0
5
+ platform: ruby
6
+ authors:
7
+ - Takuto Wada
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+
12
+ date: 2008-09-05 00:00:00 +09:00
13
+ default_executable:
14
+ dependencies:
15
+ - !ruby/object:Gem::Dependency
16
+ name: hoe
17
+ type: :development
18
+ version_requirement:
19
+ version_requirements: !ruby/object:Gem::Requirement
20
+ requirements:
21
+ - - ">="
22
+ - !ruby/object:Gem::Version
23
+ version: 1.7.0
24
+ version:
25
+ description: Template Engine for SQL
26
+ email:
27
+ - takuto.wada at gmail dot com
28
+ executables: []
29
+
30
+ extensions: []
31
+
32
+ extra_rdoc_files:
33
+ - History.txt
34
+ - License.txt
35
+ - Manifest.txt
36
+ - README.txt
37
+ files:
38
+ - History.txt
39
+ - License.txt
40
+ - Manifest.txt
41
+ - README.txt
42
+ - Rakefile
43
+ - config/hoe.rb
44
+ - config/requirements.rb
45
+ - issues/issue-25efcfc383f3b0f6c0e2730ae7c2975bb2b3de26.yaml
46
+ - issues/issue-39023ea09e17e2d64bcef03aa59cdfe38b78ad5b.yaml
47
+ - issues/issue-4bc308d55ae91f266e656162a4147d356de1166c.yaml
48
+ - issues/issue-897995fa10377eabdf597e8e7692f17087c76923.yaml
49
+ - issues/issue-bd38c1cdc965d73dd629a81db2de1bcdcf4b10b8.yaml
50
+ - issues/issue-f2b773020b54f839c03d899b38b5113c8fd991df.yaml
51
+ - issues/issue-f39b907d01d7fa93df8c7a9de2e1b5e27727ee0a.yaml
52
+ - issues/issue-f64d73ed4f9854f1ded77e6496dbf59cfb3770a7.yaml
53
+ - issues/project.yaml
54
+ - lib/twowaysql.rb
55
+ - lib/twowaysql/node.rb
56
+ - lib/twowaysql/parser.rb
57
+ - lib/twowaysql/parser.y
58
+ - lib/twowaysql/template.rb
59
+ - lib/twowaysql/version.rb
60
+ - script/console
61
+ - script/destroy
62
+ - script/generate
63
+ - script/txt2html
64
+ - setup.rb
65
+ - spec/large_sql_spec.rb
66
+ - spec/learning_regex_spec.rb
67
+ - spec/spec.opts
68
+ - spec/spec_helper.rb
69
+ - spec/twowaysql_spec.rb
70
+ - tasks/deployment.rake
71
+ - tasks/ditz.rake
72
+ - tasks/environment.rake
73
+ - tasks/racc.rake
74
+ - tasks/rspec.rake
75
+ - tasks/website.rake
76
+ has_rdoc: true
77
+ homepage: http://twowaysql.rubyforge.org
78
+ post_install_message: ""
79
+ rdoc_options:
80
+ - --main
81
+ - README.txt
82
+ require_paths:
83
+ - lib
84
+ required_ruby_version: !ruby/object:Gem::Requirement
85
+ requirements:
86
+ - - ">="
87
+ - !ruby/object:Gem::Version
88
+ version: "0"
89
+ version:
90
+ required_rubygems_version: !ruby/object:Gem::Requirement
91
+ requirements:
92
+ - - ">="
93
+ - !ruby/object:Gem::Version
94
+ version: "0"
95
+ version:
96
+ requirements: []
97
+
98
+ rubyforge_project: twowaysql
99
+ rubygems_version: 1.2.0
100
+ signing_key:
101
+ specification_version: 2
102
+ summary: Template Engine for SQL
103
+ test_files: []
104
+