faml 0.6.1 → 0.6.2
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +5 -0
- data/ext/attribute_builder/attribute_builder.c +0 -1
- data/faml.gemspec +2 -2
- data/incompatibilities/README.md +2 -2
- data/incompatibilities/spec/render/attribute_spec.md +24 -180
- data/lib/faml/attribute_optimizer.rb +4 -0
- data/lib/faml/static_hash_parser.rb +1 -8
- data/lib/faml/version.rb +1 -1
- data/spec/render/attribute_spec.rb +7 -0
- metadata +3 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 70be9578e244e136f47caf610ffde1a3e7edf582
|
4
|
+
data.tar.gz: c3673597a734dcf1822656f55e4868396bf242c8
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: f370900646f37e6f58d4d2ef43ff98c1f72c6a74f10ea7e9733b506a85dca85e75a53b82267ec2dd5d151ea86b10c647e0de372b82e6e13b2841933ed5480df8
|
7
|
+
data.tar.gz: c268cc69b1de1723be7f79e8377026e34b712fbdecd4cea73f01f450bcad11cac600fee873f34db7394a168e9109e4f8882018f1ec7e3e52d55ed8643e23749f
|
data/CHANGELOG.md
CHANGED
@@ -1,3 +1,8 @@
|
|
1
|
+
## 0.6.2 (2015-11-22)
|
2
|
+
- Fix data-id and data-class attribute
|
3
|
+
- https://github.com/eagletmt/faml/pull/39
|
4
|
+
- It's regression in v0.6.1
|
5
|
+
|
1
6
|
## 0.6.1 (2015-11-21)
|
2
7
|
- Fix handling duplicated old attributes and new attributes
|
3
8
|
- https://github.com/eagletmt/faml/pull/37
|
@@ -83,7 +83,6 @@ normalize_data_i2(VALUE key, VALUE value, VALUE ptr)
|
|
83
83
|
struct normalize_data_i2_arg *arg = (struct normalize_data_i2_arg *)ptr;
|
84
84
|
VALUE k = rb_str_dup(arg->key);
|
85
85
|
|
86
|
-
k = rb_str_dup(arg->key);
|
87
86
|
rb_str_cat(k, "-", 1);
|
88
87
|
rb_str_append(k, key);
|
89
88
|
rb_hash_aset(arg->normalized, k, value);
|
data/faml.gemspec
CHANGED
@@ -30,8 +30,8 @@ Gem::Specification.new do |spec|
|
|
30
30
|
spec.add_development_dependency 'bundler'
|
31
31
|
spec.add_development_dependency 'coffee-script'
|
32
32
|
spec.add_development_dependency 'coveralls'
|
33
|
-
spec.add_development_dependency 'haml' # for benchmark
|
34
|
-
spec.add_development_dependency 'hamlit', '>= 0.6.0' # for benchmark
|
33
|
+
spec.add_development_dependency 'haml', '>= 4.1.0.beta.1' # for benchmark and compatibility check
|
34
|
+
spec.add_development_dependency 'hamlit', '>= 0.6.0' # for benchmark and compatibility check
|
35
35
|
spec.add_development_dependency 'rake'
|
36
36
|
spec.add_development_dependency 'rake-compiler'
|
37
37
|
spec.add_development_dependency 'redcarpet'
|
data/incompatibilities/README.md
CHANGED
@@ -43,13 +43,13 @@
|
|
43
43
|
%span{class: []}
|
44
44
|
```
|
45
45
|
|
46
|
-
## Faml
|
46
|
+
## Faml
|
47
47
|
```html
|
48
48
|
<span></span>
|
49
49
|
|
50
50
|
```
|
51
51
|
|
52
|
-
## Hamlit
|
52
|
+
## Haml, Hamlit
|
53
53
|
```html
|
54
54
|
<span class=''></span>
|
55
55
|
|
@@ -117,13 +117,13 @@
|
|
117
117
|
%span{id: []}
|
118
118
|
```
|
119
119
|
|
120
|
-
## Faml
|
120
|
+
## Faml
|
121
121
|
```html
|
122
122
|
<span></span>
|
123
123
|
|
124
124
|
```
|
125
125
|
|
126
|
-
## Hamlit
|
126
|
+
## Haml, Hamlit
|
127
127
|
```html
|
128
128
|
<span id=''></span>
|
129
129
|
|
@@ -305,7 +305,7 @@
|
|
305
305
|
|
306
306
|
```
|
307
307
|
|
308
|
-
# [./spec/render/attribute_spec.rb:
|
308
|
+
# [./spec/render/attribute_spec.rb:149](../../../spec/render/attribute_spec.rb#L149)
|
309
309
|
## Input
|
310
310
|
```haml
|
311
311
|
%span{foo: {bar: 1+2}} hello
|
@@ -323,7 +323,7 @@
|
|
323
323
|
|
324
324
|
```
|
325
325
|
|
326
|
-
# [./spec/render/attribute_spec.rb:
|
326
|
+
# [./spec/render/attribute_spec.rb:172](../../../spec/render/attribute_spec.rb#L172)
|
327
327
|
## Input
|
328
328
|
```haml
|
329
329
|
%span{data: {foo: 1, bar: 'baz', :hoge => :fuga, k1: { k2: 'v3' }}} hello
|
@@ -341,7 +341,7 @@
|
|
341
341
|
|
342
342
|
```
|
343
343
|
|
344
|
-
# [./spec/render/attribute_spec.rb:
|
344
|
+
# [./spec/render/attribute_spec.rb:180](../../../spec/render/attribute_spec.rb#L180)
|
345
345
|
## Input
|
346
346
|
```haml
|
347
347
|
%span{data: {foo: 1, bar: 2+3}} hello
|
@@ -359,7 +359,7 @@
|
|
359
359
|
|
360
360
|
```
|
361
361
|
|
362
|
-
# [./spec/render/attribute_spec.rb:
|
362
|
+
# [./spec/render/attribute_spec.rb:184](../../../spec/render/attribute_spec.rb#L184)
|
363
363
|
## Input
|
364
364
|
```haml
|
365
365
|
- data = { foo: 1, bar: 2 }
|
@@ -379,7 +379,7 @@
|
|
379
379
|
|
380
380
|
```
|
381
381
|
|
382
|
-
# [./spec/render/attribute_spec.rb:
|
382
|
+
# [./spec/render/attribute_spec.rb:202](../../../spec/render/attribute_spec.rb#L202)
|
383
383
|
## Input
|
384
384
|
```haml
|
385
385
|
%span{b: __LINE__,
|
@@ -399,7 +399,7 @@
|
|
399
399
|
|
400
400
|
```
|
401
401
|
|
402
|
-
# [./spec/render/attribute_spec.rb:
|
402
|
+
# [./spec/render/attribute_spec.rb:209](../../../spec/render/attribute_spec.rb#L209)
|
403
403
|
## Input
|
404
404
|
```haml
|
405
405
|
%span{"foo\0bar" => "hello"}
|
@@ -417,7 +417,7 @@
|
|
417
417
|
|
418
418
|
```
|
419
419
|
|
420
|
-
# [./spec/render/attribute_spec.rb:
|
420
|
+
# [./spec/render/attribute_spec.rb:209](../../../spec/render/attribute_spec.rb#L209)
|
421
421
|
## Input
|
422
422
|
```haml
|
423
423
|
- val = "hello"
|
@@ -437,7 +437,7 @@
|
|
437
437
|
|
438
438
|
```
|
439
439
|
|
440
|
-
# [./spec/render/attribute_spec.rb:
|
440
|
+
# [./spec/render/attribute_spec.rb:209](../../../spec/render/attribute_spec.rb#L209)
|
441
441
|
## Input
|
442
442
|
```haml
|
443
443
|
- key = "foo\0bar"
|
@@ -459,7 +459,7 @@
|
|
459
459
|
... ^
|
460
460
|
```
|
461
461
|
|
462
|
-
# [./spec/render/attribute_spec.rb:
|
462
|
+
# [./spec/render/attribute_spec.rb:223](../../../spec/render/attribute_spec.rb#L223)
|
463
463
|
## Input
|
464
464
|
```haml
|
465
465
|
%span[Faml::TestStruct.new(123)] hello
|
@@ -477,7 +477,7 @@
|
|
477
477
|
|
478
478
|
```
|
479
479
|
|
480
|
-
# [./spec/render/attribute_spec.rb:
|
480
|
+
# [./spec/render/attribute_spec.rb:227](../../../spec/render/attribute_spec.rb#L227)
|
481
481
|
## Input
|
482
482
|
```haml
|
483
483
|
%span[Faml::TestStruct.new(123), :hello] hello
|
@@ -495,7 +495,7 @@
|
|
495
495
|
|
496
496
|
```
|
497
497
|
|
498
|
-
# [./spec/render/attribute_spec.rb:
|
498
|
+
# [./spec/render/attribute_spec.rb:231](../../../spec/render/attribute_spec.rb#L231)
|
499
499
|
## Input
|
500
500
|
```haml
|
501
501
|
%span[Faml::TestRefStruct.new(123)] hello
|
@@ -513,7 +513,7 @@
|
|
513
513
|
|
514
514
|
```
|
515
515
|
|
516
|
-
# [./spec/render/attribute_spec.rb:
|
516
|
+
# [./spec/render/attribute_spec.rb:235](../../../spec/render/attribute_spec.rb#L235)
|
517
517
|
## Input
|
518
518
|
```haml
|
519
519
|
%span#baz[Faml::TestStruct.new(123)]{id: "foo"} hello
|
@@ -531,7 +531,7 @@
|
|
531
531
|
|
532
532
|
```
|
533
533
|
|
534
|
-
# [./spec/render/attribute_spec.rb:
|
534
|
+
# [./spec/render/attribute_spec.rb:241](../../../spec/render/attribute_spec.rb#L241)
|
535
535
|
## Input
|
536
536
|
```haml
|
537
537
|
%span{foo: 1}(foo=2)
|
@@ -549,7 +549,7 @@
|
|
549
549
|
|
550
550
|
```
|
551
551
|
|
552
|
-
# [./spec/render/attribute_spec.rb:
|
552
|
+
# [./spec/render/attribute_spec.rb:241](../../../spec/render/attribute_spec.rb#L241)
|
553
553
|
## Input
|
554
554
|
```haml
|
555
555
|
%span(foo=2){foo: 1}
|
@@ -567,7 +567,7 @@
|
|
567
567
|
|
568
568
|
```
|
569
569
|
|
570
|
-
# [./spec/render/attribute_spec.rb:
|
570
|
+
# [./spec/render/attribute_spec.rb:241](../../../spec/render/attribute_spec.rb#L241)
|
571
571
|
## Input
|
572
572
|
```haml
|
573
573
|
- v = 2
|
@@ -586,7 +586,7 @@
|
|
586
586
|
|
587
587
|
```
|
588
588
|
|
589
|
-
# [./spec/render/attribute_spec.rb:
|
589
|
+
# [./spec/render/attribute_spec.rb:241](../../../spec/render/attribute_spec.rb#L241)
|
590
590
|
## Input
|
591
591
|
```haml
|
592
592
|
- v = 2
|
@@ -605,7 +605,7 @@
|
|
605
605
|
|
606
606
|
```
|
607
607
|
|
608
|
-
# [./spec/render/attribute_spec.rb:
|
608
|
+
# [./spec/render/attribute_spec.rb:241](../../../spec/render/attribute_spec.rb#L241)
|
609
609
|
## Input
|
610
610
|
```haml
|
611
611
|
- h = {foo: 1}
|
@@ -624,7 +624,7 @@
|
|
624
624
|
|
625
625
|
```
|
626
626
|
|
627
|
-
# [./spec/render/attribute_spec.rb:
|
627
|
+
# [./spec/render/attribute_spec.rb:241](../../../spec/render/attribute_spec.rb#L241)
|
628
628
|
## Input
|
629
629
|
```haml
|
630
630
|
- h = {foo: 1}
|
@@ -643,177 +643,21 @@
|
|
643
643
|
|
644
644
|
```
|
645
645
|
|
646
|
-
# [./spec/render/attribute_spec.rb:
|
647
|
-
## Input
|
648
|
-
```haml
|
649
|
-
%span{class: 1}(class=2)
|
650
|
-
```
|
651
|
-
|
652
|
-
## Faml, Hamlit
|
653
|
-
```html
|
654
|
-
<span class='1 2'></span>
|
655
|
-
|
656
|
-
```
|
657
|
-
|
658
|
-
## Haml
|
659
|
-
```html
|
660
|
-
<span class='1'></span>
|
661
|
-
|
662
|
-
```
|
663
|
-
|
664
|
-
# [./spec/render/attribute_spec.rb:245](../../../spec/render/attribute_spec.rb#L245)
|
665
|
-
## Input
|
666
|
-
```haml
|
667
|
-
- v = 2
|
668
|
-
%span{class: v-1}(class=v)
|
669
|
-
```
|
670
|
-
|
671
|
-
## Faml, Hamlit
|
672
|
-
```html
|
673
|
-
<span class='1 2'></span>
|
674
|
-
|
675
|
-
```
|
676
|
-
|
677
|
-
## Haml
|
678
|
-
```html
|
679
|
-
<span class='1'></span>
|
680
|
-
|
681
|
-
```
|
682
|
-
|
683
|
-
# [./spec/render/attribute_spec.rb:245](../../../spec/render/attribute_spec.rb#L245)
|
684
|
-
## Input
|
685
|
-
```haml
|
686
|
-
- h = {class: 1}
|
687
|
-
%span{h}(class=2)
|
688
|
-
```
|
689
|
-
|
690
|
-
## Faml, Hamlit
|
691
|
-
```html
|
692
|
-
<span class='1 2'></span>
|
693
|
-
|
694
|
-
```
|
695
|
-
|
696
|
-
## Haml
|
697
|
-
```html
|
698
|
-
<span class='1'></span>
|
699
|
-
|
700
|
-
```
|
701
|
-
|
702
|
-
# [./spec/render/attribute_spec.rb:253](../../../spec/render/attribute_spec.rb#L253)
|
646
|
+
# [./spec/render/attribute_spec.rb:260](../../../spec/render/attribute_spec.rb#L260)
|
703
647
|
## Input
|
704
648
|
```haml
|
705
649
|
%span{id: 1}(id=2)
|
706
650
|
```
|
707
651
|
|
708
|
-
## Faml
|
652
|
+
## Faml, Haml
|
709
653
|
```html
|
710
654
|
<span id='2_1'></span>
|
711
655
|
|
712
656
|
```
|
713
657
|
|
714
|
-
## Haml
|
715
|
-
```html
|
716
|
-
<span id='1'></span>
|
717
|
-
|
718
|
-
```
|
719
|
-
|
720
658
|
## Hamlit
|
721
659
|
```html
|
722
660
|
<span id='1_2'></span>
|
723
661
|
|
724
662
|
```
|
725
663
|
|
726
|
-
# [./spec/render/attribute_spec.rb:253](../../../spec/render/attribute_spec.rb#L253)
|
727
|
-
## Input
|
728
|
-
```haml
|
729
|
-
%span(id=2){id: 1}
|
730
|
-
```
|
731
|
-
|
732
|
-
## Faml, Hamlit
|
733
|
-
```html
|
734
|
-
<span id='2_1'></span>
|
735
|
-
|
736
|
-
```
|
737
|
-
|
738
|
-
## Haml
|
739
|
-
```html
|
740
|
-
<span id='1'></span>
|
741
|
-
|
742
|
-
```
|
743
|
-
|
744
|
-
# [./spec/render/attribute_spec.rb:253](../../../spec/render/attribute_spec.rb#L253)
|
745
|
-
## Input
|
746
|
-
```haml
|
747
|
-
- v = 2
|
748
|
-
%span{id: v-1}(id=v)
|
749
|
-
```
|
750
|
-
|
751
|
-
## Faml, Hamlit
|
752
|
-
```html
|
753
|
-
<span id='2_1'></span>
|
754
|
-
|
755
|
-
```
|
756
|
-
|
757
|
-
## Haml
|
758
|
-
```html
|
759
|
-
<span id='1'></span>
|
760
|
-
|
761
|
-
```
|
762
|
-
|
763
|
-
# [./spec/render/attribute_spec.rb:253](../../../spec/render/attribute_spec.rb#L253)
|
764
|
-
## Input
|
765
|
-
```haml
|
766
|
-
- v = 2
|
767
|
-
%span(id=v){id: v-1}
|
768
|
-
```
|
769
|
-
|
770
|
-
## Faml, Hamlit
|
771
|
-
```html
|
772
|
-
<span id='2_1'></span>
|
773
|
-
|
774
|
-
```
|
775
|
-
|
776
|
-
## Haml
|
777
|
-
```html
|
778
|
-
<span id='1'></span>
|
779
|
-
|
780
|
-
```
|
781
|
-
|
782
|
-
# [./spec/render/attribute_spec.rb:253](../../../spec/render/attribute_spec.rb#L253)
|
783
|
-
## Input
|
784
|
-
```haml
|
785
|
-
- h = {id: 1}
|
786
|
-
%span{h}(id=2)
|
787
|
-
```
|
788
|
-
|
789
|
-
## Faml, Hamlit
|
790
|
-
```html
|
791
|
-
<span id='2_1'></span>
|
792
|
-
|
793
|
-
```
|
794
|
-
|
795
|
-
## Haml
|
796
|
-
```html
|
797
|
-
<span id='1'></span>
|
798
|
-
|
799
|
-
```
|
800
|
-
|
801
|
-
# [./spec/render/attribute_spec.rb:253](../../../spec/render/attribute_spec.rb#L253)
|
802
|
-
## Input
|
803
|
-
```haml
|
804
|
-
- h = {id: 1}
|
805
|
-
%span(id=2){h}
|
806
|
-
```
|
807
|
-
|
808
|
-
## Faml, Hamlit
|
809
|
-
```html
|
810
|
-
<span id='2_1'></span>
|
811
|
-
|
812
|
-
```
|
813
|
-
|
814
|
-
## Haml
|
815
|
-
```html
|
816
|
-
<span id='1'></span>
|
817
|
-
|
818
|
-
```
|
819
|
-
|
@@ -11,6 +11,10 @@ module Faml
|
|
11
11
|
assert_valid_ruby_code!(old_attributes)
|
12
12
|
return [nil, nil]
|
13
13
|
end
|
14
|
+
if old_attributes && new_attributes
|
15
|
+
# TODO: Quit optimization. Merge id and class correctly.
|
16
|
+
return [nil, nil]
|
17
|
+
end
|
14
18
|
|
15
19
|
static_attributes, dynamic_attributes = build_optimized_attributes(parser, static_id, static_class)
|
16
20
|
if optimizable?(old_attributes, new_attributes, static_attributes, dynamic_attributes)
|
@@ -129,14 +129,7 @@ module Faml
|
|
129
129
|
end
|
130
130
|
|
131
131
|
def set_static_attribute(key, val)
|
132
|
-
|
133
|
-
when 'id', 'class'
|
134
|
-
@static_attributes[key] ||= []
|
135
|
-
@static_attributes[key].concat(Array(val))
|
136
|
-
else
|
137
|
-
@static_attributes[key] = val
|
138
|
-
end
|
139
|
-
val
|
132
|
+
@static_attributes[key] = val
|
140
133
|
end
|
141
134
|
|
142
135
|
def set_dynamic_attributes(key, val)
|
data/lib/faml/version.rb
CHANGED
@@ -139,6 +139,13 @@ HAML
|
|
139
139
|
HAML
|
140
140
|
end
|
141
141
|
|
142
|
+
it 'renders data-id and data-class (#38)' do
|
143
|
+
aggregate_failures do
|
144
|
+
expect(render_string('%span{data: {id: 1}}')).to eq("<span data-id='1'></span>\n")
|
145
|
+
expect(render_string('%span{data: {class: 1}}')).to eq("<span data-class='1'></span>\n")
|
146
|
+
end
|
147
|
+
end
|
148
|
+
|
142
149
|
it 'optimize send case' do
|
143
150
|
expect(render_string('%span{foo: {bar: 1+2}} hello')).to eq("<span foo='{:bar=>3}'>hello</span>\n")
|
144
151
|
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: faml
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.6.
|
4
|
+
version: 0.6.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Kohei Suzuki
|
@@ -156,14 +156,14 @@ dependencies:
|
|
156
156
|
requirements:
|
157
157
|
- - ">="
|
158
158
|
- !ruby/object:Gem::Version
|
159
|
-
version:
|
159
|
+
version: 4.1.0.beta.1
|
160
160
|
type: :development
|
161
161
|
prerelease: false
|
162
162
|
version_requirements: !ruby/object:Gem::Requirement
|
163
163
|
requirements:
|
164
164
|
- - ">="
|
165
165
|
- !ruby/object:Gem::Version
|
166
|
-
version:
|
166
|
+
version: 4.1.0.beta.1
|
167
167
|
- !ruby/object:Gem::Dependency
|
168
168
|
name: hamlit
|
169
169
|
requirement: !ruby/object:Gem::Requirement
|