hamlit 1.7.2 → 2.0.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (283) hide show
  1. checksums.yaml +4 -4
  2. data/.gitignore +4 -3
  3. data/.gitmodules +3 -0
  4. data/.travis.yml +25 -37
  5. data/CHANGELOG.md +18 -0
  6. data/Gemfile +16 -0
  7. data/LICENSE.txt +23 -2
  8. data/README.md +106 -48
  9. data/REFERENCE.md +222 -0
  10. data/Rakefile +77 -19
  11. data/benchmark/boolean_attribute.haml +6 -0
  12. data/benchmark/class_attribute.haml +5 -0
  13. data/benchmark/common_attribute.haml +3 -0
  14. data/benchmark/data_attribute.haml +4 -0
  15. data/benchmark/dynamic_attributes/boolean_attribute.haml +4 -0
  16. data/benchmark/dynamic_attributes/class_attribute.haml +4 -0
  17. data/benchmark/dynamic_attributes/common_attribute.haml +2 -0
  18. data/benchmark/dynamic_attributes/data_attribute.haml +2 -0
  19. data/benchmark/dynamic_attributes/id_attribute.haml +2 -0
  20. data/benchmark/etc/attribute_builder.haml +5 -0
  21. data/benchmark/etc/real_sample.haml +888 -0
  22. data/benchmark/etc/real_sample.rb +11 -0
  23. data/benchmark/etc/static_analyzer.haml +1 -0
  24. data/benchmark/etc/tags.haml +3 -0
  25. data/benchmark/ext/build_data.rb +15 -0
  26. data/benchmark/ext/build_id.rb +13 -0
  27. data/benchmark/id_attribute.haml +3 -0
  28. data/benchmark/plain.haml +4 -0
  29. data/benchmark/script.haml +4 -0
  30. data/benchmark/slim/LICENSE +21 -0
  31. data/{benchmarks → benchmark/slim}/context.rb +2 -4
  32. data/benchmark/slim/run-benchmarks.rb +94 -0
  33. data/{benchmarks → benchmark/slim}/view.erb +3 -3
  34. data/{benchmarks → benchmark/slim}/view.haml +0 -0
  35. data/{benchmarks/view.escaped.slim → benchmark/slim/view.slim} +1 -1
  36. data/benchmark/string_interpolation.haml +2 -0
  37. data/benchmark/utils/benchmark_ips_extension.rb +43 -0
  38. data/bin/bench +85 -0
  39. data/bin/clone +14 -0
  40. data/bin/console +11 -0
  41. data/bin/lineprof +48 -0
  42. data/bin/ruby +3 -0
  43. data/bin/setup +7 -0
  44. data/bin/stackprof +27 -0
  45. data/{test → bin/test} +6 -10
  46. data/{bin → exe}/hamlit +0 -0
  47. data/ext/hamlit/extconf.rb +14 -0
  48. data/ext/hamlit/hamlit.c +512 -0
  49. data/ext/hamlit/houdini/.gitignore +3 -0
  50. data/ext/hamlit/houdini/COPYING +7 -0
  51. data/ext/hamlit/houdini/Makefile +79 -0
  52. data/ext/hamlit/houdini/README.md +59 -0
  53. data/ext/hamlit/houdini/buffer.c +249 -0
  54. data/ext/hamlit/houdini/buffer.h +113 -0
  55. data/ext/hamlit/houdini/houdini.h +46 -0
  56. data/ext/hamlit/houdini/houdini_href_e.c +115 -0
  57. data/ext/hamlit/houdini/houdini_html_e.c +90 -0
  58. data/ext/hamlit/houdini/houdini_html_u.c +122 -0
  59. data/ext/hamlit/houdini/houdini_js_e.c +90 -0
  60. data/ext/hamlit/houdini/houdini_js_u.c +60 -0
  61. data/ext/hamlit/houdini/houdini_uri_e.c +107 -0
  62. data/ext/hamlit/houdini/houdini_uri_u.c +68 -0
  63. data/ext/hamlit/houdini/houdini_xml_e.c +136 -0
  64. data/ext/hamlit/houdini/html_unescape.gperf +258 -0
  65. data/ext/hamlit/houdini/html_unescape.h +754 -0
  66. data/ext/hamlit/houdini/tools/build_table.py +13 -0
  67. data/ext/hamlit/houdini/tools/build_tables.c +51 -0
  68. data/ext/hamlit/houdini/tools/wikipedia_table.txt +2025 -0
  69. data/hamlit.gemspec +30 -31
  70. data/lib/hamlit.rb +3 -1
  71. data/lib/hamlit/attribute_builder.rb +12 -0
  72. data/lib/hamlit/cli.rb +44 -43
  73. data/lib/hamlit/compiler.rb +92 -16
  74. data/lib/hamlit/compiler/attribute_compiler.rb +148 -0
  75. data/lib/hamlit/compiler/children_compiler.rb +111 -0
  76. data/lib/hamlit/compiler/comment_compiler.rb +36 -0
  77. data/lib/hamlit/compiler/doctype_compiler.rb +45 -0
  78. data/lib/hamlit/compiler/script_compiler.rb +97 -0
  79. data/lib/hamlit/compiler/silent_script_compiler.rb +24 -0
  80. data/lib/hamlit/compiler/tag_compiler.rb +69 -0
  81. data/lib/hamlit/engine.rb +12 -7
  82. data/lib/hamlit/error.rb +14 -0
  83. data/lib/hamlit/escapable.rb +12 -0
  84. data/lib/hamlit/filters.rb +65 -0
  85. data/lib/hamlit/filters/base.rb +4 -62
  86. data/lib/hamlit/filters/coffee.rb +9 -7
  87. data/lib/hamlit/filters/css.rb +25 -8
  88. data/lib/hamlit/filters/erb.rb +4 -6
  89. data/lib/hamlit/filters/escaped.rb +11 -9
  90. data/lib/hamlit/filters/javascript.rb +25 -8
  91. data/lib/hamlit/filters/less.rb +9 -7
  92. data/lib/hamlit/filters/markdown.rb +5 -6
  93. data/lib/hamlit/filters/plain.rb +11 -15
  94. data/lib/hamlit/filters/preserve.rb +15 -5
  95. data/lib/hamlit/filters/ruby.rb +3 -5
  96. data/lib/hamlit/filters/sass.rb +9 -7
  97. data/lib/hamlit/filters/scss.rb +9 -7
  98. data/lib/hamlit/filters/text_base.rb +24 -0
  99. data/lib/hamlit/filters/tilt_base.rb +47 -0
  100. data/lib/hamlit/hash_parser.rb +107 -0
  101. data/lib/hamlit/html.rb +9 -6
  102. data/lib/hamlit/identity.rb +12 -0
  103. data/lib/hamlit/object_ref.rb +29 -0
  104. data/lib/hamlit/parser.rb +25 -142
  105. data/lib/hamlit/parser/MIT-LICENSE +20 -0
  106. data/lib/hamlit/parser/README.md +28 -0
  107. data/lib/hamlit/parser/haml_buffer.rb +348 -0
  108. data/lib/hamlit/parser/haml_compiler.rb +553 -0
  109. data/lib/hamlit/parser/haml_error.rb +61 -0
  110. data/lib/hamlit/parser/haml_helpers.rb +727 -0
  111. data/lib/hamlit/parser/haml_options.rb +286 -0
  112. data/lib/hamlit/parser/haml_parser.rb +801 -0
  113. data/lib/hamlit/parser/haml_util.rb +283 -0
  114. data/lib/hamlit/parser/haml_xss_mods.rb +109 -0
  115. data/lib/hamlit/{helpers.rb → rails_helpers.rb} +2 -7
  116. data/lib/hamlit/rails_template.rb +30 -0
  117. data/lib/hamlit/railtie.rb +1 -12
  118. data/lib/hamlit/ruby_expression.rb +31 -0
  119. data/lib/hamlit/static_analyzer.rb +49 -0
  120. data/lib/hamlit/string_interpolation.rb +69 -0
  121. data/lib/hamlit/template.rb +8 -0
  122. data/lib/hamlit/utils.rb +9 -0
  123. data/lib/hamlit/version.rb +1 -1
  124. metadata +116 -324
  125. data/.rspec +0 -2
  126. data/benchmarks/benchmark.rb +0 -110
  127. data/benchmarks/view.slim +0 -17
  128. data/doc/README.md +0 -19
  129. data/doc/engine/indent.md +0 -48
  130. data/doc/engine/new_attribute.md +0 -77
  131. data/doc/engine/old_attributes.md +0 -198
  132. data/doc/engine/silent_script.md +0 -97
  133. data/doc/engine/tag.md +0 -48
  134. data/doc/engine/text.md +0 -64
  135. data/doc/faml/README.md +0 -16
  136. data/doc/faml/engine/indent.md +0 -48
  137. data/doc/faml/engine/old_attributes.md +0 -111
  138. data/doc/faml/engine/silent_script.md +0 -97
  139. data/doc/faml/engine/text.md +0 -59
  140. data/doc/faml/filters/erb.md +0 -24
  141. data/doc/faml/filters/javascript.md +0 -27
  142. data/doc/faml/filters/less.md +0 -57
  143. data/doc/faml/filters/plain.md +0 -25
  144. data/doc/filters/erb.md +0 -31
  145. data/doc/filters/javascript.md +0 -83
  146. data/doc/filters/less.md +0 -57
  147. data/doc/filters/markdown.md +0 -31
  148. data/doc/filters/plain.md +0 -25
  149. data/doc/haml/README.md +0 -15
  150. data/doc/haml/engine/new_attribute.md +0 -77
  151. data/doc/haml/engine/old_attributes.md +0 -142
  152. data/doc/haml/engine/tag.md +0 -48
  153. data/doc/haml/engine/text.md +0 -29
  154. data/doc/haml/filters/erb.md +0 -26
  155. data/doc/haml/filters/javascript.md +0 -76
  156. data/doc/haml/filters/markdown.md +0 -31
  157. data/lib/hamlit/attribute.rb +0 -78
  158. data/lib/hamlit/compilers/attributes.rb +0 -108
  159. data/lib/hamlit/compilers/comment.rb +0 -13
  160. data/lib/hamlit/compilers/doctype.rb +0 -39
  161. data/lib/hamlit/compilers/filter.rb +0 -53
  162. data/lib/hamlit/compilers/new_attribute.rb +0 -115
  163. data/lib/hamlit/compilers/old_attribute.rb +0 -241
  164. data/lib/hamlit/compilers/runtime_attribute.rb +0 -58
  165. data/lib/hamlit/compilers/script.rb +0 -31
  166. data/lib/hamlit/compilers/strip.rb +0 -19
  167. data/lib/hamlit/compilers/text.rb +0 -111
  168. data/lib/hamlit/concerns/attribute_builder.rb +0 -22
  169. data/lib/hamlit/concerns/balanceable.rb +0 -68
  170. data/lib/hamlit/concerns/deprecation.rb +0 -20
  171. data/lib/hamlit/concerns/error.rb +0 -31
  172. data/lib/hamlit/concerns/escapable.rb +0 -17
  173. data/lib/hamlit/concerns/included.rb +0 -28
  174. data/lib/hamlit/concerns/indentable.rb +0 -117
  175. data/lib/hamlit/concerns/lexable.rb +0 -32
  176. data/lib/hamlit/concerns/line_reader.rb +0 -62
  177. data/lib/hamlit/concerns/registerable.rb +0 -24
  178. data/lib/hamlit/concerns/string_interpolation.rb +0 -48
  179. data/lib/hamlit/concerns/whitespace.rb +0 -91
  180. data/lib/hamlit/filters/tilt.rb +0 -41
  181. data/lib/hamlit/parsers/attribute.rb +0 -71
  182. data/lib/hamlit/parsers/comment.rb +0 -30
  183. data/lib/hamlit/parsers/doctype.rb +0 -18
  184. data/lib/hamlit/parsers/filter.rb +0 -18
  185. data/lib/hamlit/parsers/multiline.rb +0 -58
  186. data/lib/hamlit/parsers/script.rb +0 -126
  187. data/lib/hamlit/parsers/tag.rb +0 -83
  188. data/lib/hamlit/parsers/text.rb +0 -28
  189. data/lib/hamlit/temple.rb +0 -9
  190. data/release +0 -6
  191. data/spec/Rakefile +0 -72
  192. data/spec/hamlit/engine/comment_spec.rb +0 -56
  193. data/spec/hamlit/engine/doctype_spec.rb +0 -19
  194. data/spec/hamlit/engine/error_spec.rb +0 -135
  195. data/spec/hamlit/engine/indent_spec.rb +0 -42
  196. data/spec/hamlit/engine/multiline_spec.rb +0 -44
  197. data/spec/hamlit/engine/new_attribute_spec.rb +0 -110
  198. data/spec/hamlit/engine/old_attributes_spec.rb +0 -404
  199. data/spec/hamlit/engine/script_spec.rb +0 -116
  200. data/spec/hamlit/engine/silent_script_spec.rb +0 -213
  201. data/spec/hamlit/engine/tag_spec.rb +0 -295
  202. data/spec/hamlit/engine/text_spec.rb +0 -239
  203. data/spec/hamlit/engine_spec.rb +0 -58
  204. data/spec/hamlit/filters/coffee_spec.rb +0 -60
  205. data/spec/hamlit/filters/css_spec.rb +0 -33
  206. data/spec/hamlit/filters/erb_spec.rb +0 -16
  207. data/spec/hamlit/filters/javascript_spec.rb +0 -82
  208. data/spec/hamlit/filters/less_spec.rb +0 -37
  209. data/spec/hamlit/filters/markdown_spec.rb +0 -30
  210. data/spec/hamlit/filters/plain_spec.rb +0 -15
  211. data/spec/hamlit/filters/ruby_spec.rb +0 -24
  212. data/spec/hamlit/filters/sass_spec.rb +0 -33
  213. data/spec/hamlit/filters/scss_spec.rb +0 -37
  214. data/spec/hamlit/haml_spec.rb +0 -910
  215. data/spec/rails/.gitignore +0 -18
  216. data/spec/rails/.rspec +0 -2
  217. data/spec/rails/Gemfile +0 -19
  218. data/spec/rails/README.rdoc +0 -28
  219. data/spec/rails/Rakefile +0 -6
  220. data/spec/rails/app/assets/images/.keep +0 -0
  221. data/spec/rails/app/assets/javascripts/application.js +0 -15
  222. data/spec/rails/app/assets/stylesheets/application.css +0 -15
  223. data/spec/rails/app/controllers/application_controller.rb +0 -8
  224. data/spec/rails/app/controllers/concerns/.keep +0 -0
  225. data/spec/rails/app/controllers/users_controller.rb +0 -23
  226. data/spec/rails/app/helpers/application_helper.rb +0 -2
  227. data/spec/rails/app/mailers/.keep +0 -0
  228. data/spec/rails/app/models/.keep +0 -0
  229. data/spec/rails/app/models/concerns/.keep +0 -0
  230. data/spec/rails/app/views/application/index.html.haml +0 -18
  231. data/spec/rails/app/views/layouts/application.html.haml +0 -12
  232. data/spec/rails/app/views/users/capture.html.haml +0 -5
  233. data/spec/rails/app/views/users/capture_haml.html.haml +0 -5
  234. data/spec/rails/app/views/users/form.html.haml +0 -2
  235. data/spec/rails/app/views/users/helpers.html.haml +0 -10
  236. data/spec/rails/app/views/users/index.html.haml +0 -9
  237. data/spec/rails/app/views/users/inline.html.haml +0 -6
  238. data/spec/rails/app/views/users/old_attributes.html.haml +0 -5
  239. data/spec/rails/app/views/users/safe_buffer.html.haml +0 -4
  240. data/spec/rails/app/views/users/whitespace.html.haml +0 -4
  241. data/spec/rails/bin/bundle +0 -3
  242. data/spec/rails/bin/rails +0 -8
  243. data/spec/rails/bin/rake +0 -8
  244. data/spec/rails/bin/setup +0 -29
  245. data/spec/rails/bin/spring +0 -15
  246. data/spec/rails/config.ru +0 -4
  247. data/spec/rails/config/application.rb +0 -34
  248. data/spec/rails/config/boot.rb +0 -3
  249. data/spec/rails/config/database.yml +0 -25
  250. data/spec/rails/config/environment.rb +0 -5
  251. data/spec/rails/config/environments/development.rb +0 -41
  252. data/spec/rails/config/environments/production.rb +0 -79
  253. data/spec/rails/config/environments/test.rb +0 -42
  254. data/spec/rails/config/initializers/assets.rb +0 -11
  255. data/spec/rails/config/initializers/backtrace_silencers.rb +0 -7
  256. data/spec/rails/config/initializers/cookies_serializer.rb +0 -3
  257. data/spec/rails/config/initializers/filter_parameter_logging.rb +0 -4
  258. data/spec/rails/config/initializers/inflections.rb +0 -16
  259. data/spec/rails/config/initializers/mime_types.rb +0 -4
  260. data/spec/rails/config/initializers/session_store.rb +0 -3
  261. data/spec/rails/config/initializers/wrap_parameters.rb +0 -14
  262. data/spec/rails/config/locales/en.yml +0 -24
  263. data/spec/rails/config/routes.rb +0 -16
  264. data/spec/rails/config/secrets.yml +0 -22
  265. data/spec/rails/db/schema.rb +0 -16
  266. data/spec/rails/db/seeds.rb +0 -7
  267. data/spec/rails/lib/assets/.keep +0 -0
  268. data/spec/rails/lib/tasks/.keep +0 -0
  269. data/spec/rails/log/.keep +0 -0
  270. data/spec/rails/public/404.html +0 -67
  271. data/spec/rails/public/422.html +0 -67
  272. data/spec/rails/public/500.html +0 -66
  273. data/spec/rails/public/favicon.ico +0 -0
  274. data/spec/rails/public/robots.txt +0 -5
  275. data/spec/rails/spec/hamlit_spec.rb +0 -123
  276. data/spec/rails/spec/rails_helper.rb +0 -56
  277. data/spec/rails/spec/spec_helper.rb +0 -91
  278. data/spec/rails/vendor/assets/javascripts/.keep +0 -0
  279. data/spec/rails/vendor/assets/stylesheets/.keep +0 -0
  280. data/spec/spec_helper.rb +0 -36
  281. data/spec/spec_helper/document_generator.rb +0 -93
  282. data/spec/spec_helper/render_helper.rb +0 -120
  283. data/spec/spec_helper/test_case.rb +0 -55
