habaki 0.5.3 → 0.5.4

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: 99a0d86e6c6dc0b69d2d83a359986c92875c4139e8df27897ffb44ad05d6d2fa
4
- data.tar.gz: 8c83b1a623518634131e6786b69128588ced9b1e0093f94d9ac6a972d1b1f3b5
3
+ metadata.gz: 07aac3ef018685ae5ba014eae5369fffc0e74d3a0f4219d7caa005f7d359d14b
4
+ data.tar.gz: 51b5777e6cc9d2b6ead583aa259965d1c78ccfac535214cb058328263b83d2d3
5
5
  SHA512:
6
- metadata.gz: d8488e134dbe6ff0c370c94bee15b423c0efe7f1b29d789d3f333777469a9c36e9fca192380c48d8962ce3a2cfb6b0f116f20198cec98558ea5a5ede51153283
7
- data.tar.gz: 4cb0de2c9ad929bafd4218f1d46cd888a0180b0102d70526e896d905eb807ad42d3e369b25b3d5759fe636c61fff32de7b42472e688f0ed031d0554ede3f9883
6
+ metadata.gz: 8099f0147a9acf50cea501484328e0b4d737a02daf6c6cce6547b9eb94071fe4e98d4b06c8571c0b635244378531bddf43343ad48d30cbb320876feb77f9552b
7
+ data.tar.gz: 1fad3480648acc3247ffd822d1136dbfa20120c3f402c346200027c21da0bd4868a0f8a4b0e6a6233ae125dc9ac4e1328078e14c2d43e3ea701ab4bd7a83f824
@@ -16,6 +16,8 @@
16
16
  #include "src/katana.h"
17
17
  #include "src/selector.h"
18
18
 
19
+ #define UTF8_STR_NEW(val) rb_enc_associate_index(rb_str_new2(val), rb_enc_find_index("UTF-8"))
20
+
19
21
  /* Array */
20
22
 
21
23
  VALUE rb_array_length(VALUE array);
@@ -13,7 +13,7 @@ VALUE rb_declaration_prop(VALUE self)
13
13
  KatanaDeclaration *c_decl;
14
14
  Data_Get_Struct(self, KatanaDeclaration, c_decl);
15
15
  if (c_decl->property)
16
- return rb_str_new2(c_decl->property);
16
+ return UTF8_STR_NEW(c_decl->property);
17
17
  else
18
18
  Qnil;
19
19
  }
@@ -286,10 +286,10 @@ VALUE rb_value_value(VALUE self)
286
286
  val = rb_float_new(c_val->fValue);
287
287
  break;
288
288
  case KATANA_VALUE_IDENT:
289
- val = rb_str_new2(c_val->string);
289
+ val = UTF8_STR_NEW(c_val->string);
290
290
  break;
291
291
  case KATANA_VALUE_STRING:
292
- val = rb_str_new2(c_val->string);
292
+ val = UTF8_STR_NEW(c_val->string);
293
293
  break;
294
294
  case KATANA_VALUE_PARSER_FUNCTION:
295
295
  {
@@ -304,19 +304,19 @@ VALUE rb_value_value(VALUE self)
304
304
  // return katana_stringify_value_list(parser, value->list);
305
305
  break;
306
306
  case KATANA_VALUE_PARSER_HEXCOLOR:
307
- val = rb_str_new2(c_val->string);
307
+ val = UTF8_STR_NEW(c_val->string);
308
308
  break;
309
309
  case KATANA_VALUE_URI:
310
- val = rb_str_new2(c_val->string);
310
+ val = UTF8_STR_NEW(c_val->string);
311
311
  break;
312
312
  case KATANA_VALUE_UNICODE_RANGE:
313
- val = rb_str_new2(c_val->string);
313
+ val = UTF8_STR_NEW(c_val->string);
314
314
  break;
315
315
  case KATANA_VALUE_DIMENSION:
316
- val = rb_str_new2(c_val->string);
316
+ val = UTF8_STR_NEW(c_val->string);
317
317
  break;
318
318
  case KATANA_VALUE_UNKNOWN:
319
- val = rb_str_new2(c_val->string);
319
+ val = UTF8_STR_NEW(c_val->string);
320
320
  break;
321
321
  default:
322
322
  fprintf(stderr, "KATANA: unsupported value unit %d (%s)\n", c_val->unit, c_val->string);
@@ -371,12 +371,6 @@ void init_katana_declaration()
371
371
 
372
372
  rb_define_method(rb_Declaration, "position", rb_declaration_position, 0);
373
373
 
374
- // Declaration
375
- rb_Declaration = rb_define_class_under(rb_Katana, "Declaration", rb_cObject);
376
- rb_define_method(rb_Declaration, "property", rb_declaration_prop, 0);
377
- rb_define_method(rb_Declaration, "important", rb_declaration_important, 0);
378
- rb_define_method(rb_Declaration, "values", rb_declaration_values, 0);
379
-
380
374
  // Value
381
375
  rb_Value = rb_define_class_under(rb_Katana, "Value", rb_cObject);
382
376
  rb_define_method(rb_Value, "value", rb_value_value, 0);
@@ -477,7 +477,7 @@ VALUE rb_selector_data_value(VALUE self)
477
477
  if (c_sel->value)
478
478
  {
479
479
  // force UTF-8
480
- return rb_enc_associate_index(rb_str_new2(c_sel->value), rb_enc_find_index("UTF-8"));
480
+ return UTF8_STR_NEW(c_sel->value);
481
481
  }
482
482
  else
483
483
  return Qnil;
@@ -6,7 +6,7 @@ module Habaki
6
6
 
7
7
  # @param [String] encoding
8
8
  def initialize(encoding = nil)
9
- @encoding
9
+ @encoding = encoding
10
10
  end
11
11
 
12
12
  # @param [Formatter::Base] format
@@ -28,7 +28,7 @@ module Habaki
28
28
  def traverse(&block)
29
29
  block.call self
30
30
  @children.each do |child|
31
- child.traverse &block
31
+ child.traverse(&block)
32
32
  end
33
33
  end
34
34
 
@@ -111,7 +111,7 @@ module Habaki
111
111
  data.each do |k, v|
112
112
  begin
113
113
  @properties[k] = Tree.parse(v)
114
- rescue FormalSyntaxError => e
114
+ rescue FormalSyntaxError #=> e
115
115
  #STDERR.puts("#{k}: #{e}")
116
116
  end
117
117
  end
data/lib/habaki/rules.rb CHANGED
@@ -179,7 +179,7 @@ module Habaki
179
179
  end
180
180
 
181
181
  def each_rule(&block)
182
- each &block
182
+ each(&block)
183
183
  end
184
184
 
185
185
  # @param [Formatter::Base] format
@@ -4,6 +4,12 @@ module Habaki
4
4
  # @return [Symbol]
5
5
  attr_accessor :relation
6
6
 
7
+ def initialize(*args)
8
+ super(*args)
9
+
10
+ @relation = nil
11
+ end
12
+
7
13
  # does every sub selectors match {Visitor::Element} ?
8
14
  # @param [Visitor::Element] element
9
15
  # @param [Specificity, nil] specificity
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: habaki
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.5.3
4
+ version: 0.5.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - Julien Boulnois
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2022-03-14 00:00:00.000000000 Z
11
+ date: 2022-03-15 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: nokogiri