erubis-bmp 2.7.0.bmp

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 (78) hide show
  1. checksums.yaml +7 -0
  2. data/CHANGES.txt +828 -0
  3. data/MIT-LICENSE +20 -0
  4. data/README.txt +10 -0
  5. data/benchmark/bench.rb +313 -0
  6. data/benchmark/bench_context.yaml +141 -0
  7. data/benchmark/mybench2.rb +266 -0
  8. data/benchmark/pibench.rb +163 -0
  9. data/benchmark/templates/_footer.html +4 -0
  10. data/benchmark/templates/_header.html +52 -0
  11. data/benchmark/templates/bench_erb.rhtml +29 -0
  12. data/benchmark/templates/bench_erubis.rhtml +29 -0
  13. data/benchmark/templates/bench_eruby.rhtml +29 -0
  14. data/bin/erubis +10 -0
  15. data/contrib/erubis-run.rb +132 -0
  16. data/doc/Rookbook.yaml +106 -0
  17. data/doc/docstyle.css +209 -0
  18. data/doc/users-guide.html +3551 -0
  19. data/doc/users-guide.txt +3631 -0
  20. data/examples/basic/Makefile +58 -0
  21. data/examples/basic/example.ec +42 -0
  22. data/examples/basic/example.ecpp +33 -0
  23. data/examples/basic/example.ejava +45 -0
  24. data/examples/basic/example.ejs +16 -0
  25. data/examples/basic/example.eperl +16 -0
  26. data/examples/basic/example.ephp +17 -0
  27. data/examples/basic/example.eruby +15 -0
  28. data/examples/basic/example.escheme +26 -0
  29. data/examples/pi-xhtml/ExamplePage.xhtml +80 -0
  30. data/examples/pi-xhtml/Makefile +17 -0
  31. data/examples/pi-xhtml/my/User.java +19 -0
  32. data/examples/pi-xhtml/my/Util.java +54 -0
  33. data/examples/pi/Makefile +54 -0
  34. data/examples/pi/example.ec +42 -0
  35. data/examples/pi/example.ejava +45 -0
  36. data/examples/pi/example.ejs +16 -0
  37. data/examples/pi/example.eperl +16 -0
  38. data/examples/pi/example.ephp +17 -0
  39. data/examples/pi/example.eruby +15 -0
  40. data/examples/pi/example.escheme +26 -0
  41. data/lib/erubis.rb +73 -0
  42. data/lib/erubis/context.rb +83 -0
  43. data/lib/erubis/converter.rb +357 -0
  44. data/lib/erubis/engine.rb +120 -0
  45. data/lib/erubis/engine/ec.rb +117 -0
  46. data/lib/erubis/engine/ecpp.rb +113 -0
  47. data/lib/erubis/engine/ejava.rb +110 -0
  48. data/lib/erubis/engine/ejavascript.rb +119 -0
  49. data/lib/erubis/engine/enhanced.rb +126 -0
  50. data/lib/erubis/engine/eperl.rb +95 -0
  51. data/lib/erubis/engine/ephp.rb +99 -0
  52. data/lib/erubis/engine/eruby.rb +125 -0
  53. data/lib/erubis/engine/escheme.rb +114 -0
  54. data/lib/erubis/engine/optimized.rb +127 -0
  55. data/lib/erubis/enhancer.rb +723 -0
  56. data/lib/erubis/error.rb +23 -0
  57. data/lib/erubis/evaluator.rb +88 -0
  58. data/lib/erubis/generator.rb +85 -0
  59. data/lib/erubis/helper.rb +47 -0
  60. data/lib/erubis/helpers/rails_form_helper.rb +197 -0
  61. data/lib/erubis/helpers/rails_helper.rb +353 -0
  62. data/lib/erubis/local-setting.rb +9 -0
  63. data/lib/erubis/main.rb +516 -0
  64. data/lib/erubis/preprocessing.rb +58 -0
  65. data/lib/erubis/tiny.rb +144 -0
  66. data/lib/erubis/util.rb +22 -0
  67. data/setup.rb +1331 -0
  68. data/test/Rookbook.yaml +42 -0
  69. data/test/assert-text-equal.rb +44 -0
  70. data/test/test-engines.rb +425 -0
  71. data/test/test-enhancers.rb +646 -0
  72. data/test/test-erubis.rb +887 -0
  73. data/test/test-index-cgi.rb +191 -0
  74. data/test/test-main.rb +752 -0
  75. data/test/test-users-guide.rb +73 -0
  76. data/test/test.rb +45 -0
  77. data/test/testutil.rb +111 -0
  78. metadata +121 -0
