csso-rails 0.3.2 → 0.3.3

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: f348466dbf9fcc505bfac786253c5015f5b75e41
4
+ data.tar.gz: e6429cbdbe44a344e4913aee08b545eb8139bbc7
5
+ SHA512:
6
+ metadata.gz: fc6c958f36d17d9e59894d9db0a2d987e0c7fd7a645a6edae72261412da36e6eb4f5420dac23fa59864f10ec9aeb3c5e51b6623cab7a03e28c9467cfd1dc31b2
7
+ data.tar.gz: 80b063cba7ed2f87b66575c98d33e6920f4756cea73d7aa7391aed09286ddf365f293370d8d013c2cc3f39f5bd7448f922ced6cbb9d9a013f6479cad10c7af09
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- csso-rails (0.3.2)
4
+ csso-rails (0.3.3)
5
5
  execjs (>= 1)
6
6
 
7
7
  GEM
data/Rakefile CHANGED
@@ -25,7 +25,8 @@ file 'csso' do
25
25
  }
26
26
  end
27
27
 
28
- task :update_csso => :csso do
28
+ desc "updates csso repo"
29
+ task :update_csso_repo => :csso do
29
30
  #??
30
31
  Dir.chdir('csso'){
31
32
  puts 'Updating csso...'
@@ -41,8 +42,10 @@ file Csso::CSSO_JS_LIB => [lib_template, 'csso', 'vendor/csso', 'csso/.git/HEAD'
41
42
  `erb #{lib_template} > #{Csso::CSSO_JS_LIB}`
42
43
  end
43
44
 
44
- task :generate_files => [Csso::CSSO_JS_LIB]
45
+ desc "Generate bundled csso from repo"
46
+ task :generate_files => [:csso, Csso::CSSO_JS_LIB]
45
47
 
48
+ desc "Clean generated files"
46
49
  task :rm_generated do
47
50
  puts "Removing #{Csso::CSSO_JS_LIB}"
48
51
  `rm #{Csso::CSSO_JS_LIB}`
@@ -50,4 +53,7 @@ end
50
53
 
51
54
  task :regenerate => [:rm_generated, :generate_files]
52
55
 
53
- task :build => :generate_files
56
+ desc "Update CSSO"
57
+ task :update_csso => [:rm_generated, :update_csso_repo, :generate_files]
58
+
59
+ task :build => :generate_files
data/bin/ruby_csso CHANGED
@@ -1,25 +1,6 @@
1
1
  #!/usr/bin/env ruby
2
2
 
3
3
  require 'csso-rails'
4
+ require 'csso/cli'
4
5
 
5
- def help
6
- puts <<-HLP
7
- csso- CSS Optimizer (ruby bindings by vasfed)
8
- Usage:
9
- $ ruby_csso < style.css - read stdin and output to stdout
10
- $ ruby_csso file1.css [file2.css [...]] - read all files and output to stdout (concatenating, no optimization between files yet)
11
- --help - print this help
12
- --maniac - enable maniac mode (optimize file multiple times until optimization stops to give any results)
13
- HLP
14
- end
15
-
16
- maniac = ARGV.delete('--maniac') && true || false
17
-
18
- if ($stdin.tty? && ARGV.empty?) || ARGV.delete('-h') || ARGV.delete('--help')
19
- help
20
- else
21
- # Well, lets read those files
22
- css = ARGF.read
23
-
24
- puts Csso.optimize(css, maniac)
25
- end
6
+ Csso::CLI.run!
data/lib/csso/cli.rb ADDED
@@ -0,0 +1,44 @@
1
+ #encofing: utf-8
2
+
3
+ require 'optparse'
4
+
5
+ module Csso
6
+ module CLI
7
+ def self.run!(argv=ARGV)
8
+ maniac = false
9
+ opts = OptionParser.new do |opts|
10
+ opts.version = Csso::VERSION
11
+ opts.banner = "CSS Optimizer (ruby bindings by vasfed) version #{opts.version}"
12
+ opts.separator ""
13
+ opts.separator "Usage:"
14
+ opts.separator " #{opts.program_name} [options] FILE [FILE2 [FILE3 [...]]"
15
+ opts.separator " #{opts.program_name} [options] < some_file.css"
16
+ opts.separator ""
17
+ opts.separator "All input files are concatenated and fed to stdout after processing."
18
+ opts.separator ""
19
+
20
+ opts.separator "Options:"
21
+ opts.on("-m", "--[no-]maniac", "\"Maniac mode\" optimizes input multiple times until optimization stops to give any results.") do |v|
22
+ maniac = v
23
+ end
24
+
25
+ opts.on_tail("-v", "--version", "Print version information") do
26
+ return puts opts.ver
27
+ end
28
+ opts.on_tail("-h", "--help", "Show this message") do
29
+ return puts opts.help
30
+ end
31
+ end
32
+
33
+ opts.parse!(argv)
34
+
35
+ if $stdin.tty? && argv.empty?
36
+ return puts opts.help
37
+ end
38
+
39
+ ARGV.replace(argv)
40
+ css = ARGF.read
41
+ puts Csso.optimize(css, maniac)
42
+ end
43
+ end
44
+ end
data/lib/csso/version.rb CHANGED
@@ -1,4 +1,4 @@
1
1
  module Csso
2
- VERSION = '0.3.2'
2
+ VERSION = '0.3.3'
3
3
  CSSO_JS_LIB = 'vendor/csso/csso.js'
4
4
  end
data/vendor/csso/csso.js CHANGED
@@ -2,7 +2,7 @@
2
2
  THIS FILE IS AUTOGENERATED! DO NOT EDIT!
3
3
  See lib/csso/csso.js.erb instead.
4
4
 
5
- Based on CSSO 1.3.8 revision 7061510a0f2b896cd7899836889b91453c4c6e2a
5
+ Based on CSSO 1.3.10 revision ed443db03803fb9e04918e1c6307053c2a731160
6
6
  */
7
7
 
8
8
  console = {
@@ -162,7 +162,7 @@ function getTokens(s) {
162
162
  if (c === '/' && cn === '*') {
163
163
  parseMLComment(s);
164
164
  } else if (!urlMode && c === '/' && cn === '/') {
165
- if (blockMode > 0) parseIdentifier(s);
165
+ if (blockMode > 0) parseIdentifier(s);
166
166
  else parseSLComment(s);
167
167
  } else if (c === '"' || c === "'") {
168
168
  parseString(s, c);
@@ -593,8 +593,8 @@ function getCSSPAST(_tokens, rule, _needInfo) {
593
593
  }
594
594
 
595
595
  function getAttrib() {
596
- if (checkAttrib1(pos)) return getAttrib1();
597
- if (checkAttrib2(pos)) return getAttrib2();
596
+ if (checkAttrib1(pos)) return getAttrib1();
597
+ if (checkAttrib2(pos)) return getAttrib2();
598
598
  }
599
599
 
600
600
  //attrselector = (seq('=') | seq('~=') | seq('^=') | seq('$=') | seq('*=') | seq('|=')):x -> [#attrselector, x]
@@ -1330,7 +1330,7 @@ function getCSSPAST(_tokens, rule, _needInfo) {
1330
1330
  (tokens[_i].type !== TokenType.DecimalNumber || !wasIdent)
1331
1331
  ) break;
1332
1332
  else wasIdent = true;
1333
- }
1333
+ }
1334
1334
  }
1335
1335
 
1336
1336
  if (!wasIdent && tokens[start].type !== TokenType.Asterisk) return fail(tokens[_i]);
@@ -3477,7 +3477,7 @@ CSSOCompressor.prototype.getVendorFromString = function(string) {
3477
3477
  var vendor = string.charAt(0), i;
3478
3478
  if (vendor === '-') {
3479
3479
  if ((i = string.indexOf('-', 2)) !== -1) return string.substr(0, i + 1);
3480
- }
3480
+ }
3481
3481
  return '';
3482
3482
  };
3483
3483
 
metadata CHANGED
@@ -1,62 +1,55 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: csso-rails
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.2
5
- prerelease:
4
+ version: 0.3.3
6
5
  platform: ruby
7
6
  authors:
8
7
  - Vasily Fedoseyev
9
8
  autorequire:
10
9
  bindir: bin
11
10
  cert_chain: []
12
- date: 2013-09-04 00:00:00.000000000 Z
11
+ date: 2013-12-27 00:00:00.000000000 Z
13
12
  dependencies:
14
13
  - !ruby/object:Gem::Dependency
15
14
  name: execjs
16
15
  requirement: !ruby/object:Gem::Requirement
17
- none: false
18
16
  requirements:
19
- - - ! '>='
17
+ - - '>='
20
18
  - !ruby/object:Gem::Version
21
19
  version: '1'
22
20
  type: :runtime
23
21
  prerelease: false
24
22
  version_requirements: !ruby/object:Gem::Requirement
25
- none: false
26
23
  requirements:
27
- - - ! '>='
24
+ - - '>='
28
25
  - !ruby/object:Gem::Version
29
26
  version: '1'
30
27
  - !ruby/object:Gem::Dependency
31
28
  name: rake
32
29
  requirement: !ruby/object:Gem::Requirement
33
- none: false
34
30
  requirements:
35
- - - ! '>='
31
+ - - '>='
36
32
  - !ruby/object:Gem::Version
37
33
  version: '0'
38
34
  type: :development
39
35
  prerelease: false
40
36
  version_requirements: !ruby/object:Gem::Requirement
41
- none: false
42
37
  requirements:
43
- - - ! '>='
38
+ - - '>='
44
39
  - !ruby/object:Gem::Version
45
40
  version: '0'
46
41
  - !ruby/object:Gem::Dependency
47
42
  name: minitest
48
43
  requirement: !ruby/object:Gem::Requirement
49
- none: false
50
44
  requirements:
51
- - - ! '>='
45
+ - - '>='
52
46
  - !ruby/object:Gem::Version
53
47
  version: '0'
54
48
  type: :development
55
49
  prerelease: false
56
50
  version_requirements: !ruby/object:Gem::Requirement
57
- none: false
58
51
  requirements:
59
- - - ! '>='
52
+ - - '>='
60
53
  - !ruby/object:Gem::Version
61
54
  version: '0'
62
55
  description: Invoke the CSSO from Ruby
@@ -77,6 +70,7 @@ files:
77
70
  - csso-rails.gemspec
78
71
  - lib/csso-rails.rb
79
72
  - lib/csso.rb
73
+ - lib/csso/cli.rb
80
74
  - lib/csso/compressor.rb
81
75
  - lib/csso/csso.js.erb
82
76
  - lib/csso/js_lib.rb
@@ -87,33 +81,26 @@ files:
87
81
  homepage: https://github.com/Vasfed/csso-rails
88
82
  licenses:
89
83
  - MIT
84
+ metadata: {}
90
85
  post_install_message:
91
86
  rdoc_options: []
92
87
  require_paths:
93
88
  - lib
94
89
  required_ruby_version: !ruby/object:Gem::Requirement
95
- none: false
96
90
  requirements:
97
- - - ! '>='
91
+ - - '>='
98
92
  - !ruby/object:Gem::Version
99
93
  version: '0'
100
- segments:
101
- - 0
102
- hash: -4417280419298130483
103
94
  required_rubygems_version: !ruby/object:Gem::Requirement
104
- none: false
105
95
  requirements:
106
- - - ! '>='
96
+ - - '>='
107
97
  - !ruby/object:Gem::Version
108
98
  version: '0'
109
- segments:
110
- - 0
111
- hash: -4417280419298130483
112
99
  requirements: []
113
100
  rubyforge_project: csso-rails
114
- rubygems_version: 1.8.24
101
+ rubygems_version: 2.0.14
115
102
  signing_key:
116
- specification_version: 3
103
+ specification_version: 4
117
104
  summary: CSS Stylesheet optimizer/compressor for Rails
118
105
  test_files:
119
106
  - spec/csso/csso_spec.rb