Class: RailsViewComponentBuilder
- Inherits:
-
Object
- Object
- RailsViewComponentBuilder
- Defined in:
- lib/generators/rails_view_component/templates/rails_view_component_builder.rb
Instance Method Summary collapse
- #all_javascripts ⇒ Object
- #all_stylesheets ⇒ Object
- #destribute(name, erb_params = {}, ajax_params = {}) ⇒ Object
-
#initialize ⇒ RailsViewComponentBuilder
constructor
A new instance of RailsViewComponentBuilder.
- #refer_to_javascripts ⇒ Object
- #refer_to_stylesheets ⇒ Object
Constructor Details
#initialize ⇒ RailsViewComponentBuilder
2 3 4 5 |
# File 'lib/generators/rails_view_component/templates/rails_view_component_builder.rb', line 2 def initialize @count = 0 @components = [] end |
Instance Method Details
#all_javascripts ⇒ Object
16 17 18 |
# File 'lib/generators/rails_view_component/templates/rails_view_component_builder.rb', line 16 def all_javascripts @components.inject([]){|acc,c|acc + c.javascripts}.uniq end |
#all_stylesheets ⇒ Object
19 20 21 |
# File 'lib/generators/rails_view_component/templates/rails_view_component_builder.rb', line 19 def all_stylesheets @components.inject([]){|acc,c|acc + c.stylesheets}.uniq end |
#destribute(name, erb_params = {}, ajax_params = {}) ⇒ Object
6 7 8 9 10 11 12 13 14 |
# File 'lib/generators/rails_view_component/templates/rails_view_component_builder.rb', line 6 def destribute name, erb_params={}, ajax_params = {} namespace = name.to_s.camelize name = namespace.split("::").last @count += 1 klass = Module.const_get("#{namespace}::#{name}Model") obj = klass.new @count @components.push obj obj.html(erb_params, ajax_params).html_safe end |
#refer_to_javascripts ⇒ Object
23 24 25 26 |
# File 'lib/generators/rails_view_component/templates/rails_view_component_builder.rb', line 23 def refer_to_javascripts all_javascripts.map{|js| "<script type='text/javascript' src='#{js}'></script>" }.join end |
#refer_to_stylesheets ⇒ Object
27 28 29 30 |
# File 'lib/generators/rails_view_component/templates/rails_view_component_builder.rb', line 27 def refer_to_stylesheets all_stylesheets.map{|css| "<link rel='stylesheet' type='text/css' href='#{css}'>" }.join end |