@@ -0,0 +1,73 @@
1
+ ###
2
+ ### $Release:$
3
+ ### $Copyright$
4
+ ###
5
+
6
+ require "#{File.dirname(__FILE__)}/test.rb"
7
+
8
+
9
+ class KwarkUsersGuideTest < Test::Unit::TestCase
10
+
11
+ DIR = File.expand_path(File.dirname(__FILE__) + '/data/users-guide')
12
+ CWD = Dir.pwd()
13
+
14
+
15
+ def setup
16
+ Dir.chdir DIR
17
+ end
18
+
19
+
20
+ def teardown
21
+ Dir.chdir CWD
22
+ end
23
+
24
+
25
+ def _test
26
+ @name = (caller()[0] =~ /`(.*?)'/) && $1
27
+ s = File.read(@filename)
28
+ s =~ /\A\$ (.*?)\n/
29
+ command = $1
30
+ expected = $'
31
+ if ruby19?
32
+ case @name
33
+ when 'test_main_program1_result'
34
+ expected.sub!('["eruby", "items", "x", "_buf"]', '[:_buf, :eruby, :items, :x]')
35
+ when 'test_main_program2_result'
36
+ expected.sub!('["_context", "x", "_buf"]', '[:_buf, :x, :_context]')
37
+ end
38
+ elsif rubinius?
39
+ command.sub!(/^ruby\b/, 'rbx')
40
+ case @name
41
+ when 'test_main_program1_result'
42
+ expected.sub!('["eruby", "items", "x", "_buf"]', '["_buf", "eruby", "items", "x"]')
43
+ when 'test_main_program2_result'
44
+ expected.sub!('["_context", "x", "_buf"]', '["_buf", "x", "_context"]')
45
+ end
46
+ end
47
+ result = `#{command}`
48
+ assert_text_equal(expected, result)
49
+ end
50
+
51
+
52
+ Dir.chdir DIR do
53
+ filenames = []
54
+ filenames += Dir.glob('*.result')
55
+ filenames += Dir.glob('*.source')
56
+ filenames.each do |filename|
57
+ name = filename.gsub(/[^\w]/, '_')
58
+ s = <<-END
59
+ def test_#{name}
60
+ # $stderr.puts "*** debug: test_#{name}"
61
+ @name = '#{name}'
62
+ @filename = '#{filename}'
63
+ _test()
64
+ end
65
+ END
66
+ eval s
67
+ end
68
+ end
69
+
70
+
71
+ self.post_definition()
72
+
73
+ end
@@ -0,0 +1,45 @@
1
+ ##
2
+ ## $Release:$
3
+ ## $Copyright$
4
+ ##
5
+
6
+
7
+ unless defined?(TESTDIR)
8
+ TESTDIR = File.dirname(__FILE__)
9
+ LIBDIR = TESTDIR == '.' ? '../lib' : File.dirname(TESTDIR) + '/lib'
10
+ $: << TESTDIR
11
+ $: << LIBDIR
12
+ end
13
+
14
+
15
+ require 'test/unit'
16
+ #require 'test/unit/ui/console/testrunner'
17
+ require 'assert-text-equal'
18
+ require 'yaml'
19
+ require 'testutil'
20
+ require 'erubis'
21
+
22
+
23
+ Test::Unit::TestCase.class_eval do
24
+ if RUBY_VERSION >= "1.9"
25
+ ## minitest doesn't have 'name()' method
26
+ def name
27
+ @name || @__name__
28
+ end
29
+ def ruby19
30
+ yield
31
+ end
32
+ else
33
+ def ruby19
34
+ end
35
+ end
36
+ end
37
+
38
+
39
+ if $0 == __FILE__
40
+ require "#{TESTDIR}/test-erubis.rb"
41
+ require "#{TESTDIR}/test-engines.rb"
42
+ require "#{TESTDIR}/test-enhancers.rb"
43
+ require "#{TESTDIR}/test-main.rb"
44
+ require "#{TESTDIR}/test-users-guide.rb"
45
+ end
@@ -0,0 +1,111 @@
1
+ ###
2
+ ### $Release:$
3
+ ### $Copyright$
4
+ ###
5
+
6
+ require 'yaml'
7
+
8
+ require 'test/unit/testcase'
9
+
10
+
11
+
12
+ def ruby18? # :nodoc:
13
+ RUBY_VERSION =~ /\A1.8/
14
+ end
15
+
16
+ def ruby19? # :nodoc:
17
+ RUBY_VERSION =~ /\A1.9/
18
+ end
19
+
20
+ def rubinius? # :nodoc:
21
+ defined?(RUBY_ENGINE) && RUBY_ENGINE == "rbx"
22
+ end
23
+
24
+
25
+
26
+ class Test::Unit::TestCase
27
+
28
+
29
+ def self.load_yaml_datafile(filename, options={}, &block) # :nodoc:
30
+ # read datafile
31
+ s = File.read(filename)
32
+ if filename =~ /\.rb$/
33
+ s =~ /^__END__$/ or raise "*** error: __END__ is not found in '#{filename}'."
34
+ s = $'
35
+ end
36
+ # untabify
37
+ s = _untabify(s) unless options[:tabify] == false
38
+ # load yaml document
39
+ testdata_list = []
40
+ YAML.load_documents(s) do |ydoc|
41
+ if ydoc.is_a?(Hash)
42
+ testdata_list << ydoc
43
+ elsif ydoc.is_a?(Array)
44
+ ydoc.each do |hash|
45
+ raise "testdata should be a mapping." unless hash.is_a?(Hash)
46
+ testdata_list << hash
47
+ end
48
+ else
49
+ raise "testdata should be a mapping."
50
+ end
51
+ end
52
+ # data check
53
+ identkey = options[:identkey] || 'name'
54
+ table = {}
55
+ testdata_list.each do |hash|
56
+ ident = hash[identkey]
57
+ ident or raise "*** key '#{identkey}' is required but not found."
58
+ table[ident] and raise "*** #{identkey} '#{ident}' is duplicated."
59
+ table[ident] = hash
60
+ yield(hash) if block
61
+ end
62
+ #
63
+ return testdata_list
64
+ end
65
+
66
+
67
+ def self.define_testmethods(testdata_list, options={}, &block)
68
+ identkey = options[:identkey] || 'name'
69
+ testmethod = options[:testmethod] || '_test'
70
+ testdata_list.each do |hash|
71
+ yield(hash) if block
72
+ ident = hash[identkey]
73
+ s = "def test_#{ident}\n"
74
+ hash.each do |key, val|
75
+ s << " @#{key} = #{val.inspect}\n"
76
+ end
77
+ s << " #{testmethod}\n"
78
+ s << "end\n"
79
+ $stderr.puts "*** load_yaml_testdata(): eval_str=<<'END'\n#{s}END" if $DEBUG
80
+ self.module_eval s
81
+ end
82
+ end
83
+
84
+
85
+ def self.post_definition
86
+ if ENV['TEST']
87
+ target = "test_#{ENV['TEST']}"
88
+ self.instance_methods.each do |method_name|
89
+ m = method_name.to_s
90
+ private m if m =~ /\Atest_/ && m != target
91
+ end
92
+ end
93
+ end
94
+
95
+
96
+ def self._untabify(str, width=8)
97
+ return str if str.nil?
98
+ list = str.split(/\t/, -1) # if 2nd arg is negative then split() doesn't remove tailing empty strings
99
+ last = list.pop
100
+ sb = ''
101
+ list.each do |s|
102
+ column = (n = s.rindex(?\n)) ? s.length - n - 1 : s.length
103
+ n = width - (column % width)
104
+ sb << s << (' ' * n)
105
+ end
106
+ sb << last if last
107
+ return sb
108
+ end
109
+
110
+
111
+ end
metadata ADDED
@@ -0,0 +1,121 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: erubis-bmp
3
+ version: !ruby/object:Gem::Version
4
+ version: 2.7.0.bmp
5
+ platform: ruby
6
+ authors:
7
+ - makoto kuwata
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+ date: 2016-01-14 00:00:00.000000000 Z
12
+ dependencies: []
13
+ description: |2
14
+ This is a fork of erubis used by Brakeman Pro.
15
+ email: kwa(at)kuwata-lab.com
16
+ executables:
17
+ - erubis
18
+ extensions: []
19
+ extra_rdoc_files: []
20
+ files:
21
+ - CHANGES.txt
22
+ - MIT-LICENSE
23
+ - README.txt
24
+ - benchmark/bench.rb
25
+ - benchmark/bench_context.yaml
26
+ - benchmark/mybench2.rb
27
+ - benchmark/pibench.rb
28
+ - benchmark/templates/_footer.html
29
+ - benchmark/templates/_header.html
30
+ - benchmark/templates/bench_erb.rhtml
31
+ - benchmark/templates/bench_erubis.rhtml
32
+ - benchmark/templates/bench_eruby.rhtml
33
+ - bin/erubis
34
+ - contrib/erubis-run.rb
35
+ - doc/Rookbook.yaml
36
+ - doc/docstyle.css
37
+ - doc/users-guide.html
38
+ - doc/users-guide.txt
39
+ - examples/basic/Makefile
40
+ - examples/basic/example.ec
41
+ - examples/basic/example.ecpp
42
+ - examples/basic/example.ejava
43
+ - examples/basic/example.ejs
44
+ - examples/basic/example.eperl
45
+ - examples/basic/example.ephp
46
+ - examples/basic/example.eruby
47
+ - examples/basic/example.escheme
48
+ - examples/pi-xhtml/ExamplePage.xhtml
49
+ - examples/pi-xhtml/Makefile
50
+ - examples/pi-xhtml/my/User.java
51
+ - examples/pi-xhtml/my/Util.java
52
+ - examples/pi/Makefile
53
+ - examples/pi/example.ec
54
+ - examples/pi/example.ejava
55
+ - examples/pi/example.ejs
56
+ - examples/pi/example.eperl
57
+ - examples/pi/example.ephp
58
+ - examples/pi/example.eruby
59
+ - examples/pi/example.escheme
60
+ - lib/erubis.rb
61
+ - lib/erubis/context.rb
62
+ - lib/erubis/converter.rb
63
+ - lib/erubis/engine.rb
64
+ - lib/erubis/engine/ec.rb
65
+ - lib/erubis/engine/ecpp.rb
66
+ - lib/erubis/engine/ejava.rb
67
+ - lib/erubis/engine/ejavascript.rb
68
+ - lib/erubis/engine/enhanced.rb
69
+ - lib/erubis/engine/eperl.rb
70
+ - lib/erubis/engine/ephp.rb
71
+ - lib/erubis/engine/eruby.rb
72
+ - lib/erubis/engine/escheme.rb
73
+ - lib/erubis/engine/optimized.rb
74
+ - lib/erubis/enhancer.rb
75
+ - lib/erubis/error.rb
76
+ - lib/erubis/evaluator.rb
77
+ - lib/erubis/generator.rb
78
+ - lib/erubis/helper.rb
79
+ - lib/erubis/helpers/rails_form_helper.rb
80
+ - lib/erubis/helpers/rails_helper.rb
81
+ - lib/erubis/local-setting.rb
82
+ - lib/erubis/main.rb
83
+ - lib/erubis/preprocessing.rb
84
+ - lib/erubis/tiny.rb
85
+ - lib/erubis/util.rb
86
+ - setup.rb
87
+ - test/Rookbook.yaml
88
+ - test/assert-text-equal.rb
89
+ - test/test-engines.rb
90
+ - test/test-enhancers.rb
91
+ - test/test-erubis.rb
92
+ - test/test-index-cgi.rb
93
+ - test/test-main.rb
94
+ - test/test-users-guide.rb
95
+ - test/test.rb
96
+ - test/testutil.rb
97
+ homepage: https://github.com/BrakemanSecurityInc/erubis
98
+ licenses: []
99
+ metadata: {}
100
+ post_install_message:
101
+ rdoc_options: []
102
+ require_paths:
103
+ - lib
104
+ required_ruby_version: !ruby/object:Gem::Requirement
105
+ requirements:
106
+ - - ">="
107
+ - !ruby/object:Gem::Version
108
+ version: '0'
109
+ required_rubygems_version: !ruby/object:Gem::Requirement
110
+ requirements:
111
+ - - ">"
112
+ - !ruby/object:Gem::Version
113
+ version: 1.3.1
114
+ requirements: []
115
+ rubyforge_project: erubis
116
+ rubygems_version: 2.4.8
117
+ signing_key:
118
+ specification_version: 4
119
+ summary: a fast and extensible eRuby implementation which supports multi-language
120
+ test_files:
121
+ - test/test.rb