D7net
Home
Console
Upload
information
Create File
Create Folder
About
Tools
:
/
opt
/
alt
/
ruby18
/
share
/
ri
/
1.8
/
system
/
ERB
/
Filename :
new-c.yaml
back
Copy
--- !ruby/object:RI::MethodDescription aliases: [] block_params: comment: - !ruby/struct:SM::Flow::P body: Constructs a new ERB object with the template specified in <em>str</em>. - !ruby/struct:SM::Flow::P body: An ERB object works by building a chunk of Ruby code that will output the completed template when run. If <em>safe_level</em> is set to a non-nil value, ERB code will be run in a separate thread with <b>$SAFE</b> set to the provided level. - !ruby/struct:SM::Flow::P body: "If <em>trim_mode</em> is passed a String containing one or more of the following modifiers, ERB will adjust its code generation as listed:" - !ruby/struct:SM::Flow::VERB body: " % enables Ruby code processing for lines beginning with %\n <> omit newline for lines starting with <% and ending in %>\n > omit newline for lines ending in %>\n" - !ruby/struct:SM::Flow::P body: <em>eoutvar</em> can be used to set the name of the variable ERB will build up its output in. This is useful when you need to run multiple ERB templates through the same binding and/or when you want to control where output ends up. Pass the name of the variable to be used inside a String. - !ruby/struct:SM::Flow::H level: 3 text: Example - !ruby/struct:SM::Flow::VERB body: " require "erb"\n\n # build data class\n class Listings\n PRODUCT = { :name => "Chicken Fried Steak",\n :desc => "A well messages pattie, breaded and fried.",\n :cost => 9.95 }\n\n attr_reader :product, :price\n\n def initialize( product = "", price = "" )\n @product = product\n @price = price\n end\n\n def build\n b = binding\n # create and run templates, filling member data variables\n ERB.new(<<-'END_PRODUCT'.gsub(/^\\s+/, ""), 0, "", "@product").result b\n <%= PRODUCT[:name] %>\n <%= PRODUCT[:desc] %>\n END_PRODUCT\n ERB.new(<<-'END_PRICE'.gsub(/^\\s+/, ""), 0, "", "@price").result b\n <%= PRODUCT[:name] %> -- <%= PRODUCT[:cost] %>\n <%= PRODUCT[:desc] %>\n END_PRICE\n end\n end\n\n # setup template data\n listings = Listings.new\n listings.build\n\n puts listings.product + "\\n" + listings.price\n" - !ruby/struct:SM::Flow::P body: <em>Generates</em> - !ruby/struct:SM::Flow::VERB body: " Chicken Fried Steak\n A well messages pattie, breaded and fried.\n\n Chicken Fried Steak -- 9.95\n A well messages pattie, breaded and fried.\n" full_name: ERB::new is_singleton: true name: new params: (str, safe_level=nil, trim_mode=nil, eoutvar='_erbout') visibility: public