cuba-contrib 3.0.0.rc1 → 3.0.0.rc2

Sign up to get free protection for your applications and to get access to all the features.
data/README.markdown CHANGED
@@ -117,17 +117,16 @@ that's exactly how the `markdown` helper is written in
117
117
  `Cuba::TextHelpers`.
118
118
 
119
119
  A more complicated plugin for example, will make use of
120
- `Cuba::Settings` to provide default values:
120
+ `Cuba.settings` to provide default values:
121
121
 
122
122
  ``` ruby
123
123
  module Rendering
124
124
  def self.setup(app)
125
- app.plugin Cuba::Settings # we need this for default values
126
- app.set :template_engine, "erb"
125
+ app.settings[:template_engine] = "erb"
127
126
  end
128
127
 
129
128
  def partial(template, locals = {})
130
- render("#{template}.#{settings.template_engine}", locals)
129
+ render("#{template}.#{settings[:template_engine]}", locals)
131
130
  end
132
131
  end
133
132
 
@@ -139,4 +138,4 @@ This sample plugin actually resembles how `Cuba::Rendering` works.
139
138
  [cuba]: http://cuba.is
140
139
  [sites]: http://cuba.is/sites
141
140
  [mote]: http://github.com/soveran/mote
142
- [unix]: http://en.wikipedia.org/wiki/Unix_philosophy
141
+ [unix]: http://en.wikipedia.org/wiki/Unix_philosophy
data/cuba-contrib.gemspec CHANGED
@@ -1,6 +1,6 @@
1
1
  Gem::Specification.new do |s|
2
2
  s.name = "cuba-contrib"
3
- s.version = "3.0.0.rc1"
3
+ s.version = "3.0.0.rc2"
4
4
  s.summary = "Cuba plugins and utilities."
5
5
  s.description = "Includes various helper tools for Cuba."
6
6
  s.authors = ["Cyril David"]
data/lib/cuba/contrib.rb CHANGED
@@ -2,7 +2,6 @@ class Cuba
2
2
  CONTRIB_ROOT = File.expand_path("../../", File.dirname(__FILE__))
3
3
 
4
4
  autoload :Prelude, "cuba/contrib/prelude"
5
- autoload :Rendering, "cuba/contrib/rendering"
6
5
  autoload :Mote, "cuba/contrib/mote"
7
6
  autoload :TextHelpers, "cuba/contrib/text_helpers"
8
7
  autoload :FormHelpers, "cuba/contrib/form_helpers"
data/test/mote.rb CHANGED
@@ -21,17 +21,17 @@ end
21
21
  test do
22
22
  _, _, body = Cuba.call({ "PATH_INFO" => "/", "SCRIPT_NAME" => "" })
23
23
 
24
- assert_response body, ["<title>Hola</title>\n<h1>Home</h1>"]
24
+ assert_response body, ["<title>Hola</title>\n<h1>Home</h1>\n\n"]
25
25
  end
26
26
 
27
27
  test do
28
28
  _, _, body = Cuba.call({ "PATH_INFO" => "/frag", "SCRIPT_NAME" => "" })
29
29
 
30
- assert_response body, ["<h1>Bar</h1>"]
30
+ assert_response body, ["<h1>Bar</h1>\n"]
31
31
  end
32
32
 
33
33
  test do
34
34
  _, _, body = Cuba.call({ "PATH_INFO" => "/abs_path", "SCRIPT_NAME" => "" })
35
35
 
36
- assert_response body, ["<title>Absolute</title>\n<h1>Abs Path</h1>"]
36
+ assert_response body, ["<title>Absolute</title>\n<h1>Abs Path</h1>\n\n"]
37
37
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: cuba-contrib
3
3
  version: !ruby/object:Gem::Version
4
- version: 3.0.0.rc1
4
+ version: 3.0.0.rc2
5
5
  prerelease: 6
6
6
  platform: ruby
7
7
  authors:
@@ -9,11 +9,11 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2012-02-14 00:00:00.000000000 Z
12
+ date: 2012-02-16 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: cuba
16
- requirement: &2152386960 !ruby/object:Gem::Requirement
16
+ requirement: &2152117720 !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: *2152386960
24
+ version_requirements: *2152117720
25
25
  - !ruby/object:Gem::Dependency
26
26
  name: cutest
27
- requirement: &2152385700 !ruby/object:Gem::Requirement
27
+ requirement: &2152116800 !ruby/object:Gem::Requirement
28
28
  none: false
29
29
  requirements:
30
30
  - - ! '>='
@@ -32,10 +32,10 @@ dependencies:
32
32
  version: '0'
33
33
  type: :development
34
34
  prerelease: false
35
- version_requirements: *2152385700
35
+ version_requirements: *2152116800
36
36
  - !ruby/object:Gem::Dependency
37
37
  name: capybara
38
- requirement: &2152401460 !ruby/object:Gem::Requirement
38
+ requirement: &2152116280 !ruby/object:Gem::Requirement
39
39
  none: false
40
40
  requirements:
41
41
  - - ! '>='
@@ -43,7 +43,7 @@ dependencies:
43
43
  version: '0'
44
44
  type: :development
45
45
  prerelease: false
46
- version_requirements: *2152401460
46
+ version_requirements: *2152116280
47
47
  description: Includes various helper tools for Cuba.
48
48
  email:
49
49
  - me@cyrildavid.com
@@ -57,16 +57,11 @@ files:
57
57
  - lib/cuba/contrib/form_helpers.rb
58
58
  - lib/cuba/contrib/mote.rb
59
59
  - lib/cuba/contrib/prelude.rb
60
- - lib/cuba/contrib/rendering.rb
61
60
  - lib/cuba/contrib/text_helpers.rb
62
61
  - lib/cuba/contrib.rb
63
62
  - cuba-contrib.gemspec
64
- - test/caching.rb
65
63
  - test/helper.rb
66
- - test/layout.rb
67
64
  - test/mote.rb
68
- - test/rendering.rb
69
- - test/test.erb
70
65
  - test/text_helper.rb
71
66
  - views/field.mote
72
67
  - views/file.mote
@@ -95,7 +90,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
95
90
  version: 1.3.1
96
91
  requirements: []
97
92
  rubyforge_project:
98
- rubygems_version: 1.8.11
93
+ rubygems_version: 1.8.16
99
94
  signing_key:
100
95
  specification_version: 3
101
96
  summary: Cuba plugins and utilities.
@@ -1,49 +0,0 @@
1
- require "tilt"
2
-
3
- class Cuba
4
- module Rendering
5
- def self.setup(app)
6
- app.settings[:template_engine] = "erb"
7
- app.settings[:views] = File.expand_path("views", Dir.pwd)
8
- app.settings[:layout] = "layout"
9
- end
10
-
11
- def view(template, locals = {}, layout = settings[:layout])
12
- partial(layout, { content: partial(template, locals) }.merge(locals))
13
- end
14
-
15
- def partial(template, locals = {})
16
- render("#{settings[:views]}/#{template}.#{settings[:template_engine]}",
17
- locals, default_encoding: Encoding.default_external)
18
- end
19
-
20
- # Render any type of template file supported by Tilt.
21
- #
22
- # @example
23
- #
24
- # # Renders home, and is assumed to be HAML.
25
- # render("home.haml")
26
- #
27
- # # Renders with some local variables
28
- # render("home.haml", site_name: "My Site")
29
- #
30
- # # Renders with HAML options
31
- # render("home.haml", {}, ugly: true, format: :html5)
32
- #
33
- # # Renders in layout
34
- # render("layout.haml") { render("home.haml") }
35
- #
36
- def render(template, locals = {}, options = {}, &block)
37
- _cache.fetch(template) {
38
- Tilt.new(template, 1, options)
39
- }.render(self, locals, &block)
40
- end
41
-
42
- # @private Used internally by #render to cache the
43
- # Tilt templates.
44
- def _cache
45
- Thread.current[:_cache] ||= Tilt::Cache.new
46
- end
47
- private :_cache
48
- end
49
- end
data/test/caching.rb DELETED
@@ -1,17 +0,0 @@
1
- require File.expand_path("helper", File.dirname(__FILE__))
2
-
3
- test "executes on true" do
4
- Cuba.plugin Cuba::Rendering
5
-
6
- Cuba.define do
7
- on "foo/:i" do |i|
8
- res.write render("test/test.erb", title: i)
9
- end
10
- end
11
-
12
- 1000.times do |i|
13
- _, _, resp = Cuba.call({ "PATH_INFO" => "/foo/#{i}", "SCRIPT_NAME" => "" })
14
- end
15
-
16
- assert_equal 1, Thread.current[:_cache].instance_variable_get(:@cache).size
17
- end
data/test/layout.rb DELETED
@@ -1,16 +0,0 @@
1
- require File.expand_path("helper", File.dirname(__FILE__))
2
-
3
- test "simple layout support" do
4
- Cuba.plugin Cuba::Rendering
5
- Cuba.define do
6
- on true do
7
- res.write render("test/fixtures/layout.erb") {
8
- render("test/fixtures/content.erb")
9
- }
10
- end
11
- end
12
-
13
- _, _, resp = Cuba.call({})
14
-
15
- assert_equal ["alfa beta\n\n"], resp.body
16
- end
data/test/rendering.rb DELETED
@@ -1,42 +0,0 @@
1
- require_relative "helper"
2
-
3
- Cuba.plugin Cuba::Rendering
4
- Cuba.settings[:views] = "./test/views"
5
-
6
- Cuba.define do
7
- on "home" do
8
- res.write view("home", name: "Agent Smith", title: "Home")
9
- end
10
-
11
- on "about" do
12
- res.write partial("about", title: "About Cuba")
13
- end
14
- end
15
-
16
- test "partial" do
17
- _, _, body = Cuba.call({ "PATH_INFO" => "/about", "SCRIPT_NAME" => "/" })
18
-
19
- assert_response body, ["<h1>About Cuba</h1>"]
20
- end
21
-
22
- test "view" do
23
- _, _, body = Cuba.call({ "PATH_INFO" => "/home", "SCRIPT_NAME" => "/" })
24
-
25
- assert_response body, ["<title>Cuba: Home</title>\n<h1>Home</h1>\n<p>Hello Agent Smith</p>"]
26
- end
27
-
28
- test "partial with str as engine" do
29
- Cuba.settings[:template_engine] = "str"
30
-
31
- _, _, body = Cuba.call({ "PATH_INFO" => "/about", "SCRIPT_NAME" => "/" })
32
-
33
- assert_response body, ["<h1>About Cuba</h1>"]
34
- end
35
-
36
- test "view with str as engine" do
37
- Cuba.settings[:template_engine] = "str"
38
-
39
- _, _, body = Cuba.call({ "PATH_INFO" => "/home", "SCRIPT_NAME" => "/" })
40
-
41
- assert_response body, ["<title>Cuba: Home</title>\n<h1>Home</h1>\n<p>Hello Agent Smith</p>"]
42
- end
data/test/test.erb DELETED
@@ -1 +0,0 @@
1
- <%= title %>