slight_assets 0.3.1 → 0.4.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (3) hide show
  1. data/bin/slight +40 -0
  2. data/lib/slight_assets/settings.rb +13 -5
  3. metadata +8 -7
data/bin/slight ADDED
@@ -0,0 +1,40 @@
1
+ #!/usr/bin/env ruby
2
+
3
+ require "optparse"
4
+
5
+ options = {
6
+ :js_reducer => false,
7
+ :maximum_embedded_file_size => "32kb"
8
+ }
9
+ optparse = ARGV.options do |opt|
10
+ opt.banner = <<BANNER
11
+ Asset minifier.
12
+ Usage: #{File.basename __FILE__} [options] <asset-file-path>
13
+ BANNER
14
+ opt.on("-o", "--obfuscate-js", "Enables obfuscation for JS minification") do
15
+ options[:js_reducer] = true
16
+ end
17
+ opt.on("-s", "--size SIZE_IN_KBYTES", "Maximum embedded file size for CSS minification") do |size|
18
+ size = "#{size}kb" if size =~ /\A\d+\z/
19
+ options[:maximum_embedded_file_size] = size
20
+ end
21
+ opt.on_tail("-h", "--help", "Display this help") do
22
+ puts opt
23
+ exit 1
24
+ end
25
+ end
26
+ optparse.parse!
27
+
28
+ assetfile = ARGV.pop
29
+
30
+ if assetfile.nil? || assetfile !~ /(\.min)?\.(?:js|css)\z/ || $1 || ! File.exists?(assetfile)
31
+ puts optparse
32
+ exit 1
33
+ end
34
+
35
+
36
+ require "rubygems"
37
+ require "slight_assets"
38
+
39
+ SlightAssets::Cfg.load_config(options)
40
+ SlightAssets::Util.write_static_compressed_file(assetfile)
@@ -21,10 +21,18 @@ module SlightAssets
21
21
  end
22
22
 
23
23
  def load_config(path)
24
- return @config unless File.exists? path
25
- hash = YAML.load_file(path)
26
- hash = hash[::Rails.env] || hash if defined?(::Rails)
27
- @config.merge! hash["slight_asset"] if hash.has_key?("slight_asset")
24
+ if path.is_a?(Hash)
25
+ path.each_pair do |key, value|
26
+ k = key.to_s
27
+ v = value.nil? ? @config[k] : value
28
+ @config[k] = v if @config.has_key?(k)
29
+ end
30
+ else
31
+ return @config unless File.exists? path
32
+ hash = YAML.load_file(path)
33
+ hash = hash[::Rails.env] || hash if defined?(::Rails)
34
+ @config.merge! hash["slight_asset"] if hash.has_key?("slight_asset")
35
+ end
28
36
  rescue TypeError => e
29
37
  puts "could not load #{path}: #{e.inspect}"
30
38
  end
@@ -37,7 +45,7 @@ module SlightAssets
37
45
  elsif c =~ /\A(\d+)\s*(\w+)\z/
38
46
  c = $1.to_i
39
47
  case $2
40
- when "kB", "kb"
48
+ when "kB", "kb", "k", "K"
41
49
  c = c * 1_024
42
50
  end
43
51
  @maximum_embedded_file_size = [c, 32 * 1_024].min
metadata CHANGED
@@ -1,13 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: slight_assets
3
3
  version: !ruby/object:Gem::Version
4
- hash: 17
4
+ hash: 15
5
5
  prerelease: false
6
6
  segments:
7
7
  - 0
8
- - 3
9
- - 1
10
- version: 0.3.1
8
+ - 4
9
+ - 0
10
+ version: 0.4.0
11
11
  platform: ruby
12
12
  authors:
13
13
  - Marcelo Manzan
@@ -15,7 +15,7 @@ autorequire:
15
15
  bindir: bin
16
16
  cert_chain: []
17
17
 
18
- date: 2011-07-22 00:00:00 -03:00
18
+ date: 2011-07-26 00:00:00 -03:00
19
19
  default_executable:
20
20
  dependencies:
21
21
  - !ruby/object:Gem::Dependency
@@ -95,8 +95,8 @@ dependencies:
95
95
  description: Optimize the assets of your Rails application without change any line of code.
96
96
  email:
97
97
  - manzan@gmail.com
98
- executables: []
99
-
98
+ executables:
99
+ - slight
100
100
  extensions: []
101
101
 
102
102
  extra_rdoc_files: []
@@ -114,6 +114,7 @@ files:
114
114
  - lib/slight_assets/version.rb
115
115
  - templates/install/config/assets.yml
116
116
  - templates/install/config/initializers/assets.rb
117
+ - bin/slight
117
118
  has_rdoc: true
118
119
  homepage: http://kawamanza.github.com/slight_assets
119
120
  licenses: []