Changeset 1294
- Timestamp:
- 04/01/08 16:04:17 (8 months ago)
- Files:
-
- ruport/trunk/lib/ruport/controller.rb (modified) (2 diffs)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
ruport/trunk/lib/ruport/controller.rb
r1292 r1294 190 190 class << self 191 191 192 # Returns a hash that maps format names to their formatter classes, for use 193 # with the formatter shortcut. Supported formats are :html, :csv, :pdf, and 194 # :text by default. 195 # 196 # 197 # Sample override: 198 # 199 # class MyController < Ruport::Controller 200 # 201 # def built_in_formats 202 # super.extend(:xml => MyXMLFormatter, 203 # :json => MyJSONFormatter) 204 # end 205 # end 206 # 207 # This would allow for: 208 # 209 # class ChildController < MyController 210 # 211 # formatter :xml do 212 # # ... 213 # end 214 # 215 # formatter :json do 216 # # ... 217 # end 218 # end 219 # 192 220 def built_in_formats 193 221 { :html => Ruport::Formatter::HTML, … … 197 225 end 198 226 227 228 # Generates an anonymous formatter class and ties it to the Controller. 229 # This method looks up the built in formats in the hash returned by 230 # built_in_formats, but also explicitly specify a custom Formatter class to 231 # subclass from. 232 # 233 # Sample usage: 234 # 235 # class ControllerWithAnonymousFormatters < Ruport::Controller 236 # 237 # stage :report 238 # 239 # formatter :html do 240 # build :report do 241 # output << textile("h1. Hi there") 242 # end 243 # end 244 # 245 # formatter :csv do 246 # build :report do 247 # build_row([1,2,3]) 248 # end 249 # end 250 # 251 # formatter :pdf do 252 # build :report do 253 # add_text "hello world" 254 # end 255 # end 256 # 257 # formatter :text do 258 # build :report do 259 # output << "Hello world" 260 # end 261 # end 262 # 263 # formatter :custom => CustomFormatter do 264 # 265 # build :report do 266 # output << "This is " 267 # custom_helper 268 # end 269 # 270 # end 271 # 272 # end 273 # 199 274 def formatter(*a,&b) 200 275 case a[0]
