herbie 0.1.6 → 0.2.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -40,7 +40,7 @@ module Herbie
40
40
  result
41
41
  end
42
42
 
43
- def script(source=nil, &block)
43
+ def script(source=nil, options={}, &block)
44
44
  attrs = {
45
45
  :type => "text/javascript",
46
46
  :charset => "utf-8"
@@ -50,6 +50,7 @@ module Herbie
50
50
  erb_concat "#{tag :script, attrs}\n#{capture_erb(&block)}\n</script>"
51
51
  else
52
52
  source = "/javascripts/#{source}" unless source.nil? || source.match(/^\/{1,2}|^http:\/\/|^https:\/\//)
53
+ source = source.sub(/.js$/, '.min.js') if source && options[:minified] && !source.match(/.min.js$/)
53
54
  attrs = attrs.merge({:src => source})
54
55
  "#{tag :script, attrs}</script>"
55
56
  end
@@ -66,6 +67,12 @@ module Herbie
66
67
  erb_concat "#{tag :style, default_attrs.merge(attrs)}\n#{capture_erb(&block)}\n</style>"
67
68
  else
68
69
  href = "/stylesheets/#{href}" unless href.match(/^\/{1,2}|^http:\/\/|^https:\/\//)
70
+
71
+ if attrs[:minified]
72
+ attrs.delete :minified
73
+ href = href.sub(/.css$/, '.min.css') if href && !href.match(/.min.css$/)
74
+ end
75
+
69
76
  attrs = default_attrs.merge({:href => href}.merge(attrs))
70
77
  "#{tag :link, attrs}"
71
78
  end
data/lib/herbie.rb CHANGED
@@ -3,5 +3,5 @@ require 'herbie/generic_helpers.rb'
3
3
  require 'herbie/html_helpers.rb'
4
4
 
5
5
  module Herbie
6
- VERSION = '0.1.5'
6
+ VERSION = '0.2.0'
7
7
  end
data/spec/herbie_spec.rb CHANGED
@@ -129,6 +129,10 @@ MARKUP
129
129
  script("https://code.jquery.com/jquery.js").should == "<script type=\"text/javascript\" charset=\"utf-8\" src=\"https://code.jquery.com/jquery.js\"></script>" and
130
130
  script("//code.jquery.com/jquery.js").should == "<script type=\"text/javascript\" charset=\"utf-8\" src=\"//code.jquery.com/jquery.js\"></script>"
131
131
  end
132
+
133
+ it "should output a modified URL with .min.js as the file extension when the minified option is true" do
134
+ script("/path/to/script.js", :minified => true).should == "<script type=\"text/javascript\" charset=\"utf-8\" src=\"/path/to/script.min.js\"></script>"
135
+ end
132
136
 
133
137
  it "should output a script element with arbitrary javascript content provided by a block" do
134
138
  pending "Need a mechanism for capturing erb output within a passed block"
@@ -162,6 +166,10 @@ MARKUP
162
166
  media = "screen and (min-width:500px)"
163
167
  style("/style/foo.css", :media => media).should == "<link rel=\"stylesheet\" type=\"text/css\" href=\"/style/foo.css\" media=\"#{media}\">"
164
168
  end
169
+
170
+ it "should output a modified URL with .min.css as the file extension when the minified option is true" do
171
+ style("/style/foo.css", :minified => true).should == "<link rel=\"stylesheet\" type=\"text/css\" href=\"/style/foo.min.css\">"
172
+ end
165
173
 
166
174
  it "should output a style element with arbitrary content provided by a block" do
167
175
  pending "Need a mechanism for capturing erb output within a passed block"
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: herbie
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.6
4
+ version: 0.2.0
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2013-05-11 00:00:00.000000000 Z
12
+ date: 2013-06-12 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: tilt
@@ -114,3 +114,4 @@ summary: herbie
114
114
  test_files:
115
115
  - spec/herbie_spec.rb
116
116
  - spec/spec_helper.rb
117
+ has_rdoc: