erector 0.5.1 → 0.6.3
Sign up to get free protection for your applications and to get access to all the features.
- data/README.txt +6 -5
- data/VERSION.yml +5 -0
- data/bin/{erect → erector} +0 -0
- data/lib/erector.rb +3 -1
- data/lib/erector/erect.rb +1 -1
- data/lib/erector/erected.rb +1 -1
- data/lib/erector/rails.rb +2 -1
- data/lib/erector/rails/extensions/action_controller.rb +25 -7
- data/lib/erector/rails/extensions/rails_widget.rb +38 -0
- data/lib/erector/rails/extensions/{widget.rb → rails_widget/helpers.rb} +2 -9
- data/lib/erector/rails/rails_version.rb +6 -0
- data/lib/erector/rails/template_handlers/action_view_template_handler.rb +43 -11
- data/lib/erector/version.rb +4 -2
- data/lib/erector/widget.rb +221 -74
- data/lib/erector/widgets/table.rb +34 -8
- data/spec/erector/indentation_spec.rb +39 -24
- data/spec/erector/widget_spec.rb +197 -64
- data/spec/erector/widgets/table_spec.rb +3 -3
- data/spec/spec.opts +1 -0
- data/spec/spec_helper.rb +2 -4
- data/spec/spec_suite.rb +6 -12
- metadata +24 -70
- data/lib/erector/rails/extensions/action_controller/1.2.5/action_controller.rb +0 -17
- data/lib/erector/rails/extensions/action_controller/2.2.0/action_controller.rb +0 -26
- data/lib/erector/rails/extensions/widget/1.2.5/widget.rb +0 -18
- data/lib/erector/rails/extensions/widget/2.2.0/widget.rb +0 -23
- data/lib/erector/rails/supported_rails_versions.rb +0 -13
- data/lib/erector/rails/template_handlers/1.2.5/action_view_template_handler.rb +0 -32
- data/lib/erector/rails/template_handlers/2.0.0/action_view_template_handler.rb +0 -36
- data/lib/erector/rails/template_handlers/2.1.0/action_view_template_handler.rb +0 -31
- data/lib/erector/rails/template_handlers/2.2.0/action_view_template_handler.rb +0 -46
- data/spec/erect/erect_spec.rb +0 -145
- data/spec/erect/erected_spec.rb +0 -80
- data/spec/erect/rhtml_parser_spec.rb +0 -318
@@ -23,7 +23,7 @@ module TableSpec
|
|
23
23
|
describe "with custom heading" do
|
24
24
|
attr_reader :html, :doc
|
25
25
|
before do
|
26
|
-
widget = CustomHeadingTable.new(
|
26
|
+
widget = CustomHeadingTable.new(:row_objects => [])
|
27
27
|
@html = widget.to_s
|
28
28
|
@doc = Hpricot(html)
|
29
29
|
end
|
@@ -45,7 +45,7 @@ module TableSpec
|
|
45
45
|
attr_reader :html, :doc
|
46
46
|
before do
|
47
47
|
@object1 = Struct.new(:first_name).new("Hello")
|
48
|
-
widget = CustomCellTable.new(
|
48
|
+
widget = CustomCellTable.new(:row_objects => [@object1])
|
49
49
|
@html = widget.to_s
|
50
50
|
@doc = Hpricot(html)
|
51
51
|
end
|
@@ -63,7 +63,7 @@ module TableSpec
|
|
63
63
|
@object1 = Struct.new(:first_name, :last_name, :email).new(1, 2, 3)
|
64
64
|
@object2 = Struct.new(:first_name, :last_name, :email).new(4, 5, 6)
|
65
65
|
@object3 = Struct.new(:first_name, :last_name, :email).new(7, 8, 9)
|
66
|
-
widget = DefaultsTestTable.new(
|
66
|
+
widget = DefaultsTestTable.new(:row_objects => [@object1, @object2, @object3])
|
67
67
|
@html = widget.to_s
|
68
68
|
@doc = Hpricot(html)
|
69
69
|
@table = doc.at("table")
|
data/spec/spec.opts
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
--backtrace
|
data/spec/spec_helper.rb
CHANGED
@@ -2,15 +2,13 @@ dir = File.dirname(__FILE__)
|
|
2
2
|
require "rubygems"
|
3
3
|
$LOAD_PATH.unshift("#{dir}/../lib")
|
4
4
|
require "erector"
|
5
|
-
require "erector/rails"
|
6
5
|
require "hpricot"
|
7
6
|
require "rr"
|
8
7
|
require 'tempfile'
|
9
8
|
require 'ostruct'
|
10
|
-
|
11
|
-
require "erector/erect"
|
12
|
-
require "erector/erected"
|
9
|
+
ARGV.push(*File.read("#{File.dirname(__FILE__)}/spec.opts").split("\n"))
|
13
10
|
require "spec"
|
11
|
+
require "spec/autorun"
|
14
12
|
|
15
13
|
Spec::Runner.configure do |config|
|
16
14
|
config.mock_with :rr
|
data/spec/spec_suite.rb
CHANGED
@@ -3,13 +3,12 @@ class SpecSuite
|
|
3
3
|
def all
|
4
4
|
system("ruby #{dir}/core_spec_suite.rb") || raise("Core Spec Suite failed")
|
5
5
|
dir = File.dirname(__FILE__)
|
6
|
-
require "#{dir}/../lib/erector/rails/
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
end
|
6
|
+
require "#{dir}/../lib/erector/rails/rails_version"
|
7
|
+
|
8
|
+
rails_version = Erector::Rails::RAILS_VERSION
|
9
|
+
puts "Running rails_spec_suite for Rails version #{rails_version}"
|
10
|
+
|
11
|
+
system("ruby #{dir}/rails_spec_suite.rb") || raise("Failed for version #{rails_version}")
|
13
12
|
end
|
14
13
|
|
15
14
|
def core
|
@@ -29,11 +28,6 @@ class SpecSuite
|
|
29
28
|
end
|
30
29
|
|
31
30
|
protected
|
32
|
-
def run_with_rails_version(suite_path, rails_version)
|
33
|
-
system("export RAILS_VERSION=#{rails_version} && ruby #{suite_path}") ||
|
34
|
-
raise("Failed for version #{rails_version}")
|
35
|
-
end
|
36
|
-
|
37
31
|
def dir
|
38
32
|
File.dirname(__FILE__)
|
39
33
|
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: erector
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.6.3
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Pivotal Labs
|
@@ -9,29 +9,9 @@ autorequire:
|
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
11
|
|
12
|
-
date:
|
12
|
+
date: 2009-05-06 00:00:00 -07:00
|
13
13
|
default_executable:
|
14
14
|
dependencies:
|
15
|
-
- !ruby/object:Gem::Dependency
|
16
|
-
name: treetop
|
17
|
-
type: :runtime
|
18
|
-
version_requirement:
|
19
|
-
version_requirements: !ruby/object:Gem::Requirement
|
20
|
-
requirements:
|
21
|
-
- - ">="
|
22
|
-
- !ruby/object:Gem::Version
|
23
|
-
version: 1.2.3
|
24
|
-
version:
|
25
|
-
- !ruby/object:Gem::Dependency
|
26
|
-
name: rake
|
27
|
-
type: :runtime
|
28
|
-
version_requirement:
|
29
|
-
version_requirements: !ruby/object:Gem::Requirement
|
30
|
-
requirements:
|
31
|
-
- - ">="
|
32
|
-
- !ruby/object:Gem::Version
|
33
|
-
version: "0"
|
34
|
-
version:
|
35
15
|
- !ruby/object:Gem::Dependency
|
36
16
|
name: hoe
|
37
17
|
type: :runtime
|
@@ -42,61 +22,24 @@ dependencies:
|
|
42
22
|
- !ruby/object:Gem::Version
|
43
23
|
version: 1.5.0
|
44
24
|
version:
|
45
|
-
description:
|
46
|
-
email:
|
47
|
-
- alex@pivotallabs.com
|
25
|
+
description: Html Builder library.
|
26
|
+
email: erector@googlegroups.compivotallabsopensource@googlegroups.com
|
48
27
|
executables:
|
49
|
-
-
|
28
|
+
- erector
|
50
29
|
extensions: []
|
51
30
|
|
52
31
|
extra_rdoc_files:
|
53
32
|
- README.txt
|
54
33
|
files:
|
55
|
-
- spec/core_spec_suite.rb
|
56
|
-
- spec/erect
|
57
|
-
- spec/erect/erect_spec.rb
|
58
|
-
- spec/erect/erected_spec.rb
|
59
|
-
- spec/erect/rhtml_parser_spec.rb
|
60
|
-
- spec/erector
|
61
|
-
- spec/erector/indentation_spec.rb
|
62
|
-
- spec/erector/unicode_builder_spec.rb
|
63
|
-
- spec/erector/widget_spec.rb
|
64
|
-
- spec/erector/widgets
|
65
|
-
- spec/erector/widgets/table_spec.rb
|
66
|
-
- spec/rails_spec_suite.rb
|
67
|
-
- spec/spec_helper.rb
|
68
|
-
- spec/spec_suite.rb
|
69
|
-
- lib/erector
|
70
34
|
- lib/erector/erect.rb
|
71
35
|
- lib/erector/erected.rb
|
72
|
-
- lib/erector/extensions
|
73
36
|
- lib/erector/extensions/object.rb
|
74
37
|
- lib/erector/indenting.rb
|
75
|
-
- lib/erector/rails
|
76
|
-
- lib/erector/rails/extensions
|
77
|
-
- lib/erector/rails/extensions/action_controller
|
78
|
-
- lib/erector/rails/extensions/action_controller/1.2.5
|
79
|
-
- lib/erector/rails/extensions/action_controller/1.2.5/action_controller.rb
|
80
|
-
- lib/erector/rails/extensions/action_controller/2.2.0
|
81
|
-
- lib/erector/rails/extensions/action_controller/2.2.0/action_controller.rb
|
82
38
|
- lib/erector/rails/extensions/action_controller.rb
|
83
39
|
- lib/erector/rails/extensions/action_view.rb
|
84
|
-
- lib/erector/rails/extensions/
|
85
|
-
- lib/erector/rails/extensions/
|
86
|
-
- lib/erector/rails/
|
87
|
-
- lib/erector/rails/extensions/widget/2.2.0
|
88
|
-
- lib/erector/rails/extensions/widget/2.2.0/widget.rb
|
89
|
-
- lib/erector/rails/extensions/widget.rb
|
90
|
-
- lib/erector/rails/supported_rails_versions.rb
|
91
|
-
- lib/erector/rails/template_handlers
|
92
|
-
- lib/erector/rails/template_handlers/1.2.5
|
93
|
-
- lib/erector/rails/template_handlers/1.2.5/action_view_template_handler.rb
|
94
|
-
- lib/erector/rails/template_handlers/2.0.0
|
95
|
-
- lib/erector/rails/template_handlers/2.0.0/action_view_template_handler.rb
|
96
|
-
- lib/erector/rails/template_handlers/2.1.0
|
97
|
-
- lib/erector/rails/template_handlers/2.1.0/action_view_template_handler.rb
|
98
|
-
- lib/erector/rails/template_handlers/2.2.0
|
99
|
-
- lib/erector/rails/template_handlers/2.2.0/action_view_template_handler.rb
|
40
|
+
- lib/erector/rails/extensions/rails_widget/helpers.rb
|
41
|
+
- lib/erector/rails/extensions/rails_widget.rb
|
42
|
+
- lib/erector/rails/rails_version.rb
|
100
43
|
- lib/erector/rails/template_handlers/action_view_template_handler.rb
|
101
44
|
- lib/erector/rails.rb
|
102
45
|
- lib/erector/raw_string.rb
|
@@ -105,14 +48,25 @@ files:
|
|
105
48
|
- lib/erector/unicode_builder.rb
|
106
49
|
- lib/erector/version.rb
|
107
50
|
- lib/erector/widget.rb
|
108
|
-
- lib/erector/widgets
|
109
51
|
- lib/erector/widgets/table.rb
|
110
52
|
- lib/erector/widgets.rb
|
111
53
|
- lib/erector.rb
|
112
54
|
- README.txt
|
113
|
-
-
|
55
|
+
- VERSION.yml
|
56
|
+
- bin/erector
|
57
|
+
- spec/core_spec_suite.rb
|
58
|
+
- spec/erector/indentation_spec.rb
|
59
|
+
- spec/erector/unicode_builder_spec.rb
|
60
|
+
- spec/erector/widget_spec.rb
|
61
|
+
- spec/erector/widgets/table_spec.rb
|
62
|
+
- spec/rails_spec_suite.rb
|
63
|
+
- spec/spec.opts
|
64
|
+
- spec/spec_helper.rb
|
65
|
+
- spec/spec_suite.rb
|
114
66
|
has_rdoc: true
|
115
67
|
homepage: http://erector.rubyforge.org
|
68
|
+
licenses: []
|
69
|
+
|
116
70
|
post_install_message:
|
117
71
|
rdoc_options:
|
118
72
|
- --main
|
@@ -134,9 +88,9 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
134
88
|
requirements: []
|
135
89
|
|
136
90
|
rubyforge_project: erector
|
137
|
-
rubygems_version: 1.3.
|
91
|
+
rubygems_version: 1.3.3
|
138
92
|
signing_key:
|
139
|
-
specification_version:
|
140
|
-
summary:
|
93
|
+
specification_version: 3
|
94
|
+
summary: Html Builder library.
|
141
95
|
test_files: []
|
142
96
|
|
@@ -1,17 +0,0 @@
|
|
1
|
-
ActionController::Base.class_eval do
|
2
|
-
def render_widget(widget_class, assigns=@assigns)
|
3
|
-
@__widget_class = widget_class
|
4
|
-
@__widget_assigns = assigns
|
5
|
-
add_variables_to_assigns
|
6
|
-
render :inline => "<% @__widget_class.new(self, @__widget_assigns, _erbout).render %>"
|
7
|
-
end
|
8
|
-
|
9
|
-
def render_with_erector_widget(*options, &block)
|
10
|
-
if options.first.is_a?(Hash) && widget = options.first.delete(:widget)
|
11
|
-
render_widget widget, @assigns, &block
|
12
|
-
else
|
13
|
-
render_without_erector_widget *options, &block
|
14
|
-
end
|
15
|
-
end
|
16
|
-
alias_method_chain :render, :erector_widget
|
17
|
-
end
|
@@ -1,26 +0,0 @@
|
|
1
|
-
ActionController::Base.class_eval do
|
2
|
-
def render_widget(widget_class, assigns=nil)
|
3
|
-
@__widget_class = widget_class
|
4
|
-
if assigns
|
5
|
-
@__widget_assigns = assigns
|
6
|
-
else
|
7
|
-
@__widget_assigns = {}
|
8
|
-
variables = instance_variable_names
|
9
|
-
variables -= protected_instance_variables
|
10
|
-
variables.each do |name|
|
11
|
-
@__widget_assigns[name.sub('@', "")] = instance_variable_get(name)
|
12
|
-
end
|
13
|
-
end
|
14
|
-
response.template.send(:_evaluate_assigns_and_ivars)
|
15
|
-
render :inline => "<% @__widget_class.new(self, @__widget_assigns, output_buffer).render %>"
|
16
|
-
end
|
17
|
-
|
18
|
-
def render_with_erector_widget(*options, &block)
|
19
|
-
if options.first.is_a?(Hash) && widget = options.first.delete(:widget)
|
20
|
-
render_widget widget, @assigns, &block
|
21
|
-
else
|
22
|
-
render_without_erector_widget *options, &block
|
23
|
-
end
|
24
|
-
end
|
25
|
-
alias_method_chain :render, :erector_widget
|
26
|
-
end
|
@@ -1,18 +0,0 @@
|
|
1
|
-
module Erector
|
2
|
-
Widget.class_eval do
|
3
|
-
attr_reader :_erbout
|
4
|
-
|
5
|
-
after_initialize do
|
6
|
-
@_erbout = output
|
7
|
-
end
|
8
|
-
|
9
|
-
def define_javascript_functions(*args)
|
10
|
-
begin
|
11
|
-
text raw(helpers.define_javascript_functions(*args))
|
12
|
-
rescue => e
|
13
|
-
puts e.backtrace.join("\n\t")
|
14
|
-
raise e
|
15
|
-
end
|
16
|
-
end
|
17
|
-
end
|
18
|
-
end
|
@@ -1,23 +0,0 @@
|
|
1
|
-
module Erector
|
2
|
-
Widget.class_eval do
|
3
|
-
def output
|
4
|
-
if helpers.respond_to?(:output_buffer)
|
5
|
-
helpers.output_buffer
|
6
|
-
else
|
7
|
-
@output
|
8
|
-
end
|
9
|
-
end
|
10
|
-
|
11
|
-
def capture_with_helpers(&block)
|
12
|
-
if helpers
|
13
|
-
helpers.capture(&block)
|
14
|
-
else
|
15
|
-
capture_without_helpers(&block)
|
16
|
-
end
|
17
|
-
end
|
18
|
-
alias_method_chain :capture, :helpers
|
19
|
-
|
20
|
-
# This is here to force #helpers.capture to return the output
|
21
|
-
def __in_erb_template; end
|
22
|
-
end
|
23
|
-
end
|
@@ -1,13 +0,0 @@
|
|
1
|
-
module Erector
|
2
|
-
module Rails
|
3
|
-
SUPPORTED_RAILS_VERSIONS = {
|
4
|
-
# "1.2.5" => {'version' => '1.2.5', 'git_tag' => 'v1.2.5'},
|
5
|
-
"1.99.0" => {'version' => '1.99.0', 'git_tag' => 'v2.0.0_RC1'},
|
6
|
-
"2.0.2" => {'version' => '2.0.2', 'git_tag' => 'v2.0.2'},
|
7
|
-
"2.1.0" => {'version' => '2.1.0', 'git_tag' => 'v2.1.0'},
|
8
|
-
"2.2.0" => {'version' => '2.2.0', 'git_tag' => 'v2.2.0'},
|
9
|
-
"2.2.2" => {'version' => '2.2.2', 'git_tag' => 'v2.2.2'},
|
10
|
-
# "edge" => {'version' => 'edge', 'git_tag' => 'master'}, #TODO: Readd edge support
|
11
|
-
}
|
12
|
-
end
|
13
|
-
end
|
@@ -1,32 +0,0 @@
|
|
1
|
-
module ActionView #:nodoc:
|
2
|
-
module TemplateHandlers #:nodoc:
|
3
|
-
class Erector
|
4
|
-
def self.line_offset
|
5
|
-
2
|
6
|
-
end
|
7
|
-
|
8
|
-
attr_reader :view
|
9
|
-
def initialize(view)
|
10
|
-
@view = view
|
11
|
-
end
|
12
|
-
|
13
|
-
def compilable?
|
14
|
-
true
|
15
|
-
end
|
16
|
-
|
17
|
-
ActionView::Base.register_template_handler :rb, ActionView::TemplateHandlers::Erector
|
18
|
-
|
19
|
-
def render(template, local_assigns)
|
20
|
-
relative_path_parts = view.first_render.split('/')
|
21
|
-
require_dependency view.template_file_path
|
22
|
-
|
23
|
-
dot_rb = /\.rb$/
|
24
|
-
widget_class = relative_path_parts.inject(Views) do |mod, node|
|
25
|
-
mod.const_get(node.gsub(dot_rb, '').gsub(".html", "").camelize)
|
26
|
-
end
|
27
|
-
render_method = view.is_partial_template? ? 'render_partial' : 'render'
|
28
|
-
widget_class.new(view, view.assigns).to_s(render_method)
|
29
|
-
end
|
30
|
-
end
|
31
|
-
end
|
32
|
-
end
|
@@ -1,36 +0,0 @@
|
|
1
|
-
module ActionView #:nodoc:
|
2
|
-
module TemplateHandlers #:nodoc:
|
3
|
-
class Erector < TemplateHandler
|
4
|
-
def self.line_offset
|
5
|
-
2
|
6
|
-
end
|
7
|
-
|
8
|
-
attr_reader :view
|
9
|
-
def initialize(view)
|
10
|
-
@view = view
|
11
|
-
end
|
12
|
-
|
13
|
-
def compilable?
|
14
|
-
true
|
15
|
-
end
|
16
|
-
undef :compile
|
17
|
-
|
18
|
-
ActionView::Base.register_template_handler :rb, ActionView::TemplateHandlers::Erector
|
19
|
-
|
20
|
-
def render(template, local_assigns)
|
21
|
-
relative_path_parts = view.first_render.split('/')
|
22
|
-
file_name = relative_path_parts.last
|
23
|
-
require_dependency(view.template_file_path)
|
24
|
-
|
25
|
-
dot_rb = /\.rb$/
|
26
|
-
widget_class = relative_path_parts.inject(Views) do |mod, node|
|
27
|
-
mod.const_get(node.gsub(dot_rb, '').gsub(".html", "").camelize)
|
28
|
-
end
|
29
|
-
render_method = view.is_partial_template? ? 'render_partial' : 'render'
|
30
|
-
widget = widget_class.new(view, view.assigns)
|
31
|
-
widget.to_s(render_method)
|
32
|
-
end
|
33
|
-
end
|
34
|
-
end
|
35
|
-
end
|
36
|
-
|
@@ -1,31 +0,0 @@
|
|
1
|
-
module ActionView #:nodoc:
|
2
|
-
module TemplateHandlers #:nodoc:
|
3
|
-
class Erector < TemplateHandler
|
4
|
-
include Compilable
|
5
|
-
def self.line_offset
|
6
|
-
2
|
7
|
-
end
|
8
|
-
|
9
|
-
ActionView::Template.instance_eval do
|
10
|
-
register_template_handler :rb, ActionView::TemplateHandlers::Erector
|
11
|
-
end
|
12
|
-
|
13
|
-
def compile(template)
|
14
|
-
relative_path_parts = template.path.split('/')
|
15
|
-
|
16
|
-
is_partial = relative_path_parts.last =~ /^_/
|
17
|
-
require_dependency File.expand_path(template.filename)
|
18
|
-
|
19
|
-
widget_class_parts = relative_path_parts.inject(['Views']) do |class_parts, node|
|
20
|
-
class_parts << node.gsub(/^_/, "").gsub(/(\.html)?\.rb$/, '').camelize
|
21
|
-
class_parts
|
22
|
-
end
|
23
|
-
widget_class_name = widget_class_parts.join("::")
|
24
|
-
render_method = is_partial ? 'render_partial' : 'render'
|
25
|
-
|
26
|
-
erb_template = "<% #{widget_class_name}.new(self, controller.assigns, _erbout).#{render_method} %>"
|
27
|
-
::ERB.new(erb_template, nil, ActionView::Base.erb_trim_mode).src
|
28
|
-
end
|
29
|
-
end
|
30
|
-
end
|
31
|
-
end
|
@@ -1,46 +0,0 @@
|
|
1
|
-
module ActionView #:nodoc:
|
2
|
-
module TemplateHandlers #:nodoc:
|
3
|
-
class Erector < TemplateHandler
|
4
|
-
include Compilable
|
5
|
-
def self.line_offset
|
6
|
-
2
|
7
|
-
end
|
8
|
-
|
9
|
-
ActionView::Template.instance_eval do
|
10
|
-
register_template_handler :rb, ActionView::TemplateHandlers::Erector
|
11
|
-
end
|
12
|
-
|
13
|
-
def compile(template)
|
14
|
-
relative_path_parts = template.path.split('/')
|
15
|
-
|
16
|
-
is_partial = relative_path_parts.last =~ /^_/
|
17
|
-
require_dependency File.expand_path(template.filename)
|
18
|
-
|
19
|
-
widget_class_parts = relative_path_parts.inject(['Views']) do |class_parts, node|
|
20
|
-
class_parts << node.gsub(/^_/, "").gsub(/(\.html)?\.rb$/, '').camelize
|
21
|
-
class_parts
|
22
|
-
end
|
23
|
-
widget_class_name = widget_class_parts.join("::")
|
24
|
-
render_method = is_partial ? 'render_partial' : 'render'
|
25
|
-
|
26
|
-
erb_template = <<-ERB
|
27
|
-
<%
|
28
|
-
assigns = instance_variables.inject({}) do |hash, name|
|
29
|
-
hash[name.sub('@', "")] = instance_variable_get(name)
|
30
|
-
hash
|
31
|
-
end
|
32
|
-
|
33
|
-
widget = #{widget_class_name}.new(self, assigns, output_buffer)
|
34
|
-
widget.#{render_method}
|
35
|
-
%>
|
36
|
-
ERB
|
37
|
-
::ERB.new(
|
38
|
-
erb_template,
|
39
|
-
nil,
|
40
|
-
::ActionView::TemplateHandlers::ERB.erb_trim_mode,
|
41
|
-
"@output_buffer"
|
42
|
-
).src
|
43
|
-
end
|
44
|
-
end
|
45
|
-
end
|
46
|
-
end
|