hamlit 2.13.2-java → 2.14.4-java

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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 9c157cfa69dafaafe52824f77e7d8b42678ba3710dd09bbb5808a714cfda759a
4
- data.tar.gz: 1e734a39a56edf5cd3898d9245506dd865e15734cc590c990c72350f20e48ae6
3
+ metadata.gz: 62e629fef1bc222ab631aee99292c64ab9c67d8c590991c44dfa43e673214548
4
+ data.tar.gz: f2aed6b260bec4896df12cfcea5aaa7a226efee73ea7a3df72a5018b8370f0a1
5
5
  SHA512:
6
- metadata.gz: 6ab77e54fe32548c307d1f1fef0356915be976313721ec70bd33877f5063f5a953c00b722b267af01668ea33c05daef9e07d8c7732936126ca1d06791c81161f
7
- data.tar.gz: 57aea5e83ec4a34fd5bd41878b687f13e987c4a2d8a7bec1b7823d86755332f49084d20a61a88ecbdadd7278d9ef1517a871b1b8a338cad02f765bc4862f56d4
6
+ metadata.gz: a6b0808eec0c088bffe3d3cb4073bdaf875544e76795084e51fad9dec48fcd672f208fb302495464e9d2b5d265f026622b14e51a7fe49fb5189a11dc4843f477
7
+ data.tar.gz: 6f0823f8141cbf3fc174c1b403d6c502c310fbe5dcaf40c421dda79424eb060532a194b41adbb021e9910d7f7a9b50dcd9acbcf8ed29e2162129e2fd8cbcea67
@@ -13,18 +13,28 @@ on:
13
13
  jobs:
14
14
  test:
15
15
  runs-on: ubuntu-latest
16
- container: ${{ matrix.ruby }}
17
16
  strategy:
18
17
  fail-fast: false
19
18
  matrix:
20
19
  ruby:
21
- - ruby:2.5
22
- - ruby:2.6
23
- - ruby:2.7
24
- # TODO: add jruby and truffleruby
20
+ - '2.5'
21
+ - '2.6'
22
+ - '2.7'
23
+ - '3.0'
24
+ - jruby
25
+ - truffleruby-head
25
26
  steps:
26
27
  - uses: actions/checkout@v2
27
- - run: apt-get update && apt-get install -y nodejs # For execjs
28
+ - name: Set up Ruby
29
+ uses: ruby/setup-ruby@v1
30
+ with:
31
+ ruby-version: ${{ matrix.ruby }}
32
+ - uses: actions/cache@v2
33
+ with:
34
+ path: vendor/bundle
35
+ key: ${{ runner.os }}-${{ matrix.ruby }}-gems-${{ hashFiles('**/Gemfile.lock') }}
36
+ restore-keys: ${{ runner.os }}-gems-
37
+ - run: sudo apt-get update && sudo apt-get install -y nodejs libxslt-dev # nodejs for execjs, libxslt for TruffleRuby nokogiri
28
38
  - name: bundle install
29
- run: bundle install -j$(nproc) --retry 3
39
+ run: bundle config path vendor/bundle && bundle install -j$(nproc) --retry 3
30
40
  - run: bundle exec rake test
data/.gitignore CHANGED
@@ -13,6 +13,6 @@
13
13
  *.bundle
14
14
  *.so
15
15
  *.su
16
- *.o
17
16
  *.a
17
+ *.o
18
18
  *.swp
data/CHANGELOG.md CHANGED
@@ -4,6 +4,45 @@ All notable changes to this project will be documented in this file. This
4
4
  project adheres to [Semantic Versioning](http://semver.org/). This change log is based upon
5
5
  [keep-a-changelog](https://github.com/olivierlacan/keep-a-changelog).
6
6
 
7
+ ## [2.14.4](https://github.com/k0kubun/hamlit/compare/v2.14.3...v2.14.4) - 2021-02-01
8
+
9
+ ### Fixed
10
+
11
+ - Prevent another SEGV in a C extension after `GC.compact` [#177](https://github.com/k0kubun/hamlit/issues/177)
12
+ *Thanks to @stanhu*
13
+
14
+ ## [2.14.3](https://github.com/k0kubun/hamlit/compare/v2.14.2...v2.14.3) - 2021-01-24
15
+
16
+ ### Fixed
17
+
18
+ - Ensure the Rails initializer is called before `:load_config_initializers` [#176](https://github.com/k0kubun/hamlit/issues/176)
19
+ *Thanks to @sunny*
20
+
21
+ ## [2.14.2](https://github.com/k0kubun/hamlit/compare/v2.14.1...v2.14.2) - 2021-01-21
22
+
23
+ ### Fixed
24
+
25
+ - Prevent SEGV in a C extension after `GC.compact` [#171](https://github.com/k0kubun/hamlit/issues/171)
26
+ *Thanks to @stanhu*
27
+
28
+ ## [2.14.1](https://github.com/k0kubun/hamlit/compare/v2.14.0...v2.14.1) - 2021-01-07
29
+
30
+ ### Added
31
+
32
+ - Add `-c` option to `hamlit compile` that works like `haml -c` [#166](https://github.com/k0kubun/hamlit/issues/166)
33
+ *Thanks to @knightq*
34
+
35
+ ## [2.14.0](https://github.com/k0kubun/hamlit/compare/v2.13.2...v2.14.0) - 2021-01-07
36
+
37
+ ### Changed
38
+
39
+ - CLI changes
40
+ - Remove `-c` shorthand of `--color`.
41
+ - Make `--color` default. Please use `--no-color` to disable it.
42
+ - `--color` uses IRB instead of Pry for syntax highlight.
43
+ - Syntax highlight of `hamlit compile` is enabled only with IRB of Ruby 2.7+.
44
+ - Syntax highlight of `hamlit parse` / `hamlit temple` is enabled only with IRB of Ruby 3.1+.
45
+
7
46
  ## [2.13.2](https://github.com/k0kubun/hamlit/compare/v2.13.1...v2.13.2) - 2020-12-27
8
47
 
9
48
  ### Added
data/README.md CHANGED
@@ -1,7 +1,7 @@
1
1
  # Hamlit
2
2
 
3
3
  [![Gem Version](https://badge.fury.io/rb/hamlit.svg)](http://badge.fury.io/rb/hamlit)
4
- [![Build Status](https://travis-ci.org/k0kubun/hamlit.svg?branch=master)](https://travis-ci.org/k0kubun/hamlit)
4
+ [![test](https://github.com/k0kubun/hamlit/workflows/test/badge.svg)](https://github.com/k0kubun/hamlit/actions?query=workflow%3Atest)
5
5
 
6
6
  Hamlit is a high performance [Haml](https://github.com/haml/haml) implementation.
7
7
 
data/ext/hamlit/hamlit.c CHANGED
@@ -6,15 +6,9 @@
6
6
 
7
7
  VALUE mAttributeBuilder, mObjectRef;
8
8
  static ID id_flatten, id_keys, id_parse, id_prepend, id_tr, id_uniq_bang;
9
- static ID id_aria, id_data, id_equal, id_hyphen, id_space, id_underscore;
10
- static ID id_boolean_attributes, id_xhtml;
9
+ static ID id_xhtml;
11
10
 
12
- static VALUE str_aria() { return rb_const_get(mAttributeBuilder, id_aria); }
13
- static VALUE str_data() { return rb_const_get(mAttributeBuilder, id_data); }
14
- static VALUE str_equal() { return rb_const_get(mAttributeBuilder, id_equal); }
15
- static VALUE str_hyphen() { return rb_const_get(mAttributeBuilder, id_hyphen); }
16
- static VALUE str_space() { return rb_const_get(mAttributeBuilder, id_space); }
17
- static VALUE str_underscore() { return rb_const_get(mAttributeBuilder, id_underscore); }
11
+ static VALUE str_aria, str_data, str_equal, str_hyphen, str_space, str_underscore;
18
12
 
19
13
  static void
20
14
  delete_falsey_values(VALUE values)
@@ -51,7 +45,7 @@ hyphenate(VALUE str)
51
45
 
52
46
  for (i = 0; i < RSTRING_LEN(str); i++) {
53
47
  if (RSTRING_PTR(str)[i] == '_') {
54
- rb_str_update(str, i, 1, str_hyphen());
48
+ rb_str_update(str, i, 1, str_hyphen);
55
49
  }
56
50
  }
57
51
  return str;
@@ -97,7 +91,7 @@ hamlit_build_id(VALUE escape_attrs, VALUE values)
97
91
  values = rb_funcall(values, id_flatten, 0);
98
92
  delete_falsey_values(values);
99
93
 
100
- attr_value = rb_ary_join(values, str_underscore());
94
+ attr_value = rb_ary_join(values, str_underscore);
101
95
  return escape_attribute(escape_attrs, attr_value);
102
96
  }
103
97
 
@@ -110,7 +104,7 @@ hamlit_build_single_class(VALUE escape_attrs, VALUE value)
110
104
  case T_ARRAY:
111
105
  value = rb_funcall(value, id_flatten, 0);
112
106
  delete_falsey_values(value);
113
- value = rb_ary_join(value, str_space());
107
+ value = rb_ary_join(value, str_space);
114
108
  break;
115
109
  default:
116
110
  if (RTEST(value)) {
@@ -154,7 +148,7 @@ hamlit_build_multi_class(VALUE escape_attrs, VALUE values)
154
148
 
155
149
  rb_funcall(buf, id_uniq_bang, 0);
156
150
 
157
- return escape_attribute(escape_attrs, rb_ary_join(buf, str_space()));
151
+ return escape_attribute(escape_attrs, rb_ary_join(buf, str_space));
158
152
  }
159
153
 
160
154
  static VALUE
@@ -285,7 +279,7 @@ hamlit_build_data(VALUE escape_attrs, VALUE quote, VALUE values, VALUE key_str)
285
279
 
286
280
  switch (value) {
287
281
  case Qtrue:
288
- rb_str_concat(buf, str_space());
282
+ rb_str_concat(buf, str_space);
289
283
  rb_str_concat(buf, key);
290
284
  break;
291
285
  case Qnil:
@@ -293,9 +287,9 @@ hamlit_build_data(VALUE escape_attrs, VALUE quote, VALUE values, VALUE key_str)
293
287
  case Qfalse:
294
288
  break; // noop
295
289
  default:
296
- rb_str_concat(buf, str_space());
290
+ rb_str_concat(buf, str_space);
297
291
  rb_str_concat(buf, key);
298
- rb_str_concat(buf, str_equal());
292
+ rb_str_concat(buf, str_equal);
299
293
  rb_str_concat(buf, quote);
300
294
  rb_str_concat(buf, escape_attribute(escape_attrs, to_s(value)));
301
295
  rb_str_concat(buf, quote);
@@ -348,13 +342,10 @@ merge_all_attrs(VALUE hashes)
348
342
  }
349
343
 
350
344
  int
351
- is_boolean_attribute(VALUE key)
345
+ is_boolean_attribute(VALUE key, VALUE boolean_attributes)
352
346
  {
353
- VALUE boolean_attributes;
354
347
  if (str_eq(rb_str_substr(key, 0, 5), "data-", 5)) return 1;
355
348
  if (str_eq(rb_str_substr(key, 0, 5), "aria-", 5)) return 1;
356
-
357
- boolean_attributes = rb_const_get(mAttributeBuilder, id_boolean_attributes);
358
349
  return RTEST(rb_ary_includes(boolean_attributes, key));
359
350
  }
360
351
 
@@ -379,13 +370,13 @@ hamlit_build_for_class(VALUE escape_attrs, VALUE quote, VALUE buf, VALUE values)
379
370
  void
380
371
  hamlit_build_for_data(VALUE escape_attrs, VALUE quote, VALUE buf, VALUE values)
381
372
  {
382
- rb_str_concat(buf, hamlit_build_data(escape_attrs, quote, values, str_data()));
373
+ rb_str_concat(buf, hamlit_build_data(escape_attrs, quote, values, str_data));
383
374
  }
384
375
 
385
376
  void
386
377
  hamlit_build_for_aria(VALUE escape_attrs, VALUE quote, VALUE buf, VALUE values)
387
378
  {
388
- rb_str_concat(buf, hamlit_build_data(escape_attrs, quote, values, str_aria()));
379
+ rb_str_concat(buf, hamlit_build_data(escape_attrs, quote, values, str_aria));
389
380
  }
390
381
 
391
382
  void
@@ -424,7 +415,7 @@ hamlit_build_for_boolean(VALUE escape_attrs, VALUE quote, VALUE format, VALUE bu
424
415
  }
425
416
 
426
417
  static VALUE
427
- hamlit_build(VALUE escape_attrs, VALUE quote, VALUE format, VALUE object_ref, VALUE hashes)
418
+ hamlit_build(VALUE escape_attrs, VALUE quote, VALUE format, VALUE boolean_attributes, VALUE object_ref, VALUE hashes)
428
419
  {
429
420
  long i;
430
421
  VALUE attrs, buf, key, keys, value;
@@ -445,7 +436,7 @@ hamlit_build(VALUE escape_attrs, VALUE quote, VALUE format, VALUE object_ref, VA
445
436
  hamlit_build_for_data(escape_attrs, quote, buf, value);
446
437
  } else if (str_eq(key, "aria", 4)) {
447
438
  hamlit_build_for_aria(escape_attrs, quote, buf, value);
448
- } else if (is_boolean_attribute(key)) {
439
+ } else if (is_boolean_attribute(key, boolean_attributes)) {
449
440
  hamlit_build_for_boolean(escape_attrs, quote, format, buf, key, value);
450
441
  } else {
451
442
  hamlit_build_for_others(escape_attrs, quote, buf, key, value);
@@ -485,7 +476,7 @@ rb_hamlit_build_aria(int argc, VALUE *argv, RB_UNUSED_VAR(VALUE self))
485
476
  rb_check_arity(argc, 2, UNLIMITED_ARGUMENTS);
486
477
  rb_scan_args(argc - 2, argv + 2, "*", &array);
487
478
 
488
- return hamlit_build_data(argv[0], argv[1], array, str_aria());
479
+ return hamlit_build_data(argv[0], argv[1], array, str_aria);
489
480
  }
490
481
 
491
482
  static VALUE
@@ -496,7 +487,7 @@ rb_hamlit_build_data(int argc, VALUE *argv, RB_UNUSED_VAR(VALUE self))
496
487
  rb_check_arity(argc, 2, UNLIMITED_ARGUMENTS);
497
488
  rb_scan_args(argc - 2, argv + 2, "*", &array);
498
489
 
499
- return hamlit_build_data(argv[0], argv[1], array, str_data());
490
+ return hamlit_build_data(argv[0], argv[1], array, str_data);
500
491
  }
501
492
 
502
493
  static VALUE
@@ -504,10 +495,10 @@ rb_hamlit_build(int argc, VALUE *argv, RB_UNUSED_VAR(VALUE self))
504
495
  {
505
496
  VALUE array;
506
497
 
507
- rb_check_arity(argc, 4, UNLIMITED_ARGUMENTS);
508
- rb_scan_args(argc - 4, argv + 4, "*", &array);
498
+ rb_check_arity(argc, 5, UNLIMITED_ARGUMENTS);
499
+ rb_scan_args(argc - 5, argv + 5, "*", &array);
509
500
 
510
- return hamlit_build(argv[0], argv[1], argv[2], argv[3], array);
501
+ return hamlit_build(argv[0], argv[1], argv[2], argv[3], argv[4], array);
511
502
  }
512
503
 
513
504
  void
@@ -533,22 +524,14 @@ Init_hamlit(void)
533
524
  id_prepend = rb_intern("prepend");
534
525
  id_tr = rb_intern("tr");
535
526
  id_uniq_bang = rb_intern("uniq!");
536
-
537
- id_aria = rb_intern("ARIA");
538
- id_data = rb_intern("DATA");
539
- id_equal = rb_intern("EQUAL");
540
- id_hyphen = rb_intern("HYPHEN");
541
- id_space = rb_intern("SPACE");
542
- id_underscore = rb_intern("UNDERSCORE");
543
-
544
- id_boolean_attributes = rb_intern("BOOLEAN_ATTRIBUTES");
545
- id_xhtml = rb_intern("xhtml");
546
-
547
- rb_const_set(mAttributeBuilder, id_aria, rb_obj_freeze(rb_str_new_cstr("aria")));
548
- rb_const_set(mAttributeBuilder, id_data, rb_obj_freeze(rb_str_new_cstr("data")));
549
- rb_const_set(mAttributeBuilder, id_equal, rb_obj_freeze(rb_str_new_cstr("=")));
550
- rb_const_set(mAttributeBuilder, id_hyphen, rb_obj_freeze(rb_str_new_cstr("-")));
551
- rb_const_set(mAttributeBuilder, id_space, rb_obj_freeze(rb_str_new_cstr(" ")));
552
- rb_const_set(mAttributeBuilder, id_underscore, rb_obj_freeze(rb_str_new_cstr("_")));
527
+ id_xhtml = rb_intern("xhtml");
528
+
529
+ // Consider using rb_interned_str() once we stop supporting Ruby 2.7.
530
+ rb_gc_register_mark_object(str_aria = rb_obj_freeze(rb_str_new_cstr("aria")));
531
+ rb_gc_register_mark_object(str_data = rb_obj_freeze(rb_str_new_cstr("data")));
532
+ rb_gc_register_mark_object(str_equal = rb_obj_freeze(rb_str_new_cstr("=")));
533
+ rb_gc_register_mark_object(str_hyphen = rb_obj_freeze(rb_str_new_cstr("-")));
534
+ rb_gc_register_mark_object(str_space = rb_obj_freeze(rb_str_new_cstr(" ")));
535
+ rb_gc_register_mark_object(str_underscore = rb_obj_freeze(rb_str_new_cstr("_")));
553
536
  }
554
537
  #endif
@@ -13,7 +13,7 @@ module Hamlit::AttributeBuilder
13
13
  # TruffleRuby does not implement `rb_ary_sort_bang`, etc.
14
14
  if /java/ === RUBY_PLATFORM || RUBY_ENGINE == 'truffleruby'
15
15
  class << self
16
- def build(escape_attrs, quote, format, object_ref, *hashes)
16
+ def build(escape_attrs, quote, format, boolean_attributes, object_ref, *hashes)
17
17
  hashes << Hamlit::ObjectRef.parse(object_ref) if object_ref
18
18
  buf = []
19
19
  hash = merge_all_attrs(hashes)
@@ -27,7 +27,7 @@ module Hamlit::AttributeBuilder
27
27
  buf << " class=#{quote}#{build_class(escape_attrs, *hash[key])}#{quote}"
28
28
  when 'data'.freeze
29
29
  buf << build_data(escape_attrs, quote, *hash[key])
30
- when *BOOLEAN_ATTRIBUTES, /\Adata-/
30
+ when *boolean_attributes, /\Adata-/
31
31
  build_boolean!(escape_attrs, quote, format, buf, key, hash[key])
32
32
  else
33
33
  buf << " #{key}=#{quote}#{escape_html(escape_attrs, hash[key].to_s)}#{quote}"
@@ -31,7 +31,10 @@ module Hamlit
31
31
  attrs = []
32
32
  attrs.unshift(node.value[:attributes].inspect) if node.value[:attributes] != {}
33
33
 
34
- args = [@escape_attrs.inspect, "#{@quote.inspect}.freeze", @format.inspect].push(node.value[:object_ref]) + attrs
34
+ args = [
35
+ @escape_attrs.inspect, "#{@quote.inspect}.freeze", @format.inspect,
36
+ '::Hamlit::AttributeBuilder::BOOLEAN_ATTRIBUTES', node.value[:object_ref],
37
+ ] + attrs
35
38
  [:html, :attrs, [:dynamic, "::Hamlit::AttributeBuilder.build(#{args.join(', ')}, #{node.value[:dynamic_attributes].to_literal})"]]
36
39
  end
37
40
 
data/lib/hamlit/cli.rb CHANGED
@@ -13,25 +13,33 @@ module Hamlit
13
13
  def render(file)
14
14
  process_load_options
15
15
  code = generate_code(file)
16
- puts eval(code)
16
+ puts eval(code, binding, file)
17
17
  end
18
18
 
19
19
  desc 'compile HAML', 'Show compile result'
20
20
  option :actionview, type: :boolean, default: false, aliases: %w[-a]
21
- option :color, type: :boolean, default: false, aliases: %w[-c]
21
+ option :color, type: :boolean, default: true
22
+ option :check, type: :boolean, default: false, aliases: %w[-c]
22
23
  def compile(file)
23
24
  code = generate_code(file)
25
+ if options[:check]
26
+ if error = validate_ruby(code, file)
27
+ abort error.message.split("\n").first
28
+ end
29
+ puts "Syntax OK"
30
+ return
31
+ end
24
32
  puts_code(code, color: options[:color])
25
33
  end
26
34
 
27
35
  desc 'temple HAML', 'Show temple intermediate expression'
28
- option :color, type: :boolean, default: false, aliases: %w[-c]
36
+ option :color, type: :boolean, default: true
29
37
  def temple(file)
30
38
  pp_object(generate_temple(file), color: options[:color])
31
39
  end
32
40
 
33
41
  desc 'parse HAML', 'Show parse result'
34
- option :color, type: :boolean, default: false, aliases: %w[-c]
42
+ option :color, type: :boolean, default: true
35
43
  def parse(file)
36
44
  pp_object(generate_ast(file), color: options[:color])
37
45
  end
@@ -107,24 +115,40 @@ module Hamlit
107
115
  render(args.first.to_s)
108
116
  end
109
117
 
110
- def puts_code(code, color: false)
118
+ def puts_code(code, color: true)
119
+ begin
120
+ require 'irb/color'
121
+ rescue LoadError
122
+ color = false
123
+ end
111
124
  if color
112
- require 'pry'
113
- puts Pry.Code(code).highlighted
125
+ puts IRB::Color.colorize_code(code)
114
126
  else
115
127
  puts code
116
128
  end
117
129
  end
118
130
 
119
131
  # Enable colored pretty printing only for development environment.
120
- def pp_object(arg, color: false)
132
+ def pp_object(arg, color: true)
133
+ begin
134
+ require 'irb/color_printer'
135
+ rescue LoadError
136
+ color = false
137
+ end
121
138
  if color
122
- require 'pry'
123
- Pry::ColorPrinter.pp(arg)
139
+ IRB::ColorPrinter.pp(arg)
124
140
  else
125
141
  require 'pp'
126
142
  pp(arg)
127
143
  end
128
144
  end
145
+
146
+ def validate_ruby(code, file)
147
+ begin
148
+ eval("BEGIN {return nil}; #{code}", binding, file)
149
+ rescue ::SyntaxError # Not to be confused with Hamlit::SyntaxError
150
+ $!
151
+ end
152
+ end
129
153
  end
130
154
  end
@@ -3,7 +3,7 @@ require 'rails'
3
3
 
4
4
  module Hamlit
5
5
  class Railtie < ::Rails::Railtie
6
- initializer :hamlit do |app|
6
+ initializer :hamlit, before: :load_config_initializers do |app|
7
7
  require 'hamlit/rails_template'
8
8
  end
9
9
  end
@@ -1,4 +1,4 @@
1
1
  # frozen_string_literal: true
2
2
  module Hamlit
3
- VERSION = '2.13.2'
3
+ VERSION = '2.14.4'
4
4
  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: 2.13.2
4
+ version: 2.14.4
5
5
  platform: java
6
6
  authors:
7
7
  - Takashi Kokubun
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2020-12-28 00:00:00.000000000 Z
11
+ date: 2021-02-01 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  requirement: !ruby/object:Gem::Requirement
@@ -17,8 +17,8 @@ dependencies:
17
17
  - !ruby/object:Gem::Version
18
18
  version: 0.8.2
19
19
  name: temple
20
- type: :runtime
21
20
  prerelease: false
21
+ type: :runtime
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
24
  - - ">="
@@ -31,8 +31,8 @@ dependencies:
31
31
  - !ruby/object:Gem::Version
32
32
  version: '0'
33
33
  name: thor
34
- type: :runtime
35
34
  prerelease: false
35
+ type: :runtime
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
38
  - - ">="
@@ -45,8 +45,8 @@ dependencies:
45
45
  - !ruby/object:Gem::Version
46
46
  version: '0'
47
47
  name: tilt
48
- type: :runtime
49
48
  prerelease: false
49
+ type: :runtime
50
50
  version_requirements: !ruby/object:Gem::Requirement
51
51
  requirements:
52
52
  - - ">="
@@ -59,8 +59,8 @@ dependencies:
59
59
  - !ruby/object:Gem::Version
60
60
  version: '0'
61
61
  name: benchmark_driver
62
- type: :development
63
62
  prerelease: false
63
+ type: :development
64
64
  version_requirements: !ruby/object:Gem::Requirement
65
65
  requirements:
66
66
  - - ">="
@@ -73,8 +73,8 @@ dependencies:
73
73
  - !ruby/object:Gem::Version
74
74
  version: '0'
75
75
  name: bundler
76
- type: :development
77
76
  prerelease: false
77
+ type: :development
78
78
  version_requirements: !ruby/object:Gem::Requirement
79
79
  requirements:
80
80
  - - ">="
@@ -87,8 +87,8 @@ dependencies:
87
87
  - !ruby/object:Gem::Version
88
88
  version: '0'
89
89
  name: coffee-script
90
- type: :development
91
90
  prerelease: false
91
+ type: :development
92
92
  version_requirements: !ruby/object:Gem::Requirement
93
93
  requirements:
94
94
  - - ">="
@@ -101,8 +101,8 @@ dependencies:
101
101
  - !ruby/object:Gem::Version
102
102
  version: '0'
103
103
  name: erubi
104
- type: :development
105
104
  prerelease: false
105
+ type: :development
106
106
  version_requirements: !ruby/object:Gem::Requirement
107
107
  requirements:
108
108
  - - ">="
@@ -115,8 +115,8 @@ dependencies:
115
115
  - !ruby/object:Gem::Version
116
116
  version: '5'
117
117
  name: haml
118
- type: :development
119
118
  prerelease: false
119
+ type: :development
120
120
  version_requirements: !ruby/object:Gem::Requirement
121
121
  requirements:
122
122
  - - ">="
@@ -129,8 +129,8 @@ dependencies:
129
129
  - !ruby/object:Gem::Version
130
130
  version: '0'
131
131
  name: less
132
- type: :development
133
132
  prerelease: false
133
+ type: :development
134
134
  version_requirements: !ruby/object:Gem::Requirement
135
135
  requirements:
136
136
  - - ">="
@@ -143,8 +143,8 @@ dependencies:
143
143
  - !ruby/object:Gem::Version
144
144
  version: '1.1'
145
145
  name: minitest-reporters
146
- type: :development
147
146
  prerelease: false
147
+ type: :development
148
148
  version_requirements: !ruby/object:Gem::Requirement
149
149
  requirements:
150
150
  - - "~>"
@@ -157,8 +157,8 @@ dependencies:
157
157
  - !ruby/object:Gem::Version
158
158
  version: '4.0'
159
159
  name: rails
160
- type: :development
161
160
  prerelease: false
161
+ type: :development
162
162
  version_requirements: !ruby/object:Gem::Requirement
163
163
  requirements:
164
164
  - - ">="
@@ -171,8 +171,8 @@ dependencies:
171
171
  - !ruby/object:Gem::Version
172
172
  version: '0'
173
173
  name: rake
174
- type: :development
175
174
  prerelease: false
175
+ type: :development
176
176
  version_requirements: !ruby/object:Gem::Requirement
177
177
  requirements:
178
178
  - - ">="
@@ -185,8 +185,8 @@ dependencies:
185
185
  - !ruby/object:Gem::Version
186
186
  version: '0'
187
187
  name: rake-compiler
188
- type: :development
189
188
  prerelease: false
189
+ type: :development
190
190
  version_requirements: !ruby/object:Gem::Requirement
191
191
  requirements:
192
192
  - - ">="
@@ -199,8 +199,8 @@ dependencies:
199
199
  - !ruby/object:Gem::Version
200
200
  version: '0'
201
201
  name: sass
202
- type: :development
203
202
  prerelease: false
203
+ type: :development
204
204
  version_requirements: !ruby/object:Gem::Requirement
205
205
  requirements:
206
206
  - - ">="
@@ -213,8 +213,8 @@ dependencies:
213
213
  - !ruby/object:Gem::Version
214
214
  version: '0'
215
215
  name: slim
216
- type: :development
217
216
  prerelease: false
217
+ type: :development
218
218
  version_requirements: !ruby/object:Gem::Requirement
219
219
  requirements:
220
220
  - - ">="
@@ -227,8 +227,8 @@ dependencies:
227
227
  - !ruby/object:Gem::Version
228
228
  version: '0'
229
229
  name: string_template
230
- type: :development
231
230
  prerelease: false
231
+ type: :development
232
232
  version_requirements: !ruby/object:Gem::Requirement
233
233
  requirements:
234
234
  - - ">="
@@ -241,8 +241,8 @@ dependencies:
241
241
  - !ruby/object:Gem::Version
242
242
  version: '0'
243
243
  name: unindent
244
- type: :development
245
244
  prerelease: false
245
+ type: :development
246
246
  version_requirements: !ruby/object:Gem::Requirement
247
247
  requirements:
248
248
  - - ">="
@@ -390,7 +390,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
390
390
  - !ruby/object:Gem::Version
391
391
  version: '0'
392
392
  requirements: []
393
- rubygems_version: 3.0.6
393
+ rubyforge_project:
394
+ rubygems_version: 2.7.9
394
395
  signing_key:
395
396
  specification_version: 4
396
397
  summary: High Performance Haml Implementation