compressible 0.0.2.4 → 0.0.2.6
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/Rakefile +2 -2
- data/lib/compressible.rb +6 -6
- data/lib/compressible/assetable.rb +4 -2
- data/lib/compressible/builder.rb +37 -0
- data/lib/compressible/configurable.rb +5 -1
- data/test/test_compressible.rb +28 -0
- data/test/test_helper.rb +0 -1
- metadata +9 -8
data/Rakefile
CHANGED
@@ -5,7 +5,7 @@ require 'rake/gempackagetask'
|
|
5
5
|
# http://docs.rubygems.org/read/chapter/20
|
6
6
|
spec = Gem::Specification.new do |s|
|
7
7
|
s.name = "compressible"
|
8
|
-
s.version = "0.0.2.
|
8
|
+
s.version = "0.0.2.6"
|
9
9
|
s.author = "Lance Pollard"
|
10
10
|
s.summary = "Compressible: Quick asset compression for Ruby - Perfect for Heroku"
|
11
11
|
s.homepage = "http://github.com/viatropos/compressible"
|
@@ -16,7 +16,7 @@ spec = Gem::Specification.new do |s|
|
|
16
16
|
s.platform = Gem::Platform::RUBY
|
17
17
|
s.files = %w(README.markdown Rakefile init.rb MIT-LICENSE) + Dir["{lib,rails,test}/**/*"] - Dir["test/tmp"]
|
18
18
|
s.require_path = "lib"
|
19
|
-
s.add_dependency("activesupport", ">= 2.
|
19
|
+
s.add_dependency("activesupport", ">= 2.3.5")
|
20
20
|
s.add_dependency("yui-compressor")
|
21
21
|
end
|
22
22
|
|
data/lib/compressible.rb
CHANGED
@@ -1,11 +1,7 @@
|
|
1
1
|
require 'rubygems'
|
2
2
|
require 'yaml'
|
3
|
-
|
4
|
-
|
5
|
-
require 'active_support'
|
6
|
-
rescue Gem::LoadError => e
|
7
|
-
puts e.inspect
|
8
|
-
end
|
3
|
+
require 'active_support'
|
4
|
+
|
9
5
|
this = File.dirname(__FILE__)
|
10
6
|
require File.join(this, "ext.rb")
|
11
7
|
|
@@ -26,3 +22,7 @@ Compressible.send(:include, Compressible::Configurable)
|
|
26
22
|
Compressible.send(:include, Compressible::Assetable)
|
27
23
|
Compressible.send(:include, Compressible::Readable)
|
28
24
|
Compressible.send(:include, Compressible::Writable)
|
25
|
+
|
26
|
+
def Compressible(*args, &block)
|
27
|
+
Compressible.define!(*args, &block)
|
28
|
+
end
|
@@ -27,8 +27,9 @@ module Compressible
|
|
27
27
|
paths = args.dup
|
28
28
|
options = paths.extract_options!
|
29
29
|
to = asset_name(options[:to])
|
30
|
-
add_to_config(:js, to, paths)
|
30
|
+
add_to_config(:js, to, paths.flatten)
|
31
31
|
write_javascript(*args) unless config[:read_only] == true
|
32
|
+
to
|
32
33
|
end
|
33
34
|
alias_method :add_javascript, :javascript
|
34
35
|
alias_method :js, :javascript
|
@@ -37,8 +38,9 @@ module Compressible
|
|
37
38
|
paths = args.dup
|
38
39
|
options = paths.extract_options!
|
39
40
|
to = asset_name(options[:to])
|
40
|
-
add_to_config(:css, to, paths)
|
41
|
+
add_to_config(:css, to, paths.flatten)
|
41
42
|
write_stylesheet(*args) unless config[:read_only] == true
|
43
|
+
to
|
42
44
|
end
|
43
45
|
alias_method :add_stylesheet, :stylesheet
|
44
46
|
alias_method :css, :stylesheet
|
@@ -0,0 +1,37 @@
|
|
1
|
+
module Compressible
|
2
|
+
class Builder
|
3
|
+
class << self
|
4
|
+
def define!(*args, &block)
|
5
|
+
new(*args, &block)
|
6
|
+
end
|
7
|
+
end
|
8
|
+
|
9
|
+
def initialize(*args, &block)
|
10
|
+
instance_eval(&block) if block_given?
|
11
|
+
end
|
12
|
+
|
13
|
+
def read_only(value = true)
|
14
|
+
Compressible.configure(:read_only => value)
|
15
|
+
end
|
16
|
+
|
17
|
+
def stylesheets(&block)
|
18
|
+
@context = "stylesheet"
|
19
|
+
instance_eval(&block) if block_given?
|
20
|
+
@context = nil
|
21
|
+
end
|
22
|
+
|
23
|
+
def javascripts(&block)
|
24
|
+
@context = "javascript"
|
25
|
+
instance_eval(&block) if block_given?
|
26
|
+
@context = nil
|
27
|
+
end
|
28
|
+
|
29
|
+
def method_missing(meth, *args, &block)
|
30
|
+
if @context
|
31
|
+
Compressible.send(@context, args, :to => [meth])
|
32
|
+
else
|
33
|
+
super(meth, *args, &block)
|
34
|
+
end
|
35
|
+
end
|
36
|
+
end
|
37
|
+
end
|
@@ -20,6 +20,10 @@ module Compressible
|
|
20
20
|
|
21
21
|
self
|
22
22
|
end
|
23
|
+
|
24
|
+
def define!(*args, &block)
|
25
|
+
Compressible::Builder.define!(*args, &block)
|
26
|
+
end
|
23
27
|
|
24
28
|
def defaults
|
25
29
|
{
|
@@ -38,7 +42,7 @@ module Compressible
|
|
38
42
|
def add_to_config(type, key, value)
|
39
43
|
raise "Please define a name for the cached #{type.to_s} using ':to => :my_name'" unless key
|
40
44
|
item = find_or_create(type, key)
|
41
|
-
item[:paths] = value.collect {|i| asset_name(i)}
|
45
|
+
item[:paths] = value.flatten.collect {|i| asset_name(i)}
|
42
46
|
item
|
43
47
|
end
|
44
48
|
|
data/test/test_compressible.rb
CHANGED
@@ -130,6 +130,34 @@ class CompressibleTest < Test::Unit::TestCase
|
|
130
130
|
|
131
131
|
end
|
132
132
|
|
133
|
+
context "dsl" do
|
134
|
+
setup do
|
135
|
+
Compressible.reset
|
136
|
+
Compressible do
|
137
|
+
read_only
|
138
|
+
|
139
|
+
javascripts do
|
140
|
+
result "test-a", "test-b"
|
141
|
+
end
|
142
|
+
|
143
|
+
stylesheets do
|
144
|
+
result "test-a", "test-b"
|
145
|
+
end
|
146
|
+
end
|
147
|
+
end
|
148
|
+
|
149
|
+
should "have defined the right js and css" do
|
150
|
+
result = {:js => [{:paths=>["test-a", "test-b"], :to=>"result"}],
|
151
|
+
:stylesheet_path=>nil,
|
152
|
+
:javascript_path=>nil,
|
153
|
+
:read_only=>true,
|
154
|
+
:css => [{:paths=>["test-a", "test-b"], :to=>"result"}]
|
155
|
+
}
|
156
|
+
assert_equal result, Compressible.config
|
157
|
+
end
|
158
|
+
|
159
|
+
|
160
|
+
end
|
133
161
|
|
134
162
|
end
|
135
163
|
|
data/test/test_helper.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: compressible
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
hash:
|
4
|
+
hash: 75
|
5
5
|
prerelease: false
|
6
6
|
segments:
|
7
7
|
- 0
|
8
8
|
- 0
|
9
9
|
- 2
|
10
|
-
-
|
11
|
-
version: 0.0.2.
|
10
|
+
- 6
|
11
|
+
version: 0.0.2.6
|
12
12
|
platform: ruby
|
13
13
|
authors:
|
14
14
|
- Lance Pollard
|
@@ -16,7 +16,7 @@ autorequire:
|
|
16
16
|
bindir: bin
|
17
17
|
cert_chain: []
|
18
18
|
|
19
|
-
date: 2010-
|
19
|
+
date: 2010-07-02 00:00:00 -07:00
|
20
20
|
default_executable:
|
21
21
|
dependencies:
|
22
22
|
- !ruby/object:Gem::Dependency
|
@@ -27,12 +27,12 @@ dependencies:
|
|
27
27
|
requirements:
|
28
28
|
- - ">="
|
29
29
|
- !ruby/object:Gem::Version
|
30
|
-
hash:
|
30
|
+
hash: 9
|
31
31
|
segments:
|
32
32
|
- 2
|
33
|
-
-
|
34
|
-
-
|
35
|
-
version: 2.
|
33
|
+
- 3
|
34
|
+
- 5
|
35
|
+
version: 2.3.5
|
36
36
|
type: :runtime
|
37
37
|
version_requirements: *id001
|
38
38
|
- !ruby/object:Gem::Dependency
|
@@ -63,6 +63,7 @@ files:
|
|
63
63
|
- init.rb
|
64
64
|
- MIT-LICENSE
|
65
65
|
- lib/compressible/assetable.rb
|
66
|
+
- lib/compressible/builder.rb
|
66
67
|
- lib/compressible/configurable.rb
|
67
68
|
- lib/compressible/readable.rb
|
68
69
|
- lib/compressible/view_helpers.rb
|