trenni 3.7.1 → 3.12.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (104) hide show
  1. checksums.yaml +4 -4
  2. data/bake/trenni/entities.rb +57 -0
  3. data/bake/trenni/parsers.rb +66 -0
  4. data/ext/Rakefile +1 -0
  5. data/ext/tmp/x86_64-linux/lib/trenni/trenni.so +0 -0
  6. data/ext/tmp/x86_64-linux/trenni/2.4.0/Makefile +263 -0
  7. data/ext/tmp/x86_64-linux/trenni/2.4.0/escape.o +0 -0
  8. data/ext/tmp/x86_64-linux/trenni/2.4.0/markup.o +0 -0
  9. data/ext/tmp/x86_64-linux/trenni/2.4.0/mkmf.log +108 -0
  10. data/ext/tmp/x86_64-linux/trenni/2.4.0/tag.o +0 -0
  11. data/ext/tmp/x86_64-linux/trenni/2.4.0/template.o +0 -0
  12. data/ext/tmp/x86_64-linux/trenni/2.4.0/trenni.o +0 -0
  13. data/ext/tmp/x86_64-linux/trenni/2.4.0/trenni.so +0 -0
  14. data/ext/tmp/x86_64-linux/trenni/2.7.0/Makefile +266 -0
  15. data/ext/tmp/x86_64-linux/trenni/2.7.0/escape.o +0 -0
  16. data/ext/tmp/x86_64-linux/trenni/2.7.0/markup.o +0 -0
  17. data/ext/tmp/x86_64-linux/trenni/2.7.0/mkmf.log +113 -0
  18. data/ext/tmp/x86_64-linux/trenni/2.7.0/query.o +0 -0
  19. data/ext/tmp/x86_64-linux/trenni/2.7.0/tag.o +0 -0
  20. data/ext/tmp/x86_64-linux/trenni/2.7.0/template.o +0 -0
  21. data/ext/tmp/x86_64-linux/trenni/2.7.0/trenni.o +0 -0
  22. data/ext/tmp/x86_64-linux/trenni/2.7.0/trenni.so +0 -0
  23. data/ext/tmp/x86_64-linux/trenni/2.7.1/Makefile +266 -0
  24. data/ext/tmp/x86_64-linux/trenni/2.7.1/escape.o +0 -0
  25. data/ext/tmp/x86_64-linux/trenni/2.7.1/markup.o +0 -0
  26. data/ext/tmp/x86_64-linux/trenni/2.7.1/mkmf.log +113 -0
  27. data/ext/tmp/x86_64-linux/trenni/2.7.1/query.o +0 -0
  28. data/ext/tmp/x86_64-linux/trenni/2.7.1/tag.o +0 -0
  29. data/ext/tmp/x86_64-linux/trenni/2.7.1/template.o +0 -0
  30. data/ext/tmp/x86_64-linux/trenni/2.7.1/trenni.o +0 -0
  31. data/ext/tmp/x86_64-linux/trenni/2.7.1/trenni.so +0 -0
  32. data/ext/trenni/extconf.rb +1 -0
  33. data/ext/trenni/markup.c +85 -85
  34. data/ext/trenni/markup.rl +11 -11
  35. data/ext/trenni/query.c +619 -0
  36. data/ext/trenni/query.h +6 -0
  37. data/ext/trenni/query.rl +82 -0
  38. data/ext/trenni/tag.c +8 -6
  39. data/ext/trenni/template.c +57 -57
  40. data/ext/trenni/template.rl +4 -4
  41. data/ext/trenni/trenni.c +9 -1
  42. data/ext/trenni/trenni.h +8 -3
  43. data/lib/trenni.rb +4 -0
  44. data/lib/trenni/buffer.rb +2 -0
  45. data/lib/trenni/builder.rb +64 -12
  46. data/lib/trenni/entities.rb +2082 -2082
  47. data/lib/trenni/entities.trenni +1 -3
  48. data/lib/trenni/{parse_error.rb → error.rb} +6 -1
  49. data/lib/trenni/fallback/markup.rb +1623 -1575
  50. data/lib/trenni/fallback/markup.rl +3 -2
  51. data/lib/trenni/fallback/markup.rl.dot +278 -0
  52. data/lib/trenni/fallback/markup.rl.pdf +0 -0
  53. data/lib/trenni/fallback/query.rb +565 -0
  54. data/lib/trenni/fallback/query.rl +105 -0
  55. data/lib/trenni/fallback/query.rl.dot +54 -0
  56. data/lib/trenni/fallback/query.rl.pdf +0 -0
  57. data/lib/trenni/fallback/template.rb +756 -747
  58. data/lib/trenni/fallback/template.rl +1 -1
  59. data/lib/trenni/fallback/template.rl.dot +270 -0
  60. data/lib/trenni/fallback/template.rl.pdf +0 -0
  61. data/lib/trenni/markup.rb +2 -0
  62. data/lib/trenni/native.rb +3 -1
  63. data/lib/trenni/parse_delegate.rb +2 -0
  64. data/lib/trenni/parsers.rb +2 -0
  65. data/lib/trenni/query.rb +94 -0
  66. data/lib/trenni/reference.rb +125 -0
  67. data/lib/trenni/strings.rb +17 -4
  68. data/lib/trenni/tag.rb +2 -0
  69. data/lib/trenni/template.rb +25 -22
  70. data/lib/trenni/trenni.so +0 -0
  71. data/lib/trenni/uri.rb +3 -0
  72. data/lib/trenni/version.rb +3 -1
  73. data/parsers/trenni/query.rl +23 -0
  74. data/spec/spec_helper.rb +1 -0
  75. data/spec/trenni/builder_spec.rb +14 -1
  76. data/spec/trenni/corpus/large.rb +2 -0
  77. data/spec/trenni/markup_parser_spec.rb +1 -0
  78. data/spec/trenni/markup_performance_spec.rb +15 -2
  79. data/spec/trenni/markup_spec.rb +1 -0
  80. data/spec/trenni/parsers_performance_spec.rb +32 -0
  81. data/spec/trenni/query_spec.rb +51 -0
  82. data/spec/trenni/reference_spec.rb +87 -0
  83. data/spec/trenni/strings_spec.rb +1 -0
  84. data/spec/trenni/tag_spec.rb +2 -0
  85. data/spec/trenni/template_error_spec.rb +1 -0
  86. data/spec/trenni/template_performance_spec.rb +1 -0
  87. data/spec/trenni/template_spec.rb +1 -0
  88. data/spec/trenni/template_spec/builder.trenni +2 -2
  89. data/spec/trenni/uri_spec.rb +1 -0
  90. metadata +95 -62
  91. data/.gitignore +0 -19
  92. data/.rspec +0 -5
  93. data/.simplecov +0 -9
  94. data/.travis.yml +0 -23
  95. data/Gemfile +0 -20
  96. data/README.md +0 -312
  97. data/Rakefile +0 -19
  98. data/benchmark/call_vs_yield.rb +0 -51
  99. data/benchmark/interpolation_vs_concat.rb +0 -29
  100. data/benchmark/io_vs_string.rb +0 -90
  101. data/entities.json +0 -2233
  102. data/tasks/entities.rake +0 -33
  103. data/tasks/parsers.rake +0 -43
  104. data/trenni.gemspec +0 -33