@@ -0,0 +1,31 @@
1
+ require 'ripper'
2
+
3
+ module Hamlit
4
+ class RubyExpression < Ripper
5
+ class ParseError < StandardError; end
6
+
7
+ def self.syntax_error?(code)
8
+ self.new(code).parse
9
+ false
10
+ rescue ParseError
11
+ true
12
+ end
13
+
14
+ def self.string_literal?(code)
15
+ return false if syntax_error?(code)
16
+
17
+ type, instructions = Ripper.sexp(code)
18
+ return false if type != :program
19
+ return false if instructions.size > 1
20
+
21
+ type, _ = instructions.first
22
+ type == :string_literal
23
+ end
24
+
25
+ private
26
+
27
+ def on_parse_error(*)
28
+ raise ParseError
29
+ end
30
+ end
31
+ end
@@ -0,0 +1,49 @@
1
+ require 'hamlit/ruby_expression'
2
+
3
+ module Hamlit
4
+ class StaticAnalyzer
5
+ STATIC_TOKENS = %i[
6
+ on_tstring_beg on_tstring_end on_tstring_content
7
+ on_embexpr_beg on_embexpr_end
8
+ on_lbracket on_rbracket
9
+ on_qwords_beg on_words_sep on_qwords_sep
10
+ on_lparen on_rparen
11
+ on_lbrace on_rbrace on_label
12
+ on_int on_float on_imaginary
13
+ on_comma on_sp
14
+ ].freeze
15
+
16
+ DYNAMIC_TOKENS = %i[
17
+ on_ident on_period
18
+ ].freeze
19
+
20
+ STATIC_KEYWORDS = %w[
21
+ true false nil
22
+ ].freeze
23
+
24
+ STATIC_OPERATORS = %w[
25
+ =>
26
+ ].freeze
27
+
28
+ def self.static?(exp)
29
+ return false if exp.nil? || exp.strip.empty?
30
+ return false if RubyExpression.syntax_error?(exp)
31
+
32
+ Ripper.lex(exp).each do |(_, col), token, str|
33
+ case token
34
+ when *STATIC_TOKENS
35
+ # noop
36
+ when :on_kw
37
+ return false unless STATIC_KEYWORDS.include?(str)
38
+ when :on_op
39
+ return false unless STATIC_OPERATORS.include?(str)
40
+ when *DYNAMIC_TOKENS
41
+ return false
42
+ else
43
+ return false
44
+ end
45
+ end
46
+ true
47
+ end
48
+ end
49
+ end
@@ -0,0 +1,69 @@
1
+ require 'ripper'
2
+
3
+ module Hamlit::StringInterpolation
4
+ class << self
5
+ # `code` param must be valid string literal
6
+ def compile(code)
7
+ [].tap do |exps|
8
+ tokens = Ripper.lex(code.strip)
9
+ tokens.pop while tokens.last && %i[on_comment on_sp].include?(tokens.last[1])
10
+
11
+ if tokens.size < 2
12
+ raise Hamlit::InternalError.new("Expected token size >= 2 but got: #{tokens.size}")
13
+ end
14
+ compile_tokens!(exps, tokens)
15
+ end
16
+ end
17
+
18
+ private
19
+
20
+ def strip_quotes!(tokens)
21
+ _, type, beg_str = tokens.shift
22
+ if type != :on_tstring_beg
23
+ raise Hamlit::InternalError.new("Expected :on_tstring_beg but got: #{type}")
24
+ end
25
+
26
+ _, type, end_str = tokens.pop
27
+ if type != :on_tstring_end
28
+ raise Hamlit::InternalError.new("Expected :on_tstring_end but got: #{type}")
29
+ end
30
+
31
+ [beg_str, end_str]
32
+ end
33
+
34
+ def compile_tokens!(exps, tokens)
35
+ beg_str, end_str = strip_quotes!(tokens)
36
+
37
+ until tokens.empty?
38
+ _, type, str = tokens.shift
39
+
40
+ case type
41
+ when :on_tstring_content
42
+ exps << [:static, eval("#{beg_str}#{str}#{end_str}")]
43
+ when :on_embexpr_beg
44
+ embedded = shift_balanced_embexpr(tokens)
45
+ exps << [:dynamic, embedded] unless embedded.empty?
46
+ end
47
+ end
48
+ end
49
+
50
+ def shift_balanced_embexpr(tokens)
51
+ String.new.tap do |embedded|
52
+ embexpr_open = 1
53
+
54
+ until tokens.empty?
55
+ _, type, str = tokens.shift
56
+ case type
57
+ when :on_embexpr_beg
58
+ embexpr_open += 1
59
+ when :on_embexpr_end
60
+ embexpr_open -= 1
61
+ break if embexpr_open == 0
62
+ end
63
+
64
+ embedded << str
65
+ end
66
+ end
67
+ end
68
+ end
69
+ end
@@ -1,6 +1,14 @@
1
1
  require 'temple'
2
2
  require 'hamlit/engine'
3
3
 
4
+ # Load tilt/haml first to override if available
5
+ begin
6
+ require 'haml'
7
+ rescue LoadError
8
+ else
9
+ require 'tilt/haml'
10
+ end
11
+
4
12
  module Hamlit
5
13
  Template = Temple::Templates::Tilt.create(
6
14
  Hamlit::Engine,
@@ -0,0 +1,9 @@
1
+ require 'hamlit/hamlit'
2
+
3
+ module Hamlit
4
+ module Utils
5
+ def self.escape_html_safe(html)
6
+ html.html_safe? ? html : escape_html(html)
7
+ end
8
+ end
9
+ end
@@ -1,3 +1,3 @@
1
1
  module Hamlit
2
- VERSION = "1.7.2"
2
+ VERSION = '2.0.1'
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: hamlit
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.7.2
4
+ version: 2.0.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Takashi Kokubun
8
8
  autorequire:
9
- bindir: bin
9
+ bindir: exe
10
10
  cert_chain: []
11
- date: 2015-07-22 00:00:00.000000000 Z
11
+ date: 2015-11-30 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: escape_utils
@@ -66,20 +66,6 @@ dependencies:
66
66
  - - ">="
67
67
  - !ruby/object:Gem::Version
68
68
  version: '0'
69
- - !ruby/object:Gem::Dependency
70
- name: benchmark-ips
71
- requirement: !ruby/object:Gem::Requirement
72
- requirements:
73
- - - ">="
74
- - !ruby/object:Gem::Version
75
- version: '0'
76
- type: :development
77
- prerelease: false
78
- version_requirements: !ruby/object:Gem::Requirement
79
- requirements:
80
- - - ">="
81
- - !ruby/object:Gem::Version
82
- version: '0'
83
69
  - !ruby/object:Gem::Dependency
84
70
  name: bundler
85
71
  requirement: !ruby/object:Gem::Requirement
@@ -108,20 +94,6 @@ dependencies:
108
94
  - - ">="
109
95
  - !ruby/object:Gem::Version
110
96
  version: '0'
111
- - !ruby/object:Gem::Dependency
112
- name: coveralls
113
- requirement: !ruby/object:Gem::Requirement
114
- requirements:
115
- - - ">="
116
- - !ruby/object:Gem::Version
117
- version: '0'
118
- type: :development
119
- prerelease: false
120
- version_requirements: !ruby/object:Gem::Requirement
121
- requirements:
122
- - - ">="
123
- - !ruby/object:Gem::Version
124
- version: '0'
125
97
  - !ruby/object:Gem::Dependency
126
98
  name: erubis
127
99
  requirement: !ruby/object:Gem::Requirement
@@ -151,7 +123,7 @@ dependencies:
151
123
  - !ruby/object:Gem::Version
152
124
  version: '0'
153
125
  - !ruby/object:Gem::Dependency
154
- name: haml
126
+ name: less
155
127
  requirement: !ruby/object:Gem::Requirement
156
128
  requirements:
157
129
  - - ">="
@@ -165,49 +137,49 @@ dependencies:
165
137
  - !ruby/object:Gem::Version
166
138
  version: '0'
167
139
  - !ruby/object:Gem::Dependency
168
- name: less
140
+ name: minitest-reporters
169
141
  requirement: !ruby/object:Gem::Requirement
170
142
  requirements:
171
- - - ">="
143
+ - - "~>"
172
144
  - !ruby/object:Gem::Version
173
- version: '0'
145
+ version: '1.1'
174
146
  type: :development
175
147
  prerelease: false
176
148
  version_requirements: !ruby/object:Gem::Requirement
177
149
  requirements:
178
- - - ">="
150
+ - - "~>"
179
151
  - !ruby/object:Gem::Version
180
- version: '0'
152
+ version: '1.1'
181
153
  - !ruby/object:Gem::Dependency
182
- name: pry
154
+ name: rails
183
155
  requirement: !ruby/object:Gem::Requirement
184
156
  requirements:
185
157
  - - ">="
186
158
  - !ruby/object:Gem::Version
187
- version: '0'
159
+ version: 4.0.0
188
160
  type: :development
189
161
  prerelease: false
190
162
  version_requirements: !ruby/object:Gem::Requirement
191
163
  requirements:
192
164
  - - ">="
193
165
  - !ruby/object:Gem::Version
194
- version: '0'
166
+ version: 4.0.0
195
167
  - !ruby/object:Gem::Dependency
196
168
  name: rake
197
169
  requirement: !ruby/object:Gem::Requirement
198
170
  requirements:
199
- - - ">="
171
+ - - "~>"
200
172
  - !ruby/object:Gem::Version
201
- version: '0'
173
+ version: '10.0'
202
174
  type: :development
203
175
  prerelease: false
204
176
  version_requirements: !ruby/object:Gem::Requirement
205
177
  requirements:
206
- - - ">="
178
+ - - "~>"
207
179
  - !ruby/object:Gem::Version
208
- version: '0'
180
+ version: '10.0'
209
181
  - !ruby/object:Gem::Dependency
210
- name: redcarpet
182
+ name: rake-compiler
211
183
  requirement: !ruby/object:Gem::Requirement
212
184
  requirements:
213
185
  - - ">="
@@ -221,21 +193,7 @@ dependencies:
221
193
  - !ruby/object:Gem::Version
222
194
  version: '0'
223
195
  - !ruby/object:Gem::Dependency
224
- name: rspec
225
- requirement: !ruby/object:Gem::Requirement
226
- requirements:
227
- - - ">="
228
- - !ruby/object:Gem::Version
229
- version: '3'
230
- type: :development
231
- prerelease: false
232
- version_requirements: !ruby/object:Gem::Requirement
233
- requirements:
234
- - - ">="
235
- - !ruby/object:Gem::Version
236
- version: '3'
237
- - !ruby/object:Gem::Dependency
238
- name: sass
196
+ name: redcarpet
239
197
  requirement: !ruby/object:Gem::Requirement
240
198
  requirements:
241
199
  - - ">="
@@ -249,7 +207,7 @@ dependencies:
249
207
  - !ruby/object:Gem::Version
250
208
  version: '0'
251
209
  - !ruby/object:Gem::Dependency
252
- name: simplecov
210
+ name: sass
253
211
  requirement: !ruby/object:Gem::Requirement
254
212
  requirements:
255
213
  - - ">="
@@ -309,81 +267,93 @@ email:
309
267
  - takashikkbn@gmail.com
310
268
  executables:
311
269
  - hamlit
312
- extensions: []
270
+ extensions:
271
+ - ext/hamlit/extconf.rb
313
272
  extra_rdoc_files: []
314
273
  files:
315
274
  - ".gitignore"
316
- - ".rspec"
275
+ - ".gitmodules"
317
276
  - ".travis.yml"
318
277
  - CHANGELOG.md
319
278
  - Gemfile
320
279
  - LICENSE.txt
321
280
  - README.md
281
+ - REFERENCE.md
322
282
  - Rakefile
323
- - benchmarks/benchmark.rb
324
- - benchmarks/context.rb
325
- - benchmarks/view.erb
326
- - benchmarks/view.escaped.slim
327
- - benchmarks/view.haml
328
- - benchmarks/view.slim
329
- - bin/hamlit
330
- - doc/README.md
331
- - doc/engine/indent.md
332
- - doc/engine/new_attribute.md
333
- - doc/engine/old_attributes.md
334
- - doc/engine/silent_script.md
335
- - doc/engine/tag.md
336
- - doc/engine/text.md
337
- - doc/faml/README.md
338
- - doc/faml/engine/indent.md
339
- - doc/faml/engine/old_attributes.md
340
- - doc/faml/engine/silent_script.md
341
- - doc/faml/engine/text.md
342
- - doc/faml/filters/erb.md
343
- - doc/faml/filters/javascript.md
344
- - doc/faml/filters/less.md
345
- - doc/faml/filters/plain.md
346
- - doc/filters/erb.md
347
- - doc/filters/javascript.md
348
- - doc/filters/less.md
349
- - doc/filters/markdown.md
350
- - doc/filters/plain.md
351
- - doc/haml/README.md
352
- - doc/haml/engine/new_attribute.md
353
- - doc/haml/engine/old_attributes.md
354
- - doc/haml/engine/tag.md
355
- - doc/haml/engine/text.md
356
- - doc/haml/filters/erb.md
357
- - doc/haml/filters/javascript.md
358
- - doc/haml/filters/markdown.md
283
+ - benchmark/boolean_attribute.haml
284
+ - benchmark/class_attribute.haml
285
+ - benchmark/common_attribute.haml
286
+ - benchmark/data_attribute.haml
287
+ - benchmark/dynamic_attributes/boolean_attribute.haml
288
+ - benchmark/dynamic_attributes/class_attribute.haml
289
+ - benchmark/dynamic_attributes/common_attribute.haml
290
+ - benchmark/dynamic_attributes/data_attribute.haml
291
+ - benchmark/dynamic_attributes/id_attribute.haml
292
+ - benchmark/etc/attribute_builder.haml
293
+ - benchmark/etc/real_sample.haml
294
+ - benchmark/etc/real_sample.rb
295
+ - benchmark/etc/static_analyzer.haml
296
+ - benchmark/etc/tags.haml
297
+ - benchmark/ext/build_data.rb
298
+ - benchmark/ext/build_id.rb
299
+ - benchmark/id_attribute.haml
300
+ - benchmark/plain.haml
301
+ - benchmark/script.haml
302
+ - benchmark/slim/LICENSE
303
+ - benchmark/slim/context.rb
304
+ - benchmark/slim/run-benchmarks.rb
305
+ - benchmark/slim/view.erb
306
+ - benchmark/slim/view.haml
307
+ - benchmark/slim/view.slim
308
+ - benchmark/string_interpolation.haml
309
+ - benchmark/utils/benchmark_ips_extension.rb
310
+ - bin/bench
311
+ - bin/clone
312
+ - bin/console
313
+ - bin/lineprof
314
+ - bin/ruby
315
+ - bin/setup
316
+ - bin/stackprof
317
+ - bin/test
318
+ - exe/hamlit
319
+ - ext/hamlit/extconf.rb
320
+ - ext/hamlit/hamlit.c
321
+ - ext/hamlit/houdini/.gitignore
322
+ - ext/hamlit/houdini/COPYING
323
+ - ext/hamlit/houdini/Makefile
324
+ - ext/hamlit/houdini/README.md
325
+ - ext/hamlit/houdini/buffer.c
326
+ - ext/hamlit/houdini/buffer.h
327
+ - ext/hamlit/houdini/houdini.h
328
+ - ext/hamlit/houdini/houdini_href_e.c
329
+ - ext/hamlit/houdini/houdini_html_e.c
330
+ - ext/hamlit/houdini/houdini_html_u.c
331
+ - ext/hamlit/houdini/houdini_js_e.c
332
+ - ext/hamlit/houdini/houdini_js_u.c
333
+ - ext/hamlit/houdini/houdini_uri_e.c
334
+ - ext/hamlit/houdini/houdini_uri_u.c
335
+ - ext/hamlit/houdini/houdini_xml_e.c
336
+ - ext/hamlit/houdini/html_unescape.gperf
337
+ - ext/hamlit/houdini/html_unescape.h
338
+ - ext/hamlit/houdini/tools/build_table.py
339
+ - ext/hamlit/houdini/tools/build_tables.c
340
+ - ext/hamlit/houdini/tools/wikipedia_table.txt
359
341
  - hamlit.gemspec
360
342
  - lib/hamlit.rb
361
- - lib/hamlit/attribute.rb
343
+ - lib/hamlit/attribute_builder.rb
362
344
  - lib/hamlit/cli.rb
363
345
  - lib/hamlit/compiler.rb
364
- - lib/hamlit/compilers/attributes.rb
365
- - lib/hamlit/compilers/comment.rb
366
- - lib/hamlit/compilers/doctype.rb
367
- - lib/hamlit/compilers/filter.rb
368
- - lib/hamlit/compilers/new_attribute.rb
369
- - lib/hamlit/compilers/old_attribute.rb
370
- - lib/hamlit/compilers/runtime_attribute.rb
371
- - lib/hamlit/compilers/script.rb
372
- - lib/hamlit/compilers/strip.rb
373
- - lib/hamlit/compilers/text.rb
374
- - lib/hamlit/concerns/attribute_builder.rb
375
- - lib/hamlit/concerns/balanceable.rb
376
- - lib/hamlit/concerns/deprecation.rb
377
- - lib/hamlit/concerns/error.rb
378
- - lib/hamlit/concerns/escapable.rb
379
- - lib/hamlit/concerns/included.rb
380
- - lib/hamlit/concerns/indentable.rb
381
- - lib/hamlit/concerns/lexable.rb
382
- - lib/hamlit/concerns/line_reader.rb
383
- - lib/hamlit/concerns/registerable.rb
384
- - lib/hamlit/concerns/string_interpolation.rb
385
- - lib/hamlit/concerns/whitespace.rb
346
+ - lib/hamlit/compiler/attribute_compiler.rb
347
+ - lib/hamlit/compiler/children_compiler.rb
348
+ - lib/hamlit/compiler/comment_compiler.rb
349
+ - lib/hamlit/compiler/doctype_compiler.rb
350
+ - lib/hamlit/compiler/script_compiler.rb
351
+ - lib/hamlit/compiler/silent_script_compiler.rb
352
+ - lib/hamlit/compiler/tag_compiler.rb
386
353
  - lib/hamlit/engine.rb
354
+ - lib/hamlit/error.rb
355
+ - lib/hamlit/escapable.rb
356
+ - lib/hamlit/filters.rb
387
357
  - lib/hamlit/filters/base.rb
388
358
  - lib/hamlit/filters/coffee.rb
389
359
  - lib/hamlit/filters/css.rb
@@ -397,117 +367,32 @@ files:
397
367
  - lib/hamlit/filters/ruby.rb
398
368
  - lib/hamlit/filters/sass.rb
399
369
  - lib/hamlit/filters/scss.rb
400
- - lib/hamlit/filters/tilt.rb
401
- - lib/hamlit/helpers.rb
370
+ - lib/hamlit/filters/text_base.rb
371
+ - lib/hamlit/filters/tilt_base.rb
372
+ - lib/hamlit/hash_parser.rb
402
373
  - lib/hamlit/html.rb
374
+ - lib/hamlit/identity.rb
375
+ - lib/hamlit/object_ref.rb
403
376
  - lib/hamlit/parser.rb
404
- - lib/hamlit/parsers/attribute.rb
405
- - lib/hamlit/parsers/comment.rb
406
- - lib/hamlit/parsers/doctype.rb
407
- - lib/hamlit/parsers/filter.rb
408
- - lib/hamlit/parsers/multiline.rb
409
- - lib/hamlit/parsers/script.rb
410
- - lib/hamlit/parsers/tag.rb
411
- - lib/hamlit/parsers/text.rb
377
+ - lib/hamlit/parser/MIT-LICENSE
378
+ - lib/hamlit/parser/README.md
379
+ - lib/hamlit/parser/haml_buffer.rb
380
+ - lib/hamlit/parser/haml_compiler.rb
381
+ - lib/hamlit/parser/haml_error.rb
382
+ - lib/hamlit/parser/haml_helpers.rb
383
+ - lib/hamlit/parser/haml_options.rb
384
+ - lib/hamlit/parser/haml_parser.rb
385
+ - lib/hamlit/parser/haml_util.rb
386
+ - lib/hamlit/parser/haml_xss_mods.rb
387
+ - lib/hamlit/rails_helpers.rb
388
+ - lib/hamlit/rails_template.rb
412
389
  - lib/hamlit/railtie.rb
390
+ - lib/hamlit/ruby_expression.rb
391
+ - lib/hamlit/static_analyzer.rb
392
+ - lib/hamlit/string_interpolation.rb
413
393
  - lib/hamlit/template.rb
414
- - lib/hamlit/temple.rb
394
+ - lib/hamlit/utils.rb
415
395
  - lib/hamlit/version.rb
416
- - release
417
- - spec/Rakefile
418
- - spec/hamlit/engine/comment_spec.rb
419
- - spec/hamlit/engine/doctype_spec.rb
420
- - spec/hamlit/engine/error_spec.rb
421
- - spec/hamlit/engine/indent_spec.rb
422
- - spec/hamlit/engine/multiline_spec.rb
423
- - spec/hamlit/engine/new_attribute_spec.rb
424
- - spec/hamlit/engine/old_attributes_spec.rb
425
- - spec/hamlit/engine/script_spec.rb
426
- - spec/hamlit/engine/silent_script_spec.rb
427
- - spec/hamlit/engine/tag_spec.rb
428
- - spec/hamlit/engine/text_spec.rb
429
- - spec/hamlit/engine_spec.rb
430
- - spec/hamlit/filters/coffee_spec.rb
431
- - spec/hamlit/filters/css_spec.rb
432
- - spec/hamlit/filters/erb_spec.rb
433
- - spec/hamlit/filters/javascript_spec.rb
434
- - spec/hamlit/filters/less_spec.rb
435
- - spec/hamlit/filters/markdown_spec.rb
436
- - spec/hamlit/filters/plain_spec.rb
437
- - spec/hamlit/filters/ruby_spec.rb
438
- - spec/hamlit/filters/sass_spec.rb
439
- - spec/hamlit/filters/scss_spec.rb
440
- - spec/hamlit/haml_spec.rb
441
- - spec/rails/.gitignore
442
- - spec/rails/.rspec
443
- - spec/rails/Gemfile
444
- - spec/rails/README.rdoc
445
- - spec/rails/Rakefile
446
- - spec/rails/app/assets/images/.keep
447
- - spec/rails/app/assets/javascripts/application.js
448
- - spec/rails/app/assets/stylesheets/application.css
449
- - spec/rails/app/controllers/application_controller.rb
450
- - spec/rails/app/controllers/concerns/.keep
451
- - spec/rails/app/controllers/users_controller.rb
452
- - spec/rails/app/helpers/application_helper.rb
453
- - spec/rails/app/mailers/.keep
454
- - spec/rails/app/models/.keep
455
- - spec/rails/app/models/concerns/.keep
456
- - spec/rails/app/views/application/index.html.haml
457
- - spec/rails/app/views/layouts/application.html.haml
458
- - spec/rails/app/views/users/capture.html.haml
459
- - spec/rails/app/views/users/capture_haml.html.haml
460
- - spec/rails/app/views/users/form.html.haml
461
- - spec/rails/app/views/users/helpers.html.haml
462
- - spec/rails/app/views/users/index.html.haml
463
- - spec/rails/app/views/users/inline.html.haml
464
- - spec/rails/app/views/users/old_attributes.html.haml
465
- - spec/rails/app/views/users/safe_buffer.html.haml
466
- - spec/rails/app/views/users/whitespace.html.haml
467
- - spec/rails/bin/bundle
468
- - spec/rails/bin/rails
469
- - spec/rails/bin/rake
470
- - spec/rails/bin/setup
471
- - spec/rails/bin/spring
472
- - spec/rails/config.ru
473
- - spec/rails/config/application.rb
474
- - spec/rails/config/boot.rb
475
- - spec/rails/config/database.yml
476
- - spec/rails/config/environment.rb
477
- - spec/rails/config/environments/development.rb
478
- - spec/rails/config/environments/production.rb
479
- - spec/rails/config/environments/test.rb
480
- - spec/rails/config/initializers/assets.rb
481
- - spec/rails/config/initializers/backtrace_silencers.rb
482
- - spec/rails/config/initializers/cookies_serializer.rb
483
- - spec/rails/config/initializers/filter_parameter_logging.rb
484
- - spec/rails/config/initializers/inflections.rb
485
- - spec/rails/config/initializers/mime_types.rb
486
- - spec/rails/config/initializers/session_store.rb
487
- - spec/rails/config/initializers/wrap_parameters.rb
488
- - spec/rails/config/locales/en.yml
489
- - spec/rails/config/routes.rb
490
- - spec/rails/config/secrets.yml
491
- - spec/rails/db/schema.rb
492
- - spec/rails/db/seeds.rb
493
- - spec/rails/lib/assets/.keep
494
- - spec/rails/lib/tasks/.keep
495
- - spec/rails/log/.keep
496
- - spec/rails/public/404.html
497
- - spec/rails/public/422.html
498
- - spec/rails/public/500.html
499
- - spec/rails/public/favicon.ico
500
- - spec/rails/public/robots.txt
501
- - spec/rails/spec/hamlit_spec.rb
502
- - spec/rails/spec/rails_helper.rb
503
- - spec/rails/spec/spec_helper.rb
504
- - spec/rails/vendor/assets/javascripts/.keep
505
- - spec/rails/vendor/assets/stylesheets/.keep
506
- - spec/spec_helper.rb
507
- - spec/spec_helper/document_generator.rb
508
- - spec/spec_helper/render_helper.rb
509
- - spec/spec_helper/test_case.rb
510
- - test
511
396
  homepage: https://github.com/k0kubun/hamlit
512
397
  licenses:
513
398
  - MIT
@@ -520,7 +405,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
520
405
  requirements:
521
406
  - - ">="
522
407
  - !ruby/object:Gem::Version
523
- version: 2.0.0
408
+ version: '0'
524
409
  required_rubygems_version: !ruby/object:Gem::Requirement
525
410
  requirements:
526
411
  - - ">="
@@ -528,101 +413,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
528
413
  version: '0'
529
414
  requirements: []
530
415
  rubyforge_project:
531
- rubygems_version: 2.4.5
416
+ rubygems_version: 2.4.5.1
532
417
  signing_key:
533
418
  specification_version: 4
534
419
  summary: High Performance Haml Implementation
535
- test_files:
536
- - spec/Rakefile
537
- - spec/hamlit/engine/comment_spec.rb
538
- - spec/hamlit/engine/doctype_spec.rb
539
- - spec/hamlit/engine/error_spec.rb
540
- - spec/hamlit/engine/indent_spec.rb
541
- - spec/hamlit/engine/multiline_spec.rb
542
- - spec/hamlit/engine/new_attribute_spec.rb
543
- - spec/hamlit/engine/old_attributes_spec.rb
544
- - spec/hamlit/engine/script_spec.rb
545
- - spec/hamlit/engine/silent_script_spec.rb
546
- - spec/hamlit/engine/tag_spec.rb
547
- - spec/hamlit/engine/text_spec.rb
548
- - spec/hamlit/engine_spec.rb
549
- - spec/hamlit/filters/coffee_spec.rb
550
- - spec/hamlit/filters/css_spec.rb
551
- - spec/hamlit/filters/erb_spec.rb
552
- - spec/hamlit/filters/javascript_spec.rb
553
- - spec/hamlit/filters/less_spec.rb
554
- - spec/hamlit/filters/markdown_spec.rb
555
- - spec/hamlit/filters/plain_spec.rb
556
- - spec/hamlit/filters/ruby_spec.rb
557
- - spec/hamlit/filters/sass_spec.rb
558
- - spec/hamlit/filters/scss_spec.rb
559
- - spec/hamlit/haml_spec.rb
560
- - spec/rails/.gitignore
561
- - spec/rails/.rspec
562
- - spec/rails/Gemfile
563
- - spec/rails/README.rdoc
564
- - spec/rails/Rakefile
565
- - spec/rails/app/assets/images/.keep
566
- - spec/rails/app/assets/javascripts/application.js
567
- - spec/rails/app/assets/stylesheets/application.css
568
- - spec/rails/app/controllers/application_controller.rb
569
- - spec/rails/app/controllers/concerns/.keep
570
- - spec/rails/app/controllers/users_controller.rb
571
- - spec/rails/app/helpers/application_helper.rb
572
- - spec/rails/app/mailers/.keep
573
- - spec/rails/app/models/.keep
574
- - spec/rails/app/models/concerns/.keep
575
- - spec/rails/app/views/application/index.html.haml
576
- - spec/rails/app/views/layouts/application.html.haml
577
- - spec/rails/app/views/users/capture.html.haml
578
- - spec/rails/app/views/users/capture_haml.html.haml
579
- - spec/rails/app/views/users/form.html.haml
580
- - spec/rails/app/views/users/helpers.html.haml
581
- - spec/rails/app/views/users/index.html.haml
582
- - spec/rails/app/views/users/inline.html.haml
583
- - spec/rails/app/views/users/old_attributes.html.haml
584
- - spec/rails/app/views/users/safe_buffer.html.haml
585
- - spec/rails/app/views/users/whitespace.html.haml
586
- - spec/rails/bin/bundle
587
- - spec/rails/bin/rails
588
- - spec/rails/bin/rake
589
- - spec/rails/bin/setup
590
- - spec/rails/bin/spring
591
- - spec/rails/config.ru
592
- - spec/rails/config/application.rb
593
- - spec/rails/config/boot.rb
594
- - spec/rails/config/database.yml
595
- - spec/rails/config/environment.rb
596
- - spec/rails/config/environments/development.rb
597
- - spec/rails/config/environments/production.rb
598
- - spec/rails/config/environments/test.rb
599
- - spec/rails/config/initializers/assets.rb
600
- - spec/rails/config/initializers/backtrace_silencers.rb
601
- - spec/rails/config/initializers/cookies_serializer.rb
602
- - spec/rails/config/initializers/filter_parameter_logging.rb
603
- - spec/rails/config/initializers/inflections.rb
604
- - spec/rails/config/initializers/mime_types.rb
605
- - spec/rails/config/initializers/session_store.rb
606
- - spec/rails/config/initializers/wrap_parameters.rb
607
- - spec/rails/config/locales/en.yml
608
- - spec/rails/config/routes.rb
609
- - spec/rails/config/secrets.yml
610
- - spec/rails/db/schema.rb
611
- - spec/rails/db/seeds.rb
612
- - spec/rails/lib/assets/.keep
613
- - spec/rails/lib/tasks/.keep
614
- - spec/rails/log/.keep
615
- - spec/rails/public/404.html
616
- - spec/rails/public/422.html
617
- - spec/rails/public/500.html
618
- - spec/rails/public/favicon.ico
619
- - spec/rails/public/robots.txt
620
- - spec/rails/spec/hamlit_spec.rb
621
- - spec/rails/spec/rails_helper.rb
622
- - spec/rails/spec/spec_helper.rb
623
- - spec/rails/vendor/assets/javascripts/.keep
624
- - spec/rails/vendor/assets/stylesheets/.keep
625
- - spec/spec_helper.rb
626
- - spec/spec_helper/document_generator.rb
627
- - spec/spec_helper/render_helper.rb
628
- - spec/spec_helper/test_case.rb
420
+ test_files: []