assets_booster 0.0.1 → 0.0.2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (36) hide show
  1. data/.rspec +2 -0
  2. data/Rakefile +4 -0
  3. data/asset_booster.gemspec +6 -1
  4. data/lib/assets_booster/compiler/closure.rb +8 -6
  5. data/lib/assets_booster/compiler/dummy.rb +2 -5
  6. data/lib/assets_booster/compiler/jsmin.rb +138 -148
  7. data/lib/assets_booster/compiler/rainpress.rb +3 -3
  8. data/lib/assets_booster/compiler/uglify.rb +6 -4
  9. data/lib/assets_booster/merger/base.rb +26 -0
  10. data/lib/assets_booster/merger/css.rb +38 -43
  11. data/lib/assets_booster/merger/simple.rb +7 -11
  12. data/lib/assets_booster/package/base.rb +24 -14
  13. data/lib/assets_booster/package/javascript.rb +3 -7
  14. data/lib/assets_booster/package/stylesheet.rb +3 -7
  15. data/lib/assets_booster/packager.rb +102 -11
  16. data/lib/assets_booster/railtie.rb +5 -3
  17. data/lib/assets_booster/tasks/tasks.rake +9 -11
  18. data/lib/assets_booster/version.rb +1 -1
  19. data/lib/assets_booster/view_helper.rb +3 -6
  20. data/spec/compiler/base.rb +15 -0
  21. data/spec/compiler/closure_spec.rb +16 -0
  22. data/spec/compiler/dummy_spec.rb +16 -0
  23. data/spec/compiler/jsmin_spec.rb +16 -0
  24. data/spec/compiler/rainpress_spec.rb +16 -0
  25. data/spec/compiler/uglify_spec.rb +16 -0
  26. data/spec/merger/base.rb +31 -0
  27. data/spec/merger/css_spec.rb +138 -0
  28. data/spec/merger/simple_spec.rb +18 -0
  29. data/spec/package/base.rb +26 -0
  30. data/spec/package/javascript_spec.rb +16 -0
  31. data/spec/package/stylesheet_spec.rb +16 -0
  32. data/spec/packager_spec.rb +87 -0
  33. data/spec/spec_helper.rb +9 -0
  34. data/spec/view_helper_spec.rb +12 -0
  35. metadata +69 -7
  36. data/lib/assets_booster/configuration.rb +0 -104
@@ -0,0 +1,9 @@
1
+ require 'rubygems'
2
+ require 'bundler/setup'
3
+ require 'rails'
4
+
5
+ require 'assets_booster'
6
+
7
+ RSpec.configure do |config|
8
+ end
9
+
@@ -0,0 +1,12 @@
1
+ require 'spec_helper'
2
+ require 'assets_booster/view_helper'
3
+ module AssetsBooster
4
+ describe ViewHelper do
5
+ describe "assets_booster_tag" do
6
+ it "should return html tags" do
7
+ pending
8
+ end
9
+ end
10
+ end
11
+ end
12
+
metadata CHANGED
@@ -1,13 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: assets_booster
3
3
  version: !ruby/object:Gem::Version
4
- hash: 29
4
+ hash: 27
5
5
  prerelease:
6
6
  segments:
7
7
  - 0
8
8
  - 0
9
- - 1
10
- version: 0.0.1
9
+ - 2
10
+ version: 0.0.2
11
11
  platform: ruby
12
12
  authors:
13
13
  - Corin Langosch
@@ -17,8 +17,54 @@ cert_chain: []
17
17
 
18
18
  date: 2011-03-20 00:00:00 +01:00
19
19
  default_executable:
20
- dependencies: []
21
-
20
+ dependencies:
21
+ - !ruby/object:Gem::Dependency
22
+ name: rails
23
+ prerelease: false
24
+ requirement: &id001 !ruby/object:Gem::Requirement
25
+ none: false
26
+ requirements:
27
+ - - ~>
28
+ - !ruby/object:Gem::Version
29
+ hash: 13
30
+ segments:
31
+ - 3
32
+ - 0
33
+ - 5
34
+ version: 3.0.5
35
+ type: :development
36
+ version_requirements: *id001
37
+ - !ruby/object:Gem::Dependency
38
+ name: rspec
39
+ prerelease: false
40
+ requirement: &id002 !ruby/object:Gem::Requirement
41
+ none: false
42
+ requirements:
43
+ - - ~>
44
+ - !ruby/object:Gem::Version
45
+ hash: 27
46
+ segments:
47
+ - 2
48
+ - 5
49
+ - 0
50
+ version: 2.5.0
51
+ type: :development
52
+ version_requirements: *id002
53
+ - !ruby/object:Gem::Dependency
54
+ name: rainpress
55
+ prerelease: false
56
+ requirement: &id003 !ruby/object:Gem::Requirement
57
+ none: false
58
+ requirements:
59
+ - - ~>
60
+ - !ruby/object:Gem::Version
61
+ hash: 15
62
+ segments:
63
+ - 1
64
+ - 0
65
+ version: "1.0"
66
+ type: :development
67
+ version_requirements: *id003
22
68
  description: Instead of sending down a dozen JavaScript and CSS files full of formatting and comments, this gem makes it simple to merge and compress these into one or more files, increasing speed and saving bandwidth.
23
69
  email:
