csso-rails 0.3.2 → 0.3.3

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 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