cells-slim 0.0.1 → 0.0.2

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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: e942ee4f1aee1b46e930d8fe4665c3a475bb1acd
4
- data.tar.gz: 4029e004141cddfb8d9be7a2d17316f749bb2e14
3
+ metadata.gz: f150ba4af0b1d9be44e276ef2082d325632a0e78
4
+ data.tar.gz: 4a856b33b8fa00d1e9407b77bbf0154121a269a5
5
5
  SHA512:
6
- metadata.gz: e58707694c81c24c9e7c8d4cf7694cf371a8306eb0501fe2687fc1d4221e6ed2af7ea257cdbffd7a8438769d63ae5970256fb40cd25ae58a32c19c7793781a1f
7
- data.tar.gz: c3a96fd82394b2ce37e226438468ed52b2ff1f28bb71bcf38a8c23bf373ae2091a2550e66ab65d4d6400ab4b4735d8ee3cf003911d46ec0ee20dbc07b3ac022f
6
+ metadata.gz: 32f23e27d4f67d50314d41656a4f189304445d14223753ec64de2e2e1245e273dc4143a7cfa7ae984a09aa04e03c81b75bd4ba037bef8cce2139a26a7f6c96a8
7
+ data.tar.gz: 85b7e71eedc1b18c8164cbaeaadf2a81da8d44a5852b9146154d56aa09fd58d92fb2a6d2e14c2d31410251e4de6f102b19b68a2851268cac343582ad2efeac51
data/CHANGES.md ADDED
@@ -0,0 +1,3 @@
1
+ # 0.0.2
2
+
3
+ * Updates for Cells 4: Fixes output_buffer.
data/Gemfile CHANGED
@@ -3,7 +3,9 @@ source 'https://rubygems.org'
3
3
  # Specify your gem's dependencies in cells-slim.gemspec
4
4
  gemspec
5
5
 
6
- gem 'pry-byebug' , platforms: [:mri_20, :mri_21]
7
- gem 'appraisal'
8
- gem 'minitest-reporters'
9
- gem 'cells', github: 'apotonick/cells', branch: 'cells-4'
6
+
7
+ gem "railties", "~> 4.2.0"
8
+ gem "activemodel"
9
+ gem "minitest", "~> 5.2"
10
+
11
+ gem 'cells', path: "../cells"
data/README.md CHANGED
@@ -1,6 +1,6 @@
1
1
  # Cells::Slim
2
2
 
3
- TODO: Write a gem description
3
+ Support for Slim templates with Cells.
4
4
 
5
5
  ## Installation
6
6
 
@@ -10,22 +10,15 @@ Add this line to your application's Gemfile:
10
10
  gem 'cells-slim'
