Sha256: 6d1efc87652d6699a916d2e29bb14e4e1a7d8d0521d5e9c945e633f0061996fe

Contents?: true

Size: 816 Bytes

Versions: 7

Compression:

Stored size: 816 Bytes

Contents

class RailsViewComponent::RailsViewComponentBuilder
  def initialize
    @count = 0
    @components = []
  end
  def destribute name, erb_params={}, ajax_params = {}
    @count += 1
    klass = Module.const_get("#{name.to_s.camelize}::#{name.to_s.camelize}Model")
    obj = klass.new @count
    @components.push obj
    obj.html(erb_params, ajax_params).html_safe
  end

  def all_javascripts
    @components.inject([]){|acc,c|acc + c.javascripts}.uniq
  end
  def all_stylesheets
    @components.inject([]){|acc,c|acc + c.stylesheets}.uniq
  end

  def refer_to_javascripts
    all_javascripts.map{|js|
      "<script type='text/javascript' src='#{js}'></script>" }.join
  end
  def refer_to_stylesheets
    all_stylesheets.map{|css|
      "<link rel='stylesheet' type='text/css' href='#{css}'>" }.join
  end


end

Version data entries

7 entries across 5 versions & 1 rubygems

Version Path
rails_view_component-0.0.5 lib/generators/rails_view_component/templates/rails_view_component_builder.rb
rails_view_component-0.0.5 lib/rails_view_component/rails_view_component_builder.rb
rails_view_component-0.0.4 lib/generators/rails_view_component/templates/rails_view_component_builder.rb
rails_view_component-0.0.4 lib/rails_view_component/rails_view_component_builder.rb
rails_view_component-0.0.3 lib/rails_view_component/rails_view_component_builder.rb
rails_view_component-0.0.2 lib/rails_view_component/rails_view_component_builder.rb
rails_view_component-0.0.1 lib/rails_view_component/rails_view_component_builder.rb