autoprefixer-rails 0.4.20130530 → 0.4.20130603

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.
data/ChangeLog CHANGED
@@ -29,6 +29,10 @@
29
29
  * Add Opera 15 and iOS 6.1 data.
30
30
  * Fix iOS versions in properties and values data.
31
31
 
32
+ 20130603:
33
+ * Use latest Rework 0.15 with a lot of CSS parsing fixes.
34
+ * Update browsers usage statistics.
35
+
32
36
  == 0.3 (Growing Strong)
33
37
  * Use own filters instead of Rework’s `prefix` and `prefixValue`.
34
38
  * Smarter value prefixer without false match “order” in “border”.
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- autoprefixer-rails (0.4.20130530)
4
+ autoprefixer-rails (0.4.20130603)
5
5
  execjs
6
6
 
7
7
  GEM
@@ -49,7 +49,7 @@ GEM
49
49
  mime-types (~> 1.16)
50
50
  treetop (~> 1.4.8)
51
51
  mime-types (1.23)
52
- multi_json (1.7.4)
52
+ multi_json (1.7.5)
53
53
  polyglot (0.3.3)
54
54
  rack (1.4.5)
55
55
  rack-cache (1.2)
@@ -1,3 +1,3 @@
1
1
  module AutoprefixerRails
2
- VERSION = '0.4.20130530'.freeze unless defined? AutoprefixerRails::VERSION
2
+ VERSION = '0.4.20130603'.freeze unless defined? AutoprefixerRails::VERSION
3
3
  end
@@ -23,7 +23,7 @@ describe AutoprefixerRails do
23
23
  AutoprefixerRails.install(assets, ['chrome 25'], :dirs => dirs)
24
24
 
25
25
  assets['vendor/assets/stylesheets/foreign.css'].to_s.should ==
26
- ".f {\n -webkit-transition: none;\n transition: none\n}"
26
+ ".f {\n -webkit-transition: none;\n transition: none;\n}"
27
27
  assets['app/assets/stylesheets/test.css'].to_s.should ==
28
28
  "a { transition: all 1s }\n"
29
29
  end
data/spec/spec_helper.rb CHANGED
@@ -9,4 +9,4 @@ require 'pp'
9
9
  require 'sprockets'
10
10
  require 'rspec/rails'
11
11
 
12
- PREFIXED = "a {\n -webkit-transition: all 1s;\n transition: all 1s\n}"
12
+ PREFIXED = "a {\n -webkit-transition: all 1s;\n transition: all 1s;\n}"
@@ -648,27 +648,48 @@ module.exports = function(css, options){
648
648
  });
