bunch 0.0.3 → 0.0.4

Sign up to get free protection for your applications and to get access to all the features.
Files changed (3) hide show
  1. data/lib/bunch/rack.rb +14 -3
  2. data/lib/bunch/version.rb +1 -1
  3. metadata +5 -5
@@ -1,19 +1,30 @@
1
1
  module Bunch
2
2
  class Rack
3
- def initialize(path)
3
+ def initialize(path, opts={})
4
4
  @root = Pathname.new(path)
5
+ @headers = {}
6
+
7
+ if opts.delete(:no_cache)
8
+ @headers['Cache-Control'] = 'private, max-age=0, must-revalidate'
9
+ @headers['Pragma'] = 'no-cache'
10
+ @headers['Expires'] = 'Thu, 01 Dec 1994 16:00:00 GMT'
11
+ end
5
12
  end
6
13
 
7
14
  def call(env)
8
15
  path = @root.join(env['PATH_INFO'].sub(/^\//, '')).to_s
9
16
  type = MIME::Types.type_for(path).first || 'text/plain'
10
17
 
11
- [ 200, { 'Content-Type' => type.to_s }, [ generate(path) ] ]
18
+ [200, headers(type), [generate(path)]]
12
19
  rescue => e
13
- [ 500, { 'Content-Type' => 'text/plain' }, [ error_log(e) ] ]
20
+ [500, headers('text/plain'), [error_log(e)]]
14
21
  end
15
22
 
16
23
  private
24
+ def headers(mime_type)
25
+ @headers.merge('Content-Type' => mime_type.to_s)
26
+ end
27
+
17
28
  def generate(path)
18
29
  case
19
30
  when File.exist?(path)
@@ -1,3 +1,3 @@
1
1
  module Bunch
2
- VERSION = "0.0.3"
2
+ VERSION = "0.0.4"
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: bunch
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.3
4
+ version: 0.0.4
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -13,7 +13,7 @@ date: 2012-01-02 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: mime-types
16
- requirement: &70173831338560 !ruby/object:Gem::Requirement
16
+ requirement: &70349040409660 !ruby/object:Gem::Requirement
17
17
  none: false
18
18
  requirements:
19
19
  - - ! '>='
@@ -21,10 +21,10 @@ dependencies:
21
21
  version: '0'
22
22
  type: :runtime
23
23
  prerelease: false
24
- version_requirements: *70173831338560
24
+ version_requirements: *70349040409660
25
25
  - !ruby/object:Gem::Dependency
26
26
  name: slop
27
- requirement: &70173831338140 !ruby/object:Gem::Requirement
27
+ requirement: &70349040409240 !ruby/object:Gem::Requirement
28
28
  none: false
29
29
  requirements:
30
30
  - - ! '>='
@@ -32,7 +32,7 @@ dependencies:
32
32
  version: '0'
33
33
  type: :runtime
34
34
  prerelease: false
35
- version_requirements: *70173831338140
35
+ version_requirements: *70349040409240
36
36
  description: Directory-structure-based asset bundling.
37
37
  email:
38
38
  - rfitz@academia.edu