jzajpt-css_compressor 0.1.0 → 0.1.1

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/bin/csscomp ADDED
@@ -0,0 +1,16 @@
1
+ #!/usr/bin/env ruby
2
+
3
+ require 'css_compressor'
4
+
5
+ def usage
6
+ puts "Usage: csscomp <css-file>"
7
+ end
8
+
9
+ input_file = ARGV[0]
10
+ usage if input_file.nil?
11
+ csscomp = CssCompressor.new(input_file)
12
+ csscomp.compress!
13
+
14
+ puts "Original size = #{csscomp.original_size}, compressed size = #{csscomp.compressed_size}"
15
+ puts "Compression ratio = #{csscomp.ratio}"
16
+
@@ -1,18 +1,23 @@
1
1
  Gem::Specification.new do |s|
2
2
  s.name = "css_compressor"
3
- s.version = "0.1.0"
3
+ s.version = "0.1.1"
4
4
  s.date = "2009-01-27"
5
5
  s.summary = "CSS compressor library."
6
6
  s.email = "jzajpt@blueberry.cz"
7
7
  s.author = "Jiri Zajpt"
8
8
  s.homepage = "http://github.com/jzajpt/css_compressor"
9
9
  s.description = "CSS Compressor is a simple Ruby library for compressing CSS files."
10
+ s.rubyforge_project = "css_compressor"
10
11
  s.require_path = "lib"
12
+ s.default_executable = "csscomp"
13
+ s.executables = ["csscomp"]
11
14
  s.has_rdoc = true
12
15
  s.rdoc_options = ["--main", "README.rdoc"]
13
16
  s.extra_rdoc_files = ["README.rdoc"]
14
17
  s.files = [
15
18
  "README.rdoc",
16
- "css_compressor.gemspec",
17
- "lib/css_compressor.rb"]
19
+ "css_compressor.gemspec",
20
+ "bin/csscomp",
21
+ "lib/css_compressor.rb",
22
+ "spec/css_compressor_spec.rb"]
18
23
  end
@@ -14,9 +14,11 @@ class CssCompressor
14
14
  attr_accessor :ratio
15
15
 
16
16
  # Opens given input file.
17
- def initialize(input_file)
18
- @input_file = input_file
19
- read_original_css
17
+ def initialize(input_file = nil)
18
+ if input_file
19
+ @input_file = input_file
20
+ read_original_css
21
+ end
20
22
  end
21
23
 
22
24
  # Reads given input CSS file and compresses it in memory.
@@ -0,0 +1,49 @@
1
+ require File.expand_path(File.dirname(__FILE__) + '/../lib/css_compressor')
2
+ require 'digest/sha2'
3
+ require 'fileutils'
4
+
5
+ describe CssCompressor, "working with file" do
6
+ before(:all) do
7
+ @hash = Digest::SHA1.hexdigest("#{Time.now.to_s}")
8
+ @content = <<-EOF
9
+ test
10
+ {
11
+ background-color: #fff;
12
+ }
13
+ EOF
14
+ @compressed = 'test{background-color:#fff;}'
15
+
16
+ File.open(@hash, "w") do |file|
17
+ file.puts @content
18
+ end
19
+
20
+ @csscomp = CssCompressor.new(@hash)
21
+ end
22
+
23
+ it "should read contents a file" do
24
+ @csscomp.original_css.should == @content
25
+ end
26
+
27
+ it "should read file size" do
28
+ @csscomp.original_size.should == @content.length
29
+ end
30
+
31
+ it "should set compressed css" do
32
+ @csscomp.compress
33
+ @csscomp.compressed_css.should == @compressed
34
+ end
35
+
36
+ it "should set size of compressed css" do
37
+ @csscomp.compress
38
+ @csscomp.compressed_size.should == @compressed.length
39
+ end
40
+
41
+ it "should compute compression ratio" do
42
+ @csscomp.compress
43
+ @csscomp.ratio.should == (@compressed.length / @content.length.to_f)
44
+ end
45
+
46
+ after(:all) do
47
+ FileUtils.rm(@hash)
48
+ end
49
+ end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: jzajpt-css_compressor
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0
4
+ version: 0.1.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Jiri Zajpt
@@ -10,13 +10,13 @@ bindir: bin
10
10
  cert_chain: []
11
11
 
12
12
  date: 2009-01-27 00:00:00 -08:00
13
- default_executable:
13
+ default_executable: csscomp
14
14
  dependencies: []
15
15
 
16
16
  description: CSS Compressor is a simple Ruby library for compressing CSS files.
17
17
  email: jzajpt@blueberry.cz
18
- executables: []
19
-
18
+ executables:
19
+ - csscomp
20
20
  extensions: []
21
21
 
22
22
  extra_rdoc_files:
@@ -24,7 +24,9 @@ extra_rdoc_files:
24
24
  files:
25
25
  - README.rdoc
26
26
  - css_compressor.gemspec
27
+ - bin/csscomp
27
28
  - lib/css_compressor.rb
29
+ - spec/css_compressor_spec.rb
28
30
  has_rdoc: true
29
31
  homepage: http://github.com/jzajpt/css_compressor
30
32
  post_install_message:
@@ -47,7 +49,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
47
49
  version:
48
50
  requirements: []
49
51
 
50
- rubyforge_project:
52
+ rubyforge_project: css_compressor
51
53
  rubygems_version: 1.2.0
52
54
  signing_key:
53
55
  specification_version: 2