habaki 0.5.2 → 0.5.5

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 0ee20d465ea2f474b8f107ecf41a360004ce2af899e743cd86670ed782627702
4
- data.tar.gz: 59fb98647b7107ace1fbbc80e92d91520c06fa5853abdb1ef25cf65f28c78a73
3
+ metadata.gz: 9308e4a60c00b0a7fa4eefd07b3d90a10c31d4331d0b6d30f4ddfbbb50f956bb
4
+ data.tar.gz: 4ae3a2400c1c6a76dffe30f69e548bf518d8a6d1997951261ec4f99be9494c59
5
5
  SHA512:
6
- metadata.gz: e0e5593ac13b7eff2064fb75a51a26e829fda0658fdb3b2d1491f1bdd6212299e00516f6776a0436f9f43939f9739f875f8c73d77dd5e88e05bb5755cc789b21
7
- data.tar.gz: e660626ccaee9bec98a5392bc57cc3dc2ede8526437e4056f6fd2c771a1b4e1c14eabcec6e5b9817fb71fc80a247b3678d1f87b8d73f78db0767255432a22a11
6
+ metadata.gz: c197ef464e17297a07070d620fd934948f315a75e1047b3cc620f6e9b74a880758bdaa185dd61c2b1c6b60f7d527b42e61830d6d91bfeef000ab6fbdd8909c4f
7
+ data.tar.gz: a800968b456fb15162cfa1d1180b2b063cd5821bcc59d14206869484ea633b0d305731bbc976143fa4069f5aa47488859de80a0b8e2ec48124da81090b80bdeb
@@ -10,7 +10,7 @@ src/katana-parser/parser.c src/katana-parser/selector.c src/katana-parser/tokeni
10
10
  src/rb_katana_array.c src/rb_katana_selector.c src/rb_katana_declaration.c src/rb_katana_rule.c src/rb_katana.c
11
11
  }
12
12
 
13
- $INCFLAGS << " -I$(srcdir)/src"
13
+ $INCFLAGS << " -std=c99 -I$(srcdir)/src"
14
14
 
15
15
  # add folder, where compiler can search source files
16
16
  $VPATH << "$(srcdir)/src"
@@ -165,7 +165,7 @@ VALUE rb_error_message(VALUE self)
165
165
  {
166
166
  KatanaError *c_err;
167
167
  Data_Get_Struct(self, KatanaError, c_err);
168
- return rb_str_new2(c_err->message);
168
+ return UTF8_STR_NEW(c_err->message);
169
169
  }
170
170
 
171
171
  /*
@@ -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);
@@ -336,7 +336,7 @@ VALUE rb_value_function_name(VALUE self)
336
336
  KatanaValueFunction *c_val;
337
337
  Data_Get_Struct(self, KatanaValueFunction, c_val);
338
338
  if (c_val->name)
339
- return rb_str_new2(c_val->name);
339
+ return UTF8_STR_NEW(c_val->name);
340
340
  else
341
341
  return Qnil;
342
342
  }
@@ -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);
@@ -104,7 +104,7 @@ VALUE rb_namespace_rule_prefix(VALUE self)
104
104
  KatanaNamespaceRule *c_rule;
105
105
  Data_Get_Struct(self, KatanaNamespaceRule, c_rule);
106
106
  if (c_rule->prefix)
107
- return rb_str_new2(c_rule->prefix);
107
+ return UTF8_STR_NEW(c_rule->prefix);
108
108
  else
109
109
  return Qnil;
110
110
  }
@@ -117,7 +117,7 @@ VALUE rb_namespace_rule_uri(VALUE self)
117
117
  KatanaNamespaceRule *c_rule;
118
118
  Data_Get_Struct(self, KatanaNamespaceRule, c_rule);
119
119
  if (c_rule->prefix)
120
- return rb_str_new2(c_rule->uri);
120
+ return UTF8_STR_NEW(c_rule->uri);
121
121
  else
122
122
  return Qnil;
123
123
  }
@@ -13,7 +13,7 @@ VALUE rb_name_local(VALUE self)
13
13
  KatanaQualifiedName *c_name;
14
14
  Data_Get_Struct(self, KatanaQualifiedName, c_name);
15
15
  if (c_name->local)
16
- return rb_str_new2(c_name->local);
16
+ return UTF8_STR_NEW(c_name->local);
17
17
  else
18
18
  return Qnil;
19
19
  }
@@ -26,7 +26,7 @@ VALUE rb_name_prefix(VALUE self)
26
26
  KatanaQualifiedName *c_name;
27
27
  Data_Get_Struct(self, KatanaQualifiedName, c_name);
28
28
  if (c_name->prefix)
29
- return rb_str_new2(c_name->prefix);
29
+ return UTF8_STR_NEW(c_name->prefix);
30
30
  else
31
31
  return Qnil;
32
32
  }
@@ -39,7 +39,7 @@ VALUE rb_name_uri(VALUE self)
39
39
  KatanaQualifiedName *c_name;
40
40
  Data_Get_Struct(self, KatanaQualifiedName, c_name);
41
41
  if (c_name->uri)
42
- return rb_str_new2(c_name->uri);
42
+ return UTF8_STR_NEW(c_name->uri);
43
43
  else
44
44
  return Qnil;
45
45
  }
@@ -475,10 +475,7 @@ VALUE rb_selector_data_value(VALUE self)
475
475
  KatanaSelectorRareData *c_sel;
476
476
  Data_Get_Struct(self, KatanaSelectorRareData, c_sel);
477
477
  if (c_sel->value)
478
- {
479
- // force UTF-8
480
- return rb_enc_associate_index(rb_str_new2(c_sel->value), rb_enc_find_index("UTF-8"));
481
- }
478
+ return UTF8_STR_NEW(c_sel->value);
482
479
  else
483
480
  return Qnil;
484
481
  }
@@ -504,7 +501,7 @@ VALUE rb_selector_data_argument(VALUE self)
504
501
  KatanaSelectorRareData *c_sel;
505
502
  Data_Get_Struct(self, KatanaSelectorRareData, c_sel);
506
503
  if (c_sel->argument)
507
- return rb_str_new2(c_sel->argument);
504
+ return UTF8_STR_NEW(c_sel->argument);
508
505
  else
509
506
  return Qnil;
510
507
  }
@@ -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.2
4
+ version: 0.5.5
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-17 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: nokogiri