11
11
  ```
12
12
 
13
- And then execute:
14
-
15
- $ bundle
16
-
17
- Or install it yourself as:
18
-
19
- $ gem install cells-slim
20
-
21
13
  ## Usage
22
14
 
23
- TODO: Write usage instructions here
15
+ Outside of Rails, you need to include `Cell::Erb` in your cell.
16
+
17
+ ```ruby
18
+ class CommentCell < Cell::ViewModel
19
+ include Cell::Slim
20
+ ```
24
21
 
25
- ## Contributing
22
+ ## Documentation
26
23
 
27
- 1. Fork it ( https://github.com/trailblazer/cells-slim/fork )
28
- 2. Create your feature branch (`git checkout -b my-new-feature`)
29
- 3. Commit your changes (`git commit -am 'Add some feature'`)
30
- 4. Push to the branch (`git push origin my-new-feature`)
31
- 5. Create a new Pull Request
24
+ [More documentation](http://trailblazerb.org/gems/cells/templates.html) can be found on the Trailblazer page.
data/cells-slim.gemspec CHANGED
@@ -1,13 +1,15 @@
1
- # coding: utf-8
2
1
  lib = File.expand_path('../lib', __FILE__)
3
2
  $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
4
3
 
4
+ require 'cell/slim/version'
5
+
6
+
5
7
  Gem::Specification.new do |spec|
6
8
  spec.name = 'cells-slim'
7
- spec.version = '0.0.1'
9
+ spec.version = Cell::Slim::VERSION
8
10
  spec.authors = ['Abdelkader Boudih', 'Nick Sutterer']
9
11
  spec.email = %w(terminale@gmail.com apotonick@gmail.com)
10
- spec.summary = 'Slim integration for cells 4'
12
+ spec.summary = 'Slim integration for Cells.'
11
13
  spec.description = spec.summary
12
14
  spec.homepage = 'https://github.com/trailblazer/cells-slim'
13
15
  spec.license = 'MIT'
@@ -16,9 +18,8 @@ Gem::Specification.new do |spec|
16
18
  spec.test_files = spec.files.grep(%r{^(test)/})
17
19
  spec.require_paths = ['lib']
18
20
 
19
- spec.add_runtime_dependency 'cells', '~> 4.0.0.alpha1'
21
+ spec.add_runtime_dependency 'cells', '~> 4.0.0.beta6'
20
22
  spec.add_runtime_dependency 'slim', '~> 3.0'
21
- spec.add_runtime_dependency 'tilt', '>= 1.4.1'
22
- spec.add_development_dependency 'bundler', '>= 1.6'
23
- spec.add_development_dependency 'rake', '~> 10.0'
23
+ spec.add_development_dependency 'bundler'
24
+ spec.add_development_dependency 'rake'
24
25
  end
@@ -2,11 +2,11 @@
2
2
 
3
3
  source "https://rubygems.org"
4
4
 
5
+ gem "pry-byebug", :platforms => [:mri_20, :mri_21]
5
6
  gem "appraisal"
6
7
  gem "minitest-reporters"
7
- gem 'cells', github: 'apotonick/cells', branch: 'cells-4'
8
- gem "railties", :github => "rails/rails", :branch => "4-1-stable"
9
- gem "activemodel", :github => "rails/rails", :branch => "4-1-stable"
8
+ gem "cells", :github => "apotonick/cells", :branch => "cells-4"
9
+ gem "railties", "~> 4.1.0"
10
10
  gem "minitest", "~> 5.2"
11
11
 
12
12
  gemspec :path => "../"
@@ -2,11 +2,11 @@
2
2
 
3
3
  source "https://rubygems.org"
4
4
 
5
+ gem "pry-byebug", :platforms => [:mri_20, :mri_21]
5
6
  gem "appraisal"
6
7
  gem "minitest-reporters"
7
- gem 'cells', github: 'apotonick/cells', branch: 'cells-4'
8
- gem "railties", :github => "rails/rails", :branch => "4-2-stable"
9
- gem "activemodel", :github => "rails/rails", :branch => "4-2-stable"
8
+ gem "cells", :github => "apotonick/cells", :branch => "cells-4"
9
+ gem "railties", "~> 4.2.0"
10
10
  gem "minitest", "~> 5.2"
11
11
 
12
12
  gemspec :path => "../"
data/lib/cell/slim.rb ADDED
@@ -0,0 +1,66 @@
1
+ require "slim"
2
+ require "cells"
3
+
4
+ module Cell
5
+ module Slim
6
+ def render_template(*)
7
+ old_output_buffer = @output_buffer
8
+ super
9
+ ensure
10
+ @output_buffer = old_output_buffer
11
+ end
12
+
13
+ def template_options_for(options)
14
+ {
15
+ template_class: ::Slim::Template,
16
+ suffix: "slim",
17
+ disable_escape: true,
18
+ escape_code: false,
19
+ use_html_safe: false,
20
+ buffer: "@output_buffer"
21
+ }
22
+ end
23
+
24
+ include ActionView::Helpers::FormHelper
25
+
26
+ def with_output_buffer(block_buffer=ViewModel::OutputBuffer.new)
27
+ @output_buffer, old_buffer = block_buffer, @output_buffer
28
+ yield
29
+ @output_buffer = old_buffer
30
+
31
+ block_buffer
32
+ end
33
+
34
+ def capture(*args)
35
+ value = nil
36
+ buffer = with_output_buffer { value = yield(*args) }
37
+
38
+ return buffer.to_s if buffer.size > 0
39
+ value # this applies for "Beachparty" string-only statements.
40
+ end
41
+
42
+ # From FormTagHelper. why do they escape every possible string? why?
43
+ def form_tag_in_block(html_options, &block)
44
+ content = capture(&block)
45
+ form_tag_with_body(html_options, content)
46
+ end
47
+
48
+ def form_tag_with_body(html_options, content)
49
+ "#{form_tag_html(html_options)}" << content.to_s << "</form>"
50
+ end
51
+
52
+ def form_tag_html(html_options)
53
+ extra_tags = extra_tags_for_form(html_options)
54
+ "#{tag(:form, html_options, true) + extra_tags}"
55
+ end
56
+
57
+ # Rails 4.0, TagHelper.
58
+ def tag_option(key, value, escape)
59
+ super(key, value, false)
60
+ end
61
+
62
+ def content_tag_string(name, content, options, escape=true)
63
+ super(name, content, options, false)
64
+ end
65
+ end
66
+ end
@@ -0,0 +1,5 @@
1
+ module Cell
2
+ module Slim
3
+ VERSION = "0.0.2"
4
+ end
5
+ end
data/lib/cells-slim.rb ADDED
@@ -0,0 +1 @@
1
+ require "cell/slim"
@@ -0,0 +1 @@
1
+ b Questions: #{render :render_in_render_2}
@@ -0,0 +1 @@
1
+ = content_tag(:div) { "Beachparty" }
@@ -0,0 +1,4 @@
1
+ = content_tag :span
2
+ | Title:
3
+ = content_tag :div
4
+ | Still Knee Deep
@@ -0,0 +1,34 @@
1
+ | Word.
2
+
3
+ = form_tag "/erubis/is/horribly/outdated"
4
+ = text_field_tag :id
5
+ = link_to "/rails/sucks"
6
+ | hallo
7
+
8
+ = content_tag(:ul)
9
+ | Hallo
10
+
11
+ - answer = "<script>oui!</script>"
12
+
13
+ / test content rendering in capture.
14
+ - content = capture do
15
+ | Bonjour!
16
+ = link_to "Coffee?", "/coffee"
17
+ b Yes please!
18
+ == answer
19
+
20
+ | Weiter!
21
+
22
+ == content
23
+
24
+ - breadcrumbs = capture do
25
+ - [link_to("1", "/1"), link_to("2", "/2")].join("+")
26
+
27
+ = breadcrumbs
28
+
29
+ = current_page
30
+ = form_tag_with_body( {url: "/rails/escapes/too/much"}, %{<input type="button"/>})
31
+
32
+
33
+ = form_for OpenStruct.new, url: "/", as: "open" do |f|
34
+ = f.text_field :id
@@ -0,0 +1,58 @@
1
+ class SongCell < Cell::ViewModel
2
+ self.view_paths = ["test/dummy/app/cells"]
3
+
4
+
5
+ include Cell::Slim
6
+
7
+ def protect_against_forgery?
8
+ false
9
+ end
10
+
11
+ def with_form_tag_and_content_tag
12
+ render
13
+ end
14
+
15
+ def with_content_tag_and_content_tag
16
+ render
17
+ end
18
+
19
+ def with_content_tag
20
+ render
21
+ end
22
+
23
+ def with_block
24
+ render
25
+ end
26
+
27
+ def with_capture
28
+ render
29
+ end
30
+
31
+ def with_form_tag
32
+ form_tag("/songs") + content_tag(:span) + "</form>"
33
+ end
34
+
35
+ def with_link_to
36
+ render
37
+ end
38
+
39
+ def with_form_for_block
40
+ render
41
+ end
42
+
43
+ def render_in_render
44
+ render
45
+ end
46
+
47
+ private
48
+ def cap
49
+ "yay, #{with_output_buffer { yield } }"
50
+ end
51
+
52
+ def current_page
53
+ capture do # FIXME: this escapes!
54
+ #[link_to("1", "/1"), link_to("2", "/2")].join("+") # this breaks, too!
55
+ "<b>No current page!<b>".html_safe
56
+ end
57
+ end
58
+ end
@@ -1,10 +1,5 @@
1
1
  require 'rubygems'
2
- gemfile = File.expand_path('../../../../Gemfile', __FILE__)
3
-
4
- if File.exist?(gemfile)
5
- ENV['BUNDLE_GEMFILE'] = gemfile
6
- require 'bundler'
7
- Bundler.setup
8
- end
2
+ require 'bundler'
3
+ Bundler.setup
9
4
 
10
5
  $:.unshift File.expand_path('../../../../lib', __FILE__)
@@ -1,3 +1,3 @@
1
1
  Dummy::Application.routes.draw do
2
- resources :drugs
2
+ resources :songs
3
3
  end
data/test/slim_test.rb CHANGED
@@ -1,9 +1,52 @@
1
1
  require 'test_helper'
2
2
 
3
- class SlimTest < MiniTest::Test
3
+ class SlimTest < MiniTest::Spec
4
+ let (:controller) { ApplicationController.new.tap { |ctl| ctl.send("request=", ActionDispatch::Request.new({})) } }
5
+ let (:song_cell) { SongCell.new(controller) }
4
6
 
5
- def test_template_engine
6
- assert_equal 'slim', Cell::ViewModel.template_engine
7
+ # render in render
8
+ it("bla") { song_cell.(:render_in_render).must_equal "<b>Questions: Yes!</b>" }
9
+
10
+ # content_tag { }
11
+ it { song_cell.(:with_content_tag).must_equal "<div>Beachparty</div>" }
12
+
13
+ # content_tag { content_tag { } }
14
+ it do song_cell.(:with_content_tag_and_content_tag).must_equal %{<span>Title:<div>Still Knee Deep</div></span>}
15
+ end
16
+
17
+ # form_tag { content_tag { } }
18
+ it( "xxx") do
19
+ form_tag = "<form action=\"/erubis/is/horribly/outdated\" accept-charset=\"UTF-8\" method=\"post\"><input name=\"utf8\" type=\"hidden\" value=\"&#x2713;\" />"
20
+ form_tag = "<form accept-charset=\"UTF-8\" action=\"/erubis/is/horribly/outdated\" method=\"post\"><div style=\"margin:0;padding:0;display:inline\"><input name=\"utf8\" type=\"hidden\" value=\"&#x2713;\" /></div>" if ActionPack::VERSION::MAJOR == 3
21
+
22
+ input_tag = %{<input type="text" name="id" id="id" />}
23
+ input_tag = "<input id=\"id\" name=\"id\" type=\"text\" />" if ActionPack::VERSION::MAJOR == 3
24
+
25
+ form_with_body_tag = "<form url=\"/rails/escapes/too/much\" method=\"post\"><input name=\"utf8\" type=\"hidden\" value=\"&#x2713;\" /><input type=\"button\"/></form>"
26
+ form_with_body_tag = "<form method=\"post\" url=\"/rails/escapes/too/much\"><div style=\"margin:0;padding:0;display:inline\"><input name=\"utf8\" type=\"hidden\" value=\"&#x2713;\" /></div><input type=\"button\"/></form>" if ActionPack::VERSION::MAJOR == 3
27
+
28
+ form_for_tag = "<form class=\"new_open\" id=\"new_open\" action=\"/\" accept-charset=\"UTF-8\" method=\"post\"><input name=\"utf8\" type=\"hidden\" value=\"&#x2713;\" /><input type=\"text\" name=\"open[id]\" id=\"open_id\" />"
29
+ form_for_tag = "<form accept-charset=\"UTF-8\" action=\"/\" class=\"new_open\" id=\"new_open\" method=\"post\"><div style=\"margin:0;padding:0;display:inline\"><input name=\"utf8\" type=\"hidden\" value=\"&#x2713;\" /></div><input id=\"open_id\" name=\"open[id]\" size=\"30\" type=\"text\" />" if ActionPack::VERSION::MAJOR == 3
30
+
31
+ song_cell.(:with_form_tag_and_content_tag).must_equal %{Word.
32
+ #{form_tag}
33
+ #{input_tag}
34
+ <a href=\"/rails/sucks\">hallo
35
+ </a>
36
+ <ul>Hallo
37
+ </ul>
38
+ </form>
39
+ Weiter!
40
+ Bonjour!
41
+ <a href=\"/coffee\">Coffee?</a>
42
+ <b>Yes please!</b>
43
+ <script>oui!</script>
44
+ <a href=\"/1\">1</a>+<a href=\"/2\">2</a>
45
+ <b>No current page!<b>
46
+ #{form_with_body_tag}
47
+ #{form_for_tag}
48
+ </form>
49
+ }.gsub("\n", "").gsub(" ", "")
7
50
  end
8
51
 
9
52
  end
data/test/test_helper.rb CHANGED
@@ -1,15 +1,11 @@
1
- begin
2
- require 'byebug'
3
- rescue LoadError
4
- end
5
1
  require 'minitest/autorun'
6
2
 
7
- require 'minitest/reporters'
8
- Minitest::Reporters.use! [Minitest::Reporters::ProgressReporter.new]
9
-
10
3
  ENV['RAILS_ENV'] = 'test'
11
4
 
12
- require 'cells/slim'
13
5
  require_relative 'dummy/config/environment'
14
6
  require "rails/test_help" # adds stuff like @routes, etc.
15
7
 
8
+ require "cell/railtie"
9
+ require 'cell/slim'
10
+
11
+ # Cell::ViewModel.send :include, Cell::Slim
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: cells-slim
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.1
4
+ version: 0.0.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Abdelkader Boudih
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2015-03-20 00:00:00.000000000 Z
12
+ date: 2015-06-05 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: cells
@@ -17,14 +17,14 @@ dependencies:
17
17
  requirements:
18
18
  - - "~>"
19
19
  - !ruby/object:Gem::Version
20
- version: 4.0.0.alpha1
20
+ version: 4.0.0.beta6
21
21
  type: :runtime
22
22
  prerelease: false
23
23
  version_requirements: !ruby/object:Gem::Requirement
24
24
  requirements:
25
25
  - - "~>"
26
26
  - !ruby/object:Gem::Version
27
- version: 4.0.0.alpha1
27
+ version: 4.0.0.beta6
28
28
  - !ruby/object:Gem::Dependency
29
29
  name: slim
30
30
  requirement: !ruby/object:Gem::Requirement
@@ -39,49 +39,35 @@ dependencies:
39
39
  - - "~>"
40
40
  - !ruby/object:Gem::Version
41
41
  version: '3.0'
42
- - !ruby/object:Gem::Dependency
43
- name: tilt
44
- requirement: !ruby/object:Gem::Requirement
45
- requirements:
46
- - - ">="
47
- - !ruby/object:Gem::Version
48
- version: 1.4.1
49
- type: :runtime
50
- prerelease: false
51
- version_requirements: !ruby/object:Gem::Requirement
52
- requirements:
53
- - - ">="
54
- - !ruby/object:Gem::Version
55
- version: 1.4.1
56
42
  - !ruby/object:Gem::Dependency
57
43
  name: bundler
58
44
  requirement: !ruby/object:Gem::Requirement
59
45
  requirements:
60
46
  - - ">="
61
47
  - !ruby/object:Gem::Version
62
- version: '1.6'
48
+ version: '0'
63
49
  type: :development
64
50
  prerelease: false
65
51
  version_requirements: !ruby/object:Gem::Requirement
66
52
  requirements:
67
53
  - - ">="
68
54
  - !ruby/object:Gem::Version
69
- version: '1.6'
55
+ version: '0'
70
56
  - !ruby/object:Gem::Dependency
71
57
  name: rake
72
58
  requirement: !ruby/object:Gem::Requirement
73
59
  requirements:
74
- - - "~>"
60
+ - - ">="
75
61
  - !ruby/object:Gem::Version
76
- version: '10.0'
62
+ version: '0'
77
63
  type: :development
78
64
  prerelease: false
79
65
  version_requirements: !ruby/object:Gem::Requirement
80
66
  requirements:
81
- - - "~>"
67
+ - - ">="
82
68
  - !ruby/object:Gem::Version
83
- version: '10.0'
84
- description: Slim integration for cells 4
69
+ version: '0'
70
+ description: Slim integration for Cells.
85
71
  email:
86
72
  - terminale@gmail.com
87
73
  - apotonick@gmail.com
@@ -91,7 +77,7 @@ extra_rdoc_files: []
91
77
  files:
92
78
  - ".gitignore"
93
79
  - ".travis.yml"
94
- - Appraisals
80
+ - CHANGES.md
95
81
  - Gemfile
96
82
  - LICENSE.txt
97
83
  - README.md
@@ -99,8 +85,16 @@ files:
99
85
  - cells-slim.gemspec
100
86
  - gemfiles/rails4.1.gemfile
101
87
  - gemfiles/rails4.2.gemfile
102
- - lib/cells/slim.rb
88
+ - lib/cell/slim.rb
89
+ - lib/cell/slim/version.rb
90
+ - lib/cells-slim.rb
103
91
  - test/dummy/Rakefile
92
+ - test/dummy/app/cells/song/render_in_render.slim
93
+ - test/dummy/app/cells/song/render_in_render_2.slim
94
+ - test/dummy/app/cells/song/with_content_tag.slim
95
+ - test/dummy/app/cells/song/with_content_tag_and_content_tag.slim
96
+ - test/dummy/app/cells/song/with_form_tag_and_content_tag.slim
97
+ - test/dummy/app/cells/song_cell.rb
104
98
  - test/dummy/app/controllers/application_controller.rb
105
99
  - test/dummy/config.ru
106
100
  - test/dummy/config/application.rb
@@ -130,12 +124,18 @@ required_rubygems_version: !ruby/object:Gem::Requirement
130
124
  version: '0'
131
125
  requirements: []
132
126
  rubyforge_project:
133
- rubygems_version: 2.4.5
127
+ rubygems_version: 2.2.2
134
128
  signing_key:
135
129
  specification_version: 4
136
- summary: Slim integration for cells 4
130
+ summary: Slim integration for Cells.
137
131
  test_files:
138
132
  - test/dummy/Rakefile
133
+ - test/dummy/app/cells/song/render_in_render.slim
134
+ - test/dummy/app/cells/song/render_in_render_2.slim
135
+ - test/dummy/app/cells/song/with_content_tag.slim
136
+ - test/dummy/app/cells/song/with_content_tag_and_content_tag.slim
137
+ - test/dummy/app/cells/song/with_form_tag_and_content_tag.slim
138
+ - test/dummy/app/cells/song_cell.rb
139
139
  - test/dummy/app/controllers/application_controller.rb
140
140
  - test/dummy/config.ru
141
141
  - test/dummy/config/application.rb
@@ -145,4 +145,3 @@ test_files:
145
145
  - test/dummy/script/rails
146
146
  - test/slim_test.rb
147
147
  - test/test_helper.rb
148
- has_rdoc:
data/Appraisals DELETED
@@ -1,9 +0,0 @@
1
- appraise "rails4.1" do
2
- gem 'railties', github: 'rails/rails', branch: '4-1-stable'
3
- gem 'minitest', '~> 5.2'
4
- end
5
-
6
- appraise "rails4.2" do
7
- gem 'railties', github: 'rails/rails', branch: '4-2-stable'
8
- gem 'minitest', '~> 5.2'
9
- end
data/lib/cells/slim.rb DELETED
@@ -1,55 +0,0 @@
1
- require 'slim'
2
- require 'cells'
3
-
4
- Tilt.register 'Slim::Template', 'slim', 'slim'
5
-
6
- module Cell
7
- module Slim
8
- class OutputBuffer < String
9
- end
10
-
11
- def with_output_buffer(buf = nil)
12
- unless buf
13
- buf = OutputBuffer.new
14
- end
15
- self.output_buffer, old_buffer = buf, output_buffer
16
- yield
17
- output_buffer
18
- ensure
19
- self.output_buffer = old_buffer
20
- end
21
-
22
- def capture(*args,&block)
23
- value = nil
24
- buffer = with_output_buffer() { value = yield(*args) }
25
- if string = buffer.presence || value and string.is_a?(String)
26
- return string
27
- end
28
- end
29
-
30
- # From FormTagHelper. why do they escape every possible string? why?
31
- def form_tag_in_block(html_options, &block)
32
- content = capture(&block)
33
- "#{form_tag_html(html_options)}" << content << "</form>"
34
- end
35
-
36
- def form_tag_html(html_options)
37
- extra_tags = extra_tags_for_form(html_options)
38
- "#{tag(:form, html_options, true) + extra_tags}"
39
- end
40
-
41
- def tag_option(key, value, escape)
42
- super(key, value, false)
43
- end
44
-
45
- def content_tag_string(name, content, options, escape=true)
46
- super(name, content, options, false)
47
- end
48
- end
49
-
50
- ViewModel.class_eval do
51
- include Slim
52
- end
53
-
54
- ViewModel.template_engine = :slim
55
- end