649
649
  require.register("visionmedia-css-stringify/index.js", function(exports, require, module){
650
650
 
651
+ /**
652
+ * Module dependencies.
653
+ */
654
+
655
+ var Compressed = require('./lib/compress');
656
+ var Identity = require('./lib/identity');
657
+
651
658
  /**
652
659
  * Stringfy the given AST `node`.
653
660
  *
654
661
  * @param {Object} node
655
- * @param {Object} options
662
+ * @param {Object} [options]
656
663
  * @return {String}
657
664
  * @api public
658
665
  */
659
666
 
660
667
  module.exports = function(node, options){
661
- return new Compiler(options).compile(node);
668
+ options = options || {};
669
+
670
+ var compiler = options.compress
671
+ ? new Compressed(options)
672
+ : new Identity(options);
673
+
674
+ return compiler.compile(node);
662
675
  };
663
676
 
677
+
678
+ });
679
+ require.register("visionmedia-css-stringify/lib/compress.js", function(exports, require, module){
680
+
681
+ /**
682
+ * Expose compiler.
683
+ */
684
+
685
+ module.exports = Compiler;
686
+
664
687
  /**
665
688
  * Initialize a new `Compiler`.
666
689
  */
667
690
 
668
691
  function Compiler(options) {
669
692
  options = options || {};
670
- this.compress = options.compress;
671
- this.indentation = options.indent;
672
693
  }
673
694
 
674
695
  /**
@@ -678,7 +699,7 @@ function Compiler(options) {
678
699
  Compiler.prototype.compile = function(node){
679
700
  return node.stylesheet
680
701
  .rules.map(this.visit, this)
681
- .join(this.compress ? '' : '\n\n');
702
+ .join('');
682
703
  };
683
704
 
684
705
  /**
@@ -695,7 +716,6 @@ Compiler.prototype.visit = function(node){
695
716
 
696
717
  Compiler.prototype.comment = function(node){
697
718
  if (this.compress) return '';
698
- return '/*' + node.comment + '*/';
699
719
  };
700
720
 
701
721
  /**
@@ -711,14 +731,172 @@ Compiler.prototype.import = function(node){
711
731
  */
712
732
 
713
733
  Compiler.prototype.media = function(node){
714
- if (this.compress) {
715
- return '@media '
716
- + node.media
717
- + '{'
718
- + node.rules.map(this.visit, this).join('')
719
- + '}';
720
- }
734
+ return '@media '
735
+ + node.media
736
+ + '{'
737
+ + node.rules.map(this.visit, this).join('')
738
+ + '}';
739
+ };
740
+
741
+ /**
742
+ * Visit document node.
743
+ */
744
+
745
+ Compiler.prototype.document = function(node){
746
+ var doc = '@' + (node.vendor || '') + 'document ' + node.document;
747
+
748
+ return doc
749
+ + '{'
750
+ + node.rules.map(this.visit, this).join('')
751
+ + '}';
752
+ };
753
+
754
+ /**
755
+ * Visit charset node.
756
+ */
757
+
758
+ Compiler.prototype.charset = function(node){
759
+ return '@charset ' + node.charset + ';';
760
+ };
761
+
762
+ /**
763
+ * Visit supports node.
764
+ */
765
+
766
+ Compiler.prototype.supports = function(node){
767
+ return '@supports '
768
+ + node.supports
769
+ + ' {\n'
770
+ + this.indent(1)
771
+ + node.rules.map(this.visit, this).join('\n\n')
772
+ + this.indent(-1)
773
+ + '\n}';
774
+ };
775
+
776
+ /**
777
+ * Visit keyframes node.
778
+ */
779
+
780
+ Compiler.prototype.keyframes = function(node){
781
+ return '@'
782
+ + (node.vendor || '')
783
+ + 'keyframes '
784
+ + node.name
785
+ + '{'
786
+ + node.keyframes.map(this.visit, this).join('')
787
+ + '}';
788
+ };
789
+
790
+ /**
791
+ * Visit keyframe node.
792
+ */
793
+
794
+ Compiler.prototype.keyframe = function(node){
795
+ var decls = node.declarations;
796
+
797
+ return node.values.join(',')
798
+ + '{'
799
+ + decls.map(this.visit, this).join('')
800
+ + '}';
801
+ };
802
+
803
+ /**
804
+ * Visit page node.
805
+ */
806
+
807
+ Compiler.prototype.page = function(node){
808
+ var sel = node.selectors.length
809
+ ? node.selectors.join(', ') + ' '
810
+ : '';
811
+
812
+ return '@page ' + sel
813
+ + '{\n'
814
+ + this.indent(1)
815
+ + node.declarations.map(this.visit, this).join('\n')
816
+ + this.indent(-1)
817
+ + '\n}';
818
+ };
819
+
820
+ /**
821
+ * Visit rule node.
822
+ */
823
+
824
+ Compiler.prototype.rule = function(node){
825
+ var decls = node.declarations;
826
+ if (!decls.length) return '';
827
+
828
+ return node.selectors.join(',')
829
+ + '{'
830
+ + decls.map(this.visit, this).join('')
831
+ + '}';
832
+ };
833
+
834
+ /**
835
+ * Visit declaration node.
836
+ */
837
+
838
+ Compiler.prototype.declaration = function(node){
839
+ return node.property + ':' + node.value + ';';
840
+ };
841
+
842
+
843
+ });
844
+ require.register("visionmedia-css-stringify/lib/identity.js", function(exports, require, module){
845
+
846
+ /**
847
+ * Expose compiler.
848
+ */
849
+
850
+ module.exports = Compiler;
851
+
852
+ /**
853
+ * Initialize a new `Compiler`.
854
+ */
855
+
856
+ function Compiler(options) {
857
+ options = options || {};
858
+ this.indentation = options.indent;
859
+ }
860
+
861
+ /**
862
+ * Compile `node`.
863
+ */
864
+
865
+ Compiler.prototype.compile = function(node){
866
+ return node.stylesheet
867
+ .rules.map(this.visit, this)
868
+ .join('\n\n');
869
+ };
870
+
871
+ /**
872
+ * Visit `node`.
873
+ */
874
+
875
+ Compiler.prototype.visit = function(node){
876
+ return this[node.type](node);
877
+ };
878
+
879
+ /**
880
+ * Visit comment node.
881
+ */
721
882
 
883
+ Compiler.prototype.comment = function(node){
884
+ return this.indent() + '/*' + node.comment + '*/';
885
+ };
886
+
887
+ /**
888
+ * Visit import node.
889
+ */
890
+
891
+ Compiler.prototype.import = function(node){
892
+ return '@import ' + node.import + ';';
893
+ };
894
+
895
+ /**
896
+ * Visit media node.
897
+ */
898
+
899
+ Compiler.prototype.media = function(node){
722
900
  return '@media '
723
901
  + node.media
724
902
  + ' {\n'
@@ -735,13 +913,6 @@ Compiler.prototype.media = function(node){
735
913
  Compiler.prototype.document = function(node){
736
914
  var doc = '@' + (node.vendor || '') + 'document ' + node.document;
737
915
 
738
- if (this.compress) {
739
- return doc
740
- + '{'
741
- + node.rules.map(this.visit, this).join('')
742
- + '}';
743
- }
744
-
745
916
  return doc + ' '
746
917
  + ' {\n'
747
918
  + this.indent(1)
@@ -755,35 +926,35 @@ Compiler.prototype.document = function(node){
755
926
  */
756
927
 
757
928
  Compiler.prototype.charset = function(node){
758
- if (this.compress) {
759
- return '@charset ' + node.charset + ';';
760
- }
761
-
762
929
  return '@charset ' + node.charset + ';\n';
763
930
  };
764
931
 
932
+ /**
933
+ * Visit supports node.
934
+ */
935
+
936
+ Compiler.prototype.supports = function(node){
937
+ return '@supports '
938
+ + node.supports
939
+ + ' {\n'
940
+ + this.indent(1)
941
+ + node.rules.map(this.visit, this).join('\n\n')
942
+ + this.indent(-1)
943
+ + '\n}';
944
+ };
945
+
765
946
  /**
766
947
  * Visit keyframes node.
767
948
  */
768
949
 
769
950
  Compiler.prototype.keyframes = function(node){
770
- if (this.compress) {
771
- return '@'
772
- + (node.vendor || '')
773
- + 'keyframes '
774
- + node.name
775
- + '{'
776
- + node.keyframes.map(this.keyframe, this).join('')
777
- + '}';
778
- }
779
-
780
951
  return '@'
781
952
  + (node.vendor || '')
782
953
  + 'keyframes '
783
954
  + node.name
784
955
  + ' {\n'
785
956
  + this.indent(1)
786
- + node.keyframes.map(this.keyframe, this).join('\n')
957
+ + node.keyframes.map(this.visit, this).join('\n')
787
958
  + this.indent(-1)
788
959
  + '}';
789
960
  };
@@ -793,18 +964,13 @@ Compiler.prototype.keyframes = function(node){
793
964
  */
794
965
 
795
966
  Compiler.prototype.keyframe = function(node){
796
- if (this.compress) {
797
- return node.values.join(',')
798
- + '{'
799
- + node.declarations.map(this.declaration, this).join(';')
800
- + '}';
801
- }
967
+ var decls = node.declarations;
802
968
 
803
969
  return this.indent()
804
970
  + node.values.join(', ')
805
971
  + ' {\n'
806
972
  + this.indent(1)
807
- + node.declarations.map(this.declaration, this).join(';\n')
973
+ + decls.map(this.visit, this).join('\n')
808
974
  + this.indent(-1)
809
975
  + '\n' + this.indent() + '}\n';
810
976
  };
@@ -814,10 +980,14 @@ Compiler.prototype.keyframe = function(node){
814
980
  */
815
981
 
816
982
  Compiler.prototype.page = function(node){
817
- return '@page ' + node.selectors.join(', ')
818
- + ' {\n'
983
+ var sel = node.selectors.length
984
+ ? node.selectors.join(', ') + ' '
985
+ : '';
986
+
987
+ return '@page ' + sel
988
+ + '{\n'
819
989
  + this.indent(1)
820
- + node.declarations.map(this.declaration, this).join(';\n')
990
+ + node.declarations.map(this.visit, this).join('\n')
821
991
  + this.indent(-1)
822
992
  + '\n}';
823
993
  };
@@ -829,20 +999,12 @@ Compiler.prototype.page = function(node){
829
999
  Compiler.prototype.rule = function(node){
830
1000
  var indent = this.indent();
831
1001
  var decls = node.declarations;
832
-
833
- if (this.compress) {
834
- if (!decls.length) return '';
835
-
836
- return node.selectors.join(',')
837
- + '{'
838
- + decls.map(this.declaration, this).join(';')
839
- + '}';
840
- }
1002
+ if (!decls.length) return '';
841
1003
 
842
1004
  return node.selectors.map(function(s){ return indent + s }).join(',\n')
843
1005
  + ' {\n'
844
1006
  + this.indent(1)
845
- + decls.map(this.declaration, this).join(';\n')
1007
+ + decls.map(this.visit, this).join('\n')
846
1008
  + this.indent(-1)
847
1009
  + '\n' + this.indent() + '}';
848
1010
  };
@@ -852,11 +1014,7 @@ Compiler.prototype.rule = function(node){
852
1014
  */
853
1015
 
854
1016
  Compiler.prototype.declaration = function(node){
855
- if (this.compress) {
856
- return node.property + ':' + node.value;
857
- }
858
-
859
- return this.indent() + node.property + ': ' + node.value;
1017
+ return this.indent() + node.property + ': ' + node.value + ';';
860
1018
  };
861
1019
 
862
1020
  /**
@@ -2458,13 +2616,13 @@ module.exports = {
2458
2616
  ],
2459
2617
  minor: true,
2460
2618
  popularity: [
2461
- 0.113747,
2462
- 1.29078,
2463
- 1.36002,
2464
- 0.00494553,
2465
- 1.90403,
2466
- 0.182984,
2467
- 0.0840739
2619
+ 0.11786,
2620
+ 1.33745,
2621
+ 1.40919,
2622
+ 0.00512434,
2623
+ 1.97287,
2624
+ 0.189601,
2625
+ 0.0871138
2468
2626
  ]
2469
2627
  },
2470
2628
  bb: {
@@ -2476,7 +2634,7 @@ module.exports = {
2476
2634
  minor: true,
2477
2635
  popularity: [
2478
2636
  0,
2479
- 0.102165
2637
+ 0.114401
2480
2638
  ]
2481
2639
  },
2482
2640
  chrome: {
@@ -2512,30 +2670,30 @@ module.exports = {
2512
2670
  28
2513
2671
  ],
2514
2672
  popularity: [
2515
- 0.19803,
2516
- 27.6639,
2517
- 1.61868,
2518
- 0.72324,
2519
- 0.6888,
2520
- 0.54243,
2521
- 0.5166,
2522
- 0.07749,
2523
- 0.07749,
2524
- 0.09471,
2525
- 0.09471,
2526
- 0.0861,
2527
- 0.12054,
2528
- 0.10332,
2529
- 0.11193,
2530
- 0.12054,
2531
- 0.15498,
2532
- 0.09471,
2533
- 0.03444,
2534
- 0.04305,
2535
- 0.02583,
2536
- 0.02583,
2537
- 0.02583,
2538
- 0.02583
2673
+ 6.23274,
2674
+ 23.488,
2675
+ 0.55497,
2676
+ 0.742806,
2677
+ 0.708654,
2678
+ 0.631812,
2679
+ 0.589122,
2680
+ 0.12807,
2681
+ 0.119532,
2682
+ 0.145146,
2683
+ 0.136608,
2684
+ 0.12807,
2685
+ 0.162222,
2686
+ 0.145146,
2687
+ 0.153684,
2688
+ 0.162222,
2689
+ 0.196374,
2690
+ 0.136608,
2691
+ 0.034152,
2692
+ 0.04269,
2693
+ 0.025614,
2694
+ 0.025614,
2695
+ 0.025614,
2696
+ 0.025614
2539
2697
  ]
2540
2698
  },
2541
2699
  ff: {
@@ -2569,28 +2727,28 @@ module.exports = {
2569
2727
  22
2570
2728
  ],
2571
2729
  popularity: [
2572
- 0.30996,
2573
- 8.15367,
2574
- 4.66662,
2575
- 0.3444,
2576
- 0.30135,
2577
- 0.70602,
2578
- 0.39606,
2579
- 0.26691,
2580
- 0.20664,
2581
- 0.40467,
2582
- 0.1722,
2583
- 0.19803,
2584
- 0.10332,
2585
- 0.0861,
2586
- 0.06888,
2587
- 0.06888,
2588
- 0.07749,
2589
- 0.12054,
2590
- 0.37884,
2591
- 0.06027,
2592
- 0.09471,
2593
- 0.02583
2730
+ 3.75672,
2731
+ 8.81122,
2732
+ 0.452514,
2733
+ 0.264678,
2734
+ 0.281754,
2735
+ 0.537894,
2736
+ 0.332982,
2737
+ 0.247602,
2738
+ 0.204912,
2739
+ 0.375672,
2740
+ 0.17076,
2741
+ 0.196374,
2742
+ 0.093918,
2743
+ 0.08538,
2744
+ 0.059766,
2745
+ 0.059766,
2746
+ 0.068304,
2747
+ 0.110994,
2748
+ 0.358596,
2749
+ 0.059766,
2750
+ 0.08538,
2751
+ 0.025614
2594
2752
  ]
2595
2753
  },
2596
2754
  ie: {
@@ -2607,11 +2765,11 @@ module.exports = {
2607
2765
  11
2608
2766
  ],
2609
2767
  popularity: [
2610
- 5.38881,
2611
- 11.6221,
2612
- 8.09627,
2613
- 0.513634,
2614
- 0.226347,
2768
+ 7.50785,
2769
+ 8.3027,
2770
+ 7.45601,
2771
+ 0.466541,
2772
+ 0.207351,
2615
2773
  0.009298
2616
2774
  ]
2617
2775
  },
@@ -2629,15 +2787,15 @@ module.exports = {
2629
2787
  3.2
2630
2788
  ],
2631
2789
  popularity: [
2632
- 3.01192,
2633
- 3.01192,
2634
- 0.3597855,
2635
- 0.3597855,
2636
- 0.065104,
2637
- 0.065104,
2638
- 0.00685305,
2639
- 0.00685305,
2640
- 0.00685306
2790
+ 3.094025,
2791
+ 3.094025,
2792
+ 0.352705,
2793
+ 0.352705,
2794
+ 0.055874,
2795
+ 0.055874,
2796
+ 0.00698425,
2797
+ 0.00698425,
2798
+ 0.00698426
2641
2799
  ]
2642
2800
  },
2643
2801
  opera: {
@@ -2660,18 +2818,18 @@ module.exports = {
2660
2818
  15
2661
2819
  ],
2662
2820
  popularity: [
2663
- 0.62853,
2664
- 0.07749,
2665
- 0.04305,
2666
- 0.01722,
2667
- 0.00861,
2668
- 0.00861,
2669
- 0.00861,
2821
+ 0.623274,
2822
+ 0.068304,
2823
+ 0.04269,
2824
+ 0.017076,
2825
+ 0.008538,
2826
+ 0.008538,
2827
+ 0.008538,
2670
2828
  0.008565,
2671
- 0.00861,
2672
- 0.00861,
2673
- 0.004305,
2674
- 0.004305
2829
+ 0.008538,
2830
+ 0.008538,
2831
+ 0.004269,
2832
+ 0.004269
2675
2833
  ]
2676
2834
  },
2677
2835
  safari: {
@@ -2685,10 +2843,10 @@ module.exports = {
2685
2843
  3.1
2686
2844
  ],
2687
2845
  popularity: [
2688
- 1.90281,
2689
- 1.35177,
2690
- 0.4305,
2691
- 0.12054,
2846
+ 1.91251,
2847
+ 1.25509,
2848
+ 0.401286,
2849
+ 0.110994,
2692
2850
  0.008692,
2693
2851
  0
2694
2852
  ]
@@ -2975,22 +3133,22 @@ module.exports = {
2975
3133
  var regexp;
2976
3134
  regexp = /to\s+(top|bottom)?\s*(left|right)?/ig;
2977
3135
  string = string.replace(regexp, function (_, ver, hor) {
2978
- var direct;
2979
- direct = [];
2980
- if (ver === 'top') {
2981
- direct.push('bottom');
2982
- }
2983
- if (ver === 'bottom') {
2984
- direct.push('top');
2985
- }
2986
- if (hor === 'right') {
2987
- direct.push('left');
2988
- }
2989
- if (hor === 'left') {
2990
- direct.push('right');
2991
- }
2992
- return direct.join(' ');
2993
- });
3136
+ var direct;
3137
+ direct = [];
3138
+ if (ver === 'top') {
3139
+ direct.push('bottom');
3140
+ }
3141
+ if (ver === 'bottom') {
3142
+ direct.push('top');
3143
+ }
3144
+ if (hor === 'right') {
3145
+ direct.push('left');
3146
+ }
3147
+ if (hor === 'left') {
3148
+ direct.push('right');
3149
+ }
3150
+ return direct.join(' ');
3151
+ });
2994
3152
  regexp = /(repeating-)?(linear|radial)-gradient/gi;
2995
3153
  string = string.replace(regexp, prefix + '$&');
2996
3154
  if (prefix !== '-webkit-') {
@@ -2998,17 +3156,17 @@ module.exports = {
2998
3156
  }
2999
3157
  regexp = /((repeating-)?(linear|radial)-gradient\()\s*(-?\d+deg)?/ig;
3000
3158
  return string.replace(regexp, function (_0, gradient, _1, _2, deg) {
3001
- if (deg) {
3002
- deg = parseInt(deg);
3003
- deg += 90;
3004
- if (deg > 360) {
3005
- deg -= 360;
3159
+ if (deg) {
3160
+ deg = parseInt(deg);
3161
+ deg += 90;
3162
+ if (deg > 360) {
3163
+ deg -= 360;
3164
+ }
3165
+ return gradient + deg + 'deg';
3166
+ } else {
3167
+ return gradient;
3006
3168
  }
3007
- return gradient + deg + 'deg';
3008
- } else {
3009
- return gradient;
3010
- }
3011
- });
3169
+ });
3012
3170
  }
3013
3171
  },
3014
3172
  "radial-gradient": {
@@ -3083,22 +3241,22 @@ module.exports = {
3083
3241
  var regexp;
3084
3242
  regexp = /to\s+(top|bottom)?\s*(left|right)?/ig;
3085
3243
  string = string.replace(regexp, function (_, ver, hor) {
3086
- var direct;
3087
- direct = [];
3088
- if (ver === 'top') {
3089
- direct.push('bottom');
3090
- }
3091
- if (ver === 'bottom') {
3092
- direct.push('top');
3093
- }
3094
- if (hor === 'right') {
3095
- direct.push('left');
3096
- }
3097
- if (hor === 'left') {
3098
- direct.push('right');
3099
- }
3100
- return direct.join(' ');
3101
- });
3244
+ var direct;
3245
+ direct = [];
3246
+ if (ver === 'top') {
3247
+ direct.push('bottom');
3248
+ }
3249
+ if (ver === 'bottom') {
3250
+ direct.push('top');
3251
+ }
3252
+ if (hor === 'right') {
3253
+ direct.push('left');
3254
+ }
3255
+ if (hor === 'left') {
3256
+ direct.push('right');
3257
+ }
3258
+ return direct.join(' ');
3259
+ });
3102
3260
  regexp = /(repeating-)?(linear|radial)-gradient/gi;
3103
3261
  string = string.replace(regexp, prefix + '$&');
3104
3262
  if (prefix !== '-webkit-') {
@@ -3106,17 +3264,17 @@ module.exports = {
3106
3264
  }
3107
3265
  regexp = /((repeating-)?(linear|radial)-gradient\()\s*(-?\d+deg)?/ig;
3108
3266
  return string.replace(regexp, function (_0, gradient, _1, _2, deg) {
3109
- if (deg) {
3110
- deg = parseInt(deg);
3111
- deg += 90;
3112
- if (deg > 360) {
3113
- deg -= 360;
3267
+ if (deg) {
3268
+ deg = parseInt(deg);
3269
+ deg += 90;
3270
+ if (deg > 360) {
3271
+ deg -= 360;
3272
+ }
3273
+ return gradient + deg + 'deg';
3274
+ } else {
3275
+ return gradient;
3114
3276
  }
3115
- return gradient + deg + 'deg';
3116
- } else {
3117
- return gradient;
3118
- }
3119
- });
3277
+ });
3120
3278
  }
3121
3279
  },
3122
3280
  "repeating-linear-gradient": {
@@ -3191,22 +3349,22 @@ module.exports = {
3191
3349
  var regexp;
3192
3350
  regexp = /to\s+(top|bottom)?\s*(left|right)?/ig;
3193
3351
  string = string.replace(regexp, function (_, ver, hor) {
3194
- var direct;
3195
- direct = [];
3196
- if (ver === 'top') {
3197
- direct.push('bottom');
3198
- }
3199
- if (ver === 'bottom') {
3200
- direct.push('top');
3201
- }
3202
- if (hor === 'right') {
3203
- direct.push('left');
3204
- }
3205
- if (hor === 'left') {
3206
- direct.push('right');
3207
- }
3208
- return direct.join(' ');
3209
- });
3352
+ var direct;
3353
+ direct = [];
3354
+ if (ver === 'top') {
3355
+ direct.push('bottom');
3356
+ }
3357
+ if (ver === 'bottom') {
3358
+ direct.push('top');
3359
+ }
3360
+ if (hor === 'right') {
3361
+ direct.push('left');
3362
+ }
3363
+ if (hor === 'left') {
3364
+ direct.push('right');
3365
+ }
3366
+ return direct.join(' ');
3367
+ });
3210
3368
  regexp = /(repeating-)?(linear|radial)-gradient/gi;
3211
3369
  string = string.replace(regexp, prefix + '$&');
3212
3370
  if (prefix !== '-webkit-') {
@@ -3214,17 +3372,17 @@ module.exports = {
3214
3372
  }
3215
3373
  regexp = /((repeating-)?(linear|radial)-gradient\()\s*(-?\d+deg)?/ig;
3216
3374
  return string.replace(regexp, function (_0, gradient, _1, _2, deg) {
3217
- if (deg) {
3218
- deg = parseInt(deg);
3219
- deg += 90;
3220
- if (deg > 360) {
3221
- deg -= 360;
3375
+ if (deg) {
3376
+ deg = parseInt(deg);
3377
+ deg += 90;
3378
+ if (deg > 360) {
3379
+ deg -= 360;
3380
+ }
3381
+ return gradient + deg + 'deg';
3382
+ } else {
3383
+ return gradient;
3222
3384
  }
3223
- return gradient + deg + 'deg';
3224
- } else {
3225
- return gradient;
3226
- }
3227
- });
3385
+ });
3228
3386
  }
3229
3387
  },
3230
3388
  "repeating-radial-gradient": {
@@ -3299,22 +3457,22 @@ module.exports = {
3299
3457
  var regexp;
3300
3458
  regexp = /to\s+(top|bottom)?\s*(left|right)?/ig;
3301
3459
  string = string.replace(regexp, function (_, ver, hor) {
3302
- var direct;
3303
- direct = [];
3304
- if (ver === 'top') {
3305
- direct.push('bottom');
3306
- }
3307
- if (ver === 'bottom') {
3308
- direct.push('top');
3309
- }
3310
- if (hor === 'right') {
3311
- direct.push('left');
3312
- }
3313
- if (hor === 'left') {
3314
- direct.push('right');
3315
- }
3316
- return direct.join(' ');
3317
- });
3460
+ var direct;
3461
+ direct = [];
3462
+ if (ver === 'top') {
3463
+ direct.push('bottom');
3464
+ }
3465
+ if (ver === 'bottom') {
3466
+ direct.push('top');
3467
+ }
3468
+ if (hor === 'right') {
3469
+ direct.push('left');
3470
+ }
3471
+ if (hor === 'left') {
3472
+ direct.push('right');
3473
+ }
3474
+ return direct.join(' ');
3475
+ });
3318
3476
  regexp = /(repeating-)?(linear|radial)-gradient/gi;
3319
3477
  string = string.replace(regexp, prefix + '$&');
3320
3478
  if (prefix !== '-webkit-') {
@@ -3322,17 +3480,17 @@ module.exports = {
3322
3480
  }
3323
3481
  regexp = /((repeating-)?(linear|radial)-gradient\()\s*(-?\d+deg)?/ig;
3324
3482
  return string.replace(regexp, function (_0, gradient, _1, _2, deg) {
3325
- if (deg) {
3326
- deg = parseInt(deg);
3327
- deg += 90;
3328
- if (deg > 360) {
3329
- deg -= 360;
3483
+ if (deg) {
3484
+ deg = parseInt(deg);
3485
+ deg += 90;
3486
+ if (deg > 360) {
3487
+ deg -= 360;
3488
+ }
3489
+ return gradient + deg + 'deg';
3490
+ } else {
3491
+ return gradient;
3330
3492
  }
3331
- return gradient + deg + 'deg';
3332
- } else {
3333
- return gradient;
3334
- }
3335
- });
3493
+ });
3336
3494
  }
3337
3495
  }
3338
3496
  };
@@ -7230,7 +7388,11 @@ Rules.prototype = {
7230
7388
  return;
7231
7389
  }
7232
7390
 
7233
- this.rules.splice(this.num, 0, { property: prop, value: value });
7391
+ this.rules.splice(this.num, 0, {
7392
+ type: 'declaration',
7393
+ property: prop,
7394
+ value: value
7395
+ });
7234
7396
  this.num += 1;
7235
7397
  },
7236
7398
 
@@ -7333,10 +7495,15 @@ var autoprefixer = {
7333
7495
  clone.keyframes = [];
7334
7496
  rule.keyframes.forEach(function (keyframe) {
7335
7497
  var keyframeClone = { };
7498
+ keyframeClone.type = keyframe.type;
7336
7499
  keyframeClone.values = keyframe.values.slice();
7337
7500
  keyframeClone.declarations = keyframe.declarations.map(
7338
7501
  function (i) {
7339
- return { property: i.property, value: i.value };
7502
+ var declClone = { };
7503
+ for ( var key in i ) {
7504
+ declClone[key] = i[key];
7505
+ }
7506
+ return declClone;
7340
7507
  });
7341
7508
 
7342
7509
  clone.keyframes.push(keyframeClone);
@@ -7713,6 +7880,8 @@ require.alias("visionmedia-css/index.js", "visionmedia-rework/deps/css/index.js"
7713
7880
  require.alias("visionmedia-css-parse/index.js", "visionmedia-css/deps/css-parse/index.js");
7714
7881
 
7715
7882
  require.alias("visionmedia-css-stringify/index.js", "visionmedia-css/deps/css-stringify/index.js");
7883
+ require.alias("visionmedia-css-stringify/lib/compress.js", "visionmedia-css/deps/css-stringify/lib/compress.js");
7884
+ require.alias("visionmedia-css-stringify/lib/identity.js", "visionmedia-css/deps/css-stringify/lib/identity.js");
7716
7885
 
7717
7886
  require.alias("visionmedia-debug/index.js", "visionmedia-rework/deps/debug/index.js");
7718
7887
  require.alias("visionmedia-debug/debug.js", "visionmedia-rework/deps/debug/debug.js");
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: autoprefixer-rails
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.4.20130530
4
+ version: 0.4.20130603
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2013-05-30 00:00:00.000000000 Z
12
+ date: 2013-06-03 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: execjs
@@ -82,7 +82,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
82
82
  version: '0'
83
83
  segments:
84
84
  - 0
85
- hash: -1982466886575690400
85
+ hash: 666721451048449592
86
86
  required_rubygems_version: !ruby/object:Gem::Requirement
87
87
  none: false
88
88
  requirements:
@@ -91,7 +91,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
91
91
  version: '0'
92
92
  segments:
93
93
  - 0
94
- hash: -1982466886575690400
94
+ hash: 666721451048449592
95
95
  requirements: []
96
96
  rubyforge_project:
97
97
  rubygems_version: 1.8.23