slimmer 1.0.0 → 1.1.1

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.
Files changed (3) hide show
  1. data/lib/slimmer.rb +12 -4
  2. data/lib/slimmer/version.rb +1 -1
  3. metadata +24 -13
data/lib/slimmer.rb CHANGED
@@ -11,7 +11,6 @@ module Slimmer
11
11
  SKIP_HEADER = 'X-Slimmer-Skip'
12
12
 
13
13
  class App
14
-
15
14
  def initialize(app, *args, &block)
16
15
  options = args.first || {}
17
16
  @app = app
@@ -20,9 +19,11 @@ module Slimmer
20
19
  raise "Template path should not be used. Use asset_host instead."
21
20
  end
22
21
 
23
- raise "Provide an asset_host" unless options[:asset_host]
22
+ unless options[:asset_host]
23
+ options[:asset_host] = Plek.current.find("assets")
24
+ end
24
25
 
25
- @skin = Skin.new options[:asset_host]
26
+ @skin = Skin.new options[:asset_host], options[:cache_templates]
26
27
  end
27
28
 
28
29
  def call(env)
@@ -247,15 +248,21 @@ module Slimmer
247
248
  end
248
249
 
249
250
  class Skin
251
+ attr_accessor :use_cache
252
+ private :use_cache=, :use_cache
253
+
250
254
  attr_accessor :templated_cache
251
255
  private :templated_cache=, :templated_cache
252
256
 
253
257
  attr_accessor :asset_host
254
258
  private :asset_host=, :asset_host
255
259
 
256
- def initialize asset_host
260
+ # TODO: Extract the cache to something we can pass in instead of using
261
+ # true/false and an in-memory cache.
262
+ def initialize asset_host, use_cache = false
257
263
  self.asset_host = asset_host
258
264
  self.templated_cache = {}
265
+ self.use_cache = false
259
266
  end
260
267
 
261
268
  def template(template_name)
@@ -272,6 +279,7 @@ module Slimmer
272
279
  end
273
280
 
274
281
  def cache name, template
282
+ return unless use_cache
275
283
  templated_cache[name] = template
276
284
  end
277
285
 
@@ -1,3 +1,3 @@
1
1
  module Slimmer
2
- VERSION = '1.0.0'
2
+ VERSION = '1.1.1'
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: slimmer
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.0
4
+ version: 1.1.1
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -14,7 +14,7 @@ date: 2011-11-24 00:00:00.000000000Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: nokogiri
17
- requirement: &70176912260840 !ruby/object:Gem::Requirement
17
+ requirement: &70132280239520 !ruby/object:Gem::Requirement
18
18
  none: false
19
19
  requirements:
20
20
  - - ~>
@@ -22,10 +22,10 @@ dependencies:
22
22
  version: 1.5.0
23
23
  type: :runtime
24
24
  prerelease: false
25
- version_requirements: *70176912260840
25
+ version_requirements: *70132280239520
26
26
  - !ruby/object:Gem::Dependency
27
27
  name: rack
28
- requirement: &70176912260080 !ruby/object:Gem::Requirement
28
+ requirement: &70132280238980 !ruby/object:Gem::Requirement
29
29
  none: false
30
30
  requirements:
31
31
  - - ~>
@@ -33,10 +33,21 @@ dependencies:
33
33
  version: 1.3.5
34
34
  type: :runtime
35
35
  prerelease: false
36
- version_requirements: *70176912260080
36
+ version_requirements: *70132280238980
37
+ - !ruby/object:Gem::Dependency
38
+ name: plek
39
+ requirement: &70132280238400 !ruby/object:Gem::Requirement
40
+ none: false
41
+ requirements:
42
+ - - ~>
43
+ - !ruby/object:Gem::Version
44
+ version: '0.1'
45
+ type: :runtime
46
+ prerelease: false
47
+ version_requirements: *70132280238400
37
48
  - !ruby/object:Gem::Dependency
38
49
  name: rake
39
- requirement: &70176912259180 !ruby/object:Gem::Requirement
50
+ requirement: &70132280237420 !ruby/object:Gem::Requirement
40
51
  none: false
41
52
  requirements:
42
53
  - - ~>
@@ -44,10 +55,10 @@ dependencies:
44
55
  version: 0.9.2.2
45
56
  type: :development
46
57
  prerelease: false
47
- version_requirements: *70176912259180
58
+ version_requirements: *70132280237420
48
59
  - !ruby/object:Gem::Dependency
49
60
  name: rack-test
50
- requirement: &70176912258520 !ruby/object:Gem::Requirement
61
+ requirement: &70132280236700 !ruby/object:Gem::Requirement
51
62
  none: false
52
63
  requirements:
53
64
  - - ~>
@@ -55,10 +66,10 @@ dependencies:
55
66
  version: 0.6.1
56
67
  type: :development
57
68
  prerelease: false
58
- version_requirements: *70176912258520
69
+ version_requirements: *70132280236700
59
70
  - !ruby/object:Gem::Dependency
60
71
  name: mocha
61
- requirement: &70176912257880 !ruby/object:Gem::Requirement
72
+ requirement: &70132280236200 !ruby/object:Gem::Requirement
62
73
  none: false
63
74
  requirements:
64
75
  - - ~>
@@ -66,10 +77,10 @@ dependencies:
66
77
  version: 0.9.12
67
78
  type: :development
68
79
  prerelease: false
69
- version_requirements: *70176912257880
80
+ version_requirements: *70132280236200
70
81
  - !ruby/object:Gem::Dependency
71
82
  name: webmock
72
- requirement: &70176912257140 !ruby/object:Gem::Requirement
83
+ requirement: &70132280235740 !ruby/object:Gem::Requirement
73
84
  none: false
74
85
  requirements:
75
86
  - - ~>
@@ -77,7 +88,7 @@ dependencies:
77
88
  version: '1.7'
78
89
  type: :development
79
90
  prerelease: false
80
- version_requirements: *70176912257140
91
+ version_requirements: *70132280235740
81
92
  description: Rack middleware for skinning pages using a specific template
82
93
  email:
83
94
  - bengriffiths@gmail.com