24
70
  - info@netskin.com
@@ -30,6 +76,7 @@ extra_rdoc_files: []
30
76
 
31
77
  files:
32
78
  - .gitignore
79
+ - .rspec
33
80
  - Gemfile
34
81
  - README
35
82
  - Rakefile
@@ -44,7 +91,7 @@ files:
44
91
  - lib/assets_booster/compiler/node-js/uglify.js
45
92
  - lib/assets_booster/compiler/rainpress.rb
46
93
  - lib/assets_booster/compiler/uglify.rb
47
- - lib/assets_booster/configuration.rb
94
+ - lib/assets_booster/merger/base.rb
48
95
  - lib/assets_booster/merger/css.rb
49
96
  - lib/assets_booster/merger/simple.rb
50
97
  - lib/assets_booster/package/base.rb
@@ -55,8 +102,23 @@ files:
55
102
  - lib/assets_booster/tasks/tasks.rake
56
103
  - lib/assets_booster/version.rb
57
104
  - lib/assets_booster/view_helper.rb
105
+ - spec/compiler/base.rb
106
+ - spec/compiler/closure_spec.rb
107
+ - spec/compiler/dummy_spec.rb
108
+ - spec/compiler/jsmin_spec.rb
109
+ - spec/compiler/rainpress_spec.rb
110
+ - spec/compiler/uglify_spec.rb
111
+ - spec/merger/base.rb
112
+ - spec/merger/css_spec.rb
113
+ - spec/merger/simple_spec.rb
114
+ - spec/package/base.rb
115
+ - spec/package/javascript_spec.rb
116
+ - spec/package/stylesheet_spec.rb
117
+ - spec/packager_spec.rb
118
+ - spec/spec_helper.rb
119
+ - spec/view_helper_spec.rb
58
120
  has_rdoc: true
59
- homepage: ""
121
+ homepage: http://github.com/gucki/assets_booster
60
122
  licenses: []
61
123
 
62
124
  post_install_message:
@@ -1,104 +0,0 @@
1
- require 'yaml'
2
- module AssetsBooster
3
- class Configuration
4
- cattr_accessor :filename
5
- cattr_accessor :config
6
-
7
- self.filename = File.join(Rails.root, "config", "assets_booster.yml")
8
-
9
- def self.load
10
- self.config = YAML.load_file(filename)
11
- AssetsBooster::Packager.packages = {}
12
- config['packages'].each_pair do |type, packages|
13
- type = type.to_sym
14
- AssetsBooster::Packager.packages[type] = {}
15
- packages.each_pair do |name, assets|
16
- AssetsBooster::Packager.packages[type][name] = get_package(type).new(name, assets)
17
- end
18
- end
19
- end
20
-
21
- def self.asset_path(file)
22
- File.join(Rails.root, "public", file)
23
- end
24
-
25
- def self.compiler_for_type(type)
26
- get_compiler(config['options'][type.to_s]['compiler'])
27
- end
28
-
29
- def self.defaults
30
- {
31
- 'packages' => {
32
- 'javascript' => {},
33
- 'stylesheet' => {},
34
- },
35
- 'options' => {
36
- 'compiler' => {
37
- 'javascript' => {
38
- 'name' => "closure",
39
- 'options' => "",
40
- },
41
- 'stylesheet' => {
42
- 'name' => "rainpress",
43
- 'options' => "",
44
- }
45
- },
46
- 'environments' => %w(staging production),
47
- }
48
- }
49
- end
50
-
51
- def self.create
52
- if File.exists?(filename)
53
- AssetsBooster.log "#{filename} already exists. Aborting task..."
54
- return
55
- end
56
-
57
- config = defaults
58
- config['packages']['javascript'] = {
59
- "base" => file_list("#{Rails.root}/public/javascripts", "js"),
60
- }
61
- config['packages']['stylesheet'] = {
62
- "base" => file_list("#{Rails.root}/public/stylesheets", "css"),
63
- }
64
-
65
- File.open(filename, "w") do |out|
66
- YAML.dump(config, out)
67
- end
68
- self.config = config
69
-
70
- AssetsBooster.log("#{filename} example file created!")
71
- AssetsBooster.log("Please reorder files under 'base' so dependencies are loaded in correct order.")
72
- end
73
-
74
- def self.boosted_environment?
75
- @boosted_environment ||= config['options']['environments'].include?(Rails.env)
76
- end
77
-
78
- private
79
-
80
- def self.file_list(path, extension)
81
- Dir[File.join(path, "*.#{extesnsion}")].map do |file|
82
- file.chomp(".#{extension}")
83
- end
84
- end
85
-
86
- def self.get_package(type)
87
- require "assets_booster/package/base"
88
- require "assets_booster/package/#{type}"
89
- klass = "AssetsBooster::Package::#{type.to_s.camelize}"
90
- klass.constantize
91
- rescue LoadError => e
92
- raise "You've specified an invalid package type '#{type}'"
93
- end
94
-
95
- def self.get_compiler(name)
96
- require "assets_booster/compiler/#{name}"
97
- klass = "AssetsBooster::Compiler::#{name.to_s.camelize}"
98
- klass.constantize
99
- rescue LoadError => e
100
- raise "You've specified an invalid compiler '#{name}'"
101
- end
102
- end
103
- end
104
-