@@ -1,33 +0,0 @@
1
-
2
- task :fetch_entities do
3
- require 'open-uri'
4
- require 'json'
5
-
6
- entites_json_path = File.expand_path("entities.json", __dir__)
7
-
8
- unless File.exist? entites_json_path
9
- url = "https://www.w3.org/TR/html5/entities.json"
10
- File.write(entites_json_path, open(url).read)
11
- end
12
-
13
- @entities = JSON.parse(File.read(entites_json_path)).delete_if{|string, _| !string.end_with? ';'}
14
- end
15
-
16
- task :update_entities => :fetch_entities do
17
- require 'trenni/template'
18
-
19
- paths = {
20
- 'ext/trenni/entities.rl' => 'ext/trenni/entities.trenni',
21
- 'lib/trenni/entities.rb' => 'lib/trenni/entities.trenni',
22
- }
23
-
24
- paths.each do |output_path, template_path|
25
- template = Trenni::Template.load_file(template_path)
26
-
27
- puts template.send(:code)
28
-
29
- #output = template.to_string(@entities)
30
-
31
- #File.write(output_path, output)
32
- end
33
- end
@@ -1,43 +0,0 @@
1
-
2
- PARSERS_DIRECTORY = File.expand_path("../parsers", __dir__)
3
- FALLBACK_DIRECTORY = File.expand_path("../lib/trenni/fallback", __dir__)
4
- EXTENSIONS_DIRECTORY = File.expand_path("../ext", __dir__)
5
- NATIVE_DIRECTORY = File.expand_path("../ext/trenni", __dir__)
6
-
7
- task :generate_fallback_parsers do
8
- Dir.chdir(FALLBACK_DIRECTORY) do
9
- Dir.glob("*.rl").each do |parser_path|
10
- sh("ragel", "-I", PARSERS_DIRECTORY, "-R", parser_path, "-F1")
11
- end
12
-
13
- sh("ruby-beautify", "--tabs", "--overwrite", *Dir.glob("*.rb"))
14
- end
15
- end
16
-
17
- task :generate_native_parsers do
18
- Dir.chdir(NATIVE_DIRECTORY) do
19
- Dir.glob("*.rl").each do |parser_path|
20
- sh("ragel", "-I", PARSERS_DIRECTORY, "-C", parser_path, "-G2")
21
- end
22
- end
23
- end
24
-
25
- task :compile do
26
- system("rake", "compile", chdir: EXTENSIONS_DIRECTORY)
27
- end
28
-
29
- task :generate_parsers => [:generate_native_parsers, :generate_fallback_parsers, :compile]
30
-
31
- task :visualize_parsers do
32
- Dir.chdir(FALLBACK_DIRECTORY) do
33
- Dir.glob("*.rl").each do |parser_path|
34
- dot_path = parser_path + ".dot"
35
- sh("ragel", "-I", PARSERS_DIRECTORY, "-Vp", parser_path, "-o", dot_path)
36
-
37
- pdf_path = parser_path + ".pdf"
38
- sh("dot", "-Tpdf", "-o", pdf_path, dot_path)
39
-
40
- sh("open", pdf_path) rescue nil
41
- end
42
- end
43
- end
@@ -1,33 +0,0 @@
1
- # -*- encoding: utf-8 -*-
2
- require_relative 'lib/trenni/version'
3
-
4
- Gem::Specification.new do |spec|
5
- spec.name = "trenni"
6
- spec.platform = Gem::Platform::RUBY
7
- spec.version = Trenni::VERSION
8
- spec.authors = ["Samuel Williams"]
9
- spec.email = ["samuel.williams@oriontransfer.co.nz"]
10
- spec.description = <<-EOF
11
- Trenni is a templating system built on top of SGML/XML. It uses efficient
12
- native parsers where possible and compiles templates into efficient Ruby.
13
-
14
- In addition, Trenni includes an SGML/XML builder to assist with the generation
15
- of pleasantly formatted markup which is compatible with the included parsers.
16
- EOF
17
- spec.summary = %q{A fast native templating system that compiles directly to Ruby code.}
18
- spec.homepage = "https://github.com/ioquatix/trenni"
19
-
20
- spec.files = `git ls-files`.split($/)
21
- spec.executables = spec.files.grep(%r{^bin/}).map{ |f| File.basename(f) }
22
- spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
23
- spec.require_paths = ["lib"]
24
-
25
- spec.required_ruby_version = '~> 2.1'
26
-
27
- spec.extensions = %w[ext/Rakefile]
28
- spec.add_dependency "rake-compiler"
29
-
30
- spec.add_development_dependency "bundler"
31
- spec.add_development_dependency "rspec", "~> 3.4"
32
- spec.add_development_dependency "rake"
33
- end