Sha256: 1baf109ec309975092bcdd2b111e2fb619d28f2fd407128800d597d0fa017700
Contents?: true
Size: 846 Bytes
Versions: 4
Compression:
Stored size: 846 Bytes
Contents
class RailsViewComponentBuilder def initialize @count = 0 @components = [] end 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 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
4 entries across 4 versions & 1 rubygems