sinatra-cache 0.3.0 → 0.3.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.
@@ -17,11 +17,11 @@ With that said, on to the real stuff.
17
17
 
18
18
 
19
19
  == Installation
20
-
20
+
21
21
  # Add RubyGems.org (former Gemcutter) to your RubyGems sources
22
22
  $ gem sources -a http://rubygems.org
23
23
 
24
- $ (sudo)? gem install sinatra-cache
24
+ $ (sudo)? gem install sinatra-cache
25
25
 
26
26
  == Dependencies
27
27
 
@@ -30,14 +30,18 @@ This Gem depends upon the following:
30
30
  === Runtime:
31
31
 
32
32
  * sinatra ( >= 1.0.a )
33
+ * sinatra-outputbuffer[http://github.com/kematzy/sinatra-outputbuffer] (>= 0.1.0)
34
+
35
+ Optionals:
33
36
 
37
+ * sinatra-settings[http://github.com/kematzy/sinatra-settings] (>= 0.1.1) # to view default settings in a browser display.
34
38
 
35
39
  === Development & Tests:
36
40
 
41
+ * sinatra-tests (>= 0.1.6)
37
42
  * rspec (>= 1.3.0 )
38
43
  * rack-test (>= 0.5.3)
39
44
  * rspec_hpricot_matchers (>= 0.1.0)
40
- * sinatra-tests (>= 0.1.6)
41
45
  * fileutils
42
46
  * sass
43
47
  * ostruct
@@ -376,14 +380,6 @@ See LICENSE for details.
376
380
 
377
381
  === Credits
378
382
 
379
- Included in this gem is code from <tt>SinatraMore::OutputHelpers</tt>, taken from the
380
- <tt>sinatra_more</tt> gem [ http://github.com/nesquena/sinatra_more/ ] by Nathan Esquenazi.
381
-
382
- The code was renamed to Sinatra::Output to prevent any extension clashes.
383
-
384
- Copyright (c) 2009 Nathan Esquenazi. Released under the MIT License.
385
-
386
-
387
383
  A big <b>Thank You!</b> goes to rtomayko[http://github/rtomayko], blakemizerany[http://github.com/blakemizerany/]
388
384
  and others working on the Sinatra framework.
389
385
 
data/Rakefile CHANGED
@@ -11,7 +11,7 @@ begin
11
11
  gem.homepage = "http://github.com/kematzy/sinatra-cache"
12
12
  gem.authors = ["kematzy"]
13
13
  gem.add_dependency('sinatra', '>=1.0.a')
14
- # gem.add_dependency('dependency', '>=x.x.x')
14
+ gem.add_dependency('sinatra-outputbuffer', '>=0.1.0')
15
15
  gem.add_development_dependency "sinatra-tests", ">= 0.1.6"
16
16
  gem.add_development_dependency "rspec", ">= 1.3.0"
17
17
  # gem is a Gem::Specification... see http://www.rubygems.org/read/chapter/20 for additional settings
@@ -36,10 +36,10 @@ end
36
36
 
37
37
  namespace :spec do
38
38
 
39
- desc "Run all specifications verbosely"
40
- Spec::Rake::SpecTask.new(:verbose) do |t|
39
+ desc "Run all specifications quietly"
40
+ Spec::Rake::SpecTask.new(:quiet) do |t|
41
41
  t.libs << "lib"
42
- t.spec_opts = ["--color", "--format", "specdoc", "--require", "spec/spec_helper.rb"]
42
+ t.spec_opts = ["--color", "--require", "spec/spec_helper.rb"]
43
43
  end
44
44
 
45
45
  desc "Run specific spec verbosely (SPEC=/path/2/file)"
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.3.0
1
+ 0.3.1
@@ -1,13 +1,14 @@
1
1
 
2
2
  require 'sinatra/base'
3
+ require 'sinatra/outputbuffer'
3
4
 
4
5
  module Sinatra
5
6
  module Cache
6
- VERSION = '0.3.0' unless const_defined?(:VERSION)
7
+ VERSION = '0.3.1' unless const_defined?(:VERSION)
7
8
  def self.version; "Sinatra::Cache v#{VERSION}"; end
8
9
  end #/ Cache
9
10
  end #/ Sinatra
10
11
 
11
- %w(templates output cache/helpers).each do |lib|
12
+ %w(templates cache/helpers).each do |lib|
12
13
  require "sinatra/#{lib}"
13
14
  end
@@ -19,7 +19,11 @@ module Sinatra
19
19
  # === Runtime:
20
20
  #
21
21
  # * sinatra ( >= 1.0.a )
22
+ # * sinatra-outputbuffer[http://github.com/kematzy/sinatra-outputbuffer] (>= 0.1.0)
22
23
  #
24
+ # Optionals:
25
+ #
26
+ # * sinatra-settings[http://github.com/kematzy/sinatra-settings] (>= 0.1.1) # to view default settings in a browser display.
23
27
  #
24
28
  # === Development & Tests:
25
29
  #
@@ -629,7 +633,7 @@ module Sinatra
629
633
  #
630
634
  #
631
635
  def self.registered(app)
632
- app.helpers Sinatra::Output::Helpers
636
+ app.register(Sinatra::OutputBuffer)
633
637
  app.helpers Cache::Helpers
634
638
 
635
639
  ## CONFIGURATIONS::
@@ -5,11 +5,11 @@
5
5
 
6
6
  Gem::Specification.new do |s|
7
7
  s.name = %q{sinatra-cache}
8
- s.version = "0.3.0"
8
+ s.version = "0.3.1"
9
9
 
10
10
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
11
  s.authors = ["kematzy"]
12
- s.date = %q{2010-02-25}
12
+ s.date = %q{2010-03-02}
13
13
  s.description = %q{A Sinatra Extension that makes Page and Fragment Caching easy.}
14
14
  s.email = %q{kematzy@gmail.com}
15
15
  s.extra_rdoc_files = [
@@ -24,7 +24,6 @@ Gem::Specification.new do |s|
24
24
  "VERSION",
25
25
  "lib/sinatra/cache.rb",
26
26
  "lib/sinatra/cache/helpers.rb",
27
- "lib/sinatra/output.rb",
28
27
  "lib/sinatra/templates.rb",
29
28
  "sinatra-cache.gemspec",
30
29
  "spec/fixtures/apps/base/views/css.sass",
@@ -52,15 +51,18 @@ Gem::Specification.new do |s|
52
51
 
53
52
  if Gem::Version.new(Gem::RubyGemsVersion) >= Gem::Version.new('1.2.0') then
54
53
  s.add_runtime_dependency(%q<sinatra>, [">= 1.0.a"])
54
+ s.add_runtime_dependency(%q<sinatra-outputbuffer>, [">= 0.1.0"])
55
55
  s.add_development_dependency(%q<sinatra-tests>, [">= 0.1.6"])
56
56
  s.add_development_dependency(%q<rspec>, [">= 1.3.0"])
57
57
  else
58
58
  s.add_dependency(%q<sinatra>, [">= 1.0.a"])
59
+ s.add_dependency(%q<sinatra-outputbuffer>, [">= 0.1.0"])
59
60
  s.add_dependency(%q<sinatra-tests>, [">= 0.1.6"])
60
61
  s.add_dependency(%q<rspec>, [">= 1.3.0"])
61
62
  end
62
63
  else
63
64
  s.add_dependency(%q<sinatra>, [">= 1.0.a"])
65
+ s.add_dependency(%q<sinatra-outputbuffer>, [">= 0.1.0"])
64
66
  s.add_dependency(%q<sinatra-tests>, [">= 0.1.6"])
65
67
  s.add_dependency(%q<rspec>, [">= 1.3.0"])
66
68
  end
@@ -70,7 +70,8 @@ describe "Sinatra" do
70
70
 
71
71
  end
72
72
 
73
-
73
+ # convenience shared spec that sets up MyTestApp and tests it's OK,
74
+ # without it you will get "stack level too deep" errors
74
75
  it_should_behave_like "MyTestApp"
75
76
 
76
77
  # it_should_behave_like "debug => app.methods"
metadata CHANGED
@@ -5,8 +5,8 @@ version: !ruby/object:Gem::Version
5
5
  segments:
6
6
  - 0
7
7
  - 3
8
- - 0
9
- version: 0.3.0
8
+ - 1
9
+ version: 0.3.1
10
10
  platform: ruby
11
11
  authors:
12
12
  - kematzy
@@ -14,7 +14,7 @@ autorequire:
14
14
  bindir: bin
15
15
  cert_chain: []
16
16
 
17
- date: 2010-02-25 00:00:00 +08:00
17
+ date: 2010-03-02 00:00:00 +08:00
18
18
  default_executable:
19
19
  dependencies:
20
20
  - !ruby/object:Gem::Dependency
@@ -32,9 +32,23 @@ dependencies:
32
32
  type: :runtime
33
33
  version_requirements: *id001
34
34
  - !ruby/object:Gem::Dependency
35
- name: sinatra-tests
35
+ name: sinatra-outputbuffer
36
36
  prerelease: false
37
37
  requirement: &id002 !ruby/object:Gem::Requirement
38
+ requirements:
39
+ - - ">="
40
+ - !ruby/object:Gem::Version
41
+ segments:
42
+ - 0
43
+ - 1
44
+ - 0
45
+ version: 0.1.0
46
+ type: :runtime
47
+ version_requirements: *id002
48
+ - !ruby/object:Gem::Dependency
49
+ name: sinatra-tests
50
+ prerelease: false
51
+ requirement: &id003 !ruby/object:Gem::Requirement
38
52
  requirements:
39
53
  - - ">="
40
54
  - !ruby/object:Gem::Version
@@ -44,11 +58,11 @@ dependencies:
44
58
  - 6
45
59
  version: 0.1.6
46
60
  type: :development
47
- version_requirements: *id002
61
+ version_requirements: *id003
48
62
  - !ruby/object:Gem::Dependency
49
63
  name: rspec
50
64
  prerelease: false
51
- requirement: &id003 !ruby/object:Gem::Requirement
65
+ requirement: &id004 !ruby/object:Gem::Requirement
52
66
  requirements:
53
67
  - - ">="
54
68
  - !ruby/object:Gem::Version
@@ -58,7 +72,7 @@ dependencies:
58
72
  - 0
59
73
  version: 1.3.0
60
74
  type: :development
61
- version_requirements: *id003
75
+ version_requirements: *id004
62
76
  description: A Sinatra Extension that makes Page and Fragment Caching easy.
63
77
  email: kematzy@gmail.com
64
78
  executables: []
@@ -76,7 +90,6 @@ files:
76
90
  - VERSION
77
91
  - lib/sinatra/cache.rb
78
92
  - lib/sinatra/cache/helpers.rb
79
- - lib/sinatra/output.rb
80
93
  - lib/sinatra/templates.rb
81
94
  - sinatra-cache.gemspec
82
95
  - spec/fixtures/apps/base/views/css.sass
@@ -1,147 +0,0 @@
1
-
2
- # :stopdoc:
3
- unless Object.new.respond_to?(:blank?)
4
-
5
- class Object
6
- def blank?
7
- respond_to?(:empty?) ? empty? : !self
8
- end
9
- def present?
10
- !blank?
11
- end
12
- end
13
- end
14
- # :startdoc:
15
-
16
-
17
- module Sinatra
18
-
19
- # Sinatra::Output Extension
20
- #
21
- # Provides support for the :cache_fragment() functionality.
22
- #
23
- # Thank You very much Nathan. Much appreciated!
24
- #
25
- #
26
- # The code within this extension is almost in its interity copied from:
27
- #
28
- # sinatra_more gem [ http://github.com/nesquena/sinatra_more/ ] by Nathan Esquenazi.
29
- #
30
- #
31
- # Copyright (c) 2009 Nathan Esquenazi
32
- #
33
- # Permission is hereby granted, free of charge, to any person obtaining
34
- # a copy of this software and associated documentation files (the
35
- # "Software"), to deal in the Software without restriction, including
36
- # without limitation the rights to use, copy, modify, merge, publish,
37
- # distribute, sublicense, and/or sell copies of the Software, and to
38
- # permit persons to whom the Software is furnished to do so, subject to
39
- # the following conditions:
40
- #
41
- # The above copyright notice and this permission notice shall be
42
- # included in all copies or substantial portions of the Software.
43
- #
44
- # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
45
- # EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
46
- # MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
47
- # NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
48
- # LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
49
- # OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
50
- # WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
51
- #
52
- #
53
- module Output
54
-
55
- VERSION = Sinatra::Cache::VERSION
56
- ##
57
- # Returns the version string for this extension
58
- #
59
- # ==== Examples
60
- #
61
- # Sinatra::Output.version => 'Sinatra::Output v0.9.9'
62
- #
63
- def self.version; "Sinatra::Output v#{VERSION}"; end
64
-
65
-
66
- module Helpers
67
-
68
- # Captures the html from a block of template code for erb or haml
69
- # capture_html(&block) => "...html..."
70
- def capture_html(*args, &block)
71
- if self.respond_to?(:is_haml?) && is_haml?
72
- block_is_haml?(block) ? capture_haml(*args, &block) : block.call
73
- elsif has_erb_buffer?
74
- result_text = capture_erb(*args, &block)
75
- result_text.present? ? result_text : (block_given? && block.call(*args))
76
- else # theres no template to capture, invoke the block directly
77
- block.call(*args)
78
- end
79
- end
80
-
81
- # Outputs the given text to the templates buffer directly
82
- # concat_content("This will be output to the template buffer in erb or haml")
83
- def concat_content(text="")
84
- if self.respond_to?(:is_haml?) && is_haml?
85
- haml_concat(text)
86
- elsif has_erb_buffer?
87
- erb_concat(text)
88
- else # theres no template to concat, return the text directly
89
- text
90
- end
91
- end
92
-
93
- # Returns true if the block is from an ERB or HAML template; false otherwise.
94
- # Used to determine if html should be returned or concatted to view
95
- # block_is_template?(block)
96
- def block_is_template?(block)
97
- block && (block_is_erb?(block) || (self.respond_to?(:block_is_haml?) && block_is_haml?(block)))
98
- end
99
-
100
-
101
- protected
102
-
103
- # Used to capture the html from a block of erb code
104
- # capture_erb(&block) => '...html...'
105
- def capture_erb(*args, &block)
106
- erb_with_output_buffer { block_given? && block.call(*args) }
107
- end
108
-
109
- # Concats directly to an erb template
110
- # erb_concat("Direct to buffer")
111
- def erb_concat(text)
112
- @_out_buf << text if has_erb_buffer?
113
- end
114
-
115
- # Returns true if an erb buffer is detected
116
- # has_erb_buffer? => true
117
- def has_erb_buffer?
118
- !@_out_buf.nil?
119
- end
120
-
121
- # Used to determine if a block is called from ERB.
122
- # NOTE: This doesn't actually work yet because the variable __in_erb_template
123
- # hasn't been defined in ERB. We need to find a way to fix this.
124
- def block_is_erb?(block)
125
- has_erb_buffer? || block && eval('defined? __in_erb_template', block)
126
- end
127
-
128
- # Used to direct the buffer for the erb capture
129
- def erb_with_output_buffer(buf = '') #:nodoc:
130
- @_out_buf, old_buffer = buf, @_out_buf
131
- yield
132
- @_out_buf
133
- ensure
134
- @_out_buf = old_buffer
135
- end
136
-
137
- end #/ Helpers
138
-
139
- # def self.registered(app)
140
- # app.helpers Sinatra::Output::Helpers
141
- # end #/ self.registered
142
-
143
- end #/ Output
144
-
145
- helpers Sinatra::Output::Helpers
146
-
147
- end #/ Sinatra