Class: Hirb::Formatter

### Home Classes Methods

### In Files

- lib/hirb/formatter.rb

### Parent

Object

### Methods

- #add_view
- #config
- #format_output

### Files

- LICENSE.txt
- README.rdoc

### Class/Module Index

Quicksearch

- Hirb
- Hirb::Console
- Hirb::DynamicView
- Hirb::Formatter
- Hirb::Helpers
- Hirb::Helpers::AutoTable
- Hirb::Helpers::ObjectTable
- Hirb::Helpers::ParentChildTree
- Hirb::Helpers::Table
- Hirb::Helpers::Table::Filters
- Hirb::Helpers::Table::Resizer
- Hirb::Helpers::Table::TooManyFieldsForWidthError
- Hirb::Helpers::Tree
- Hirb::Helpers::Tree::Node
- Hirb::Helpers::Tree::Node::MissingLevelError
- Hirb::Helpers::Tree::Node::MissingValueError
- Hirb::Helpers::Tree::ParentlessNodeError
- Hirb::Helpers::VerticalTable
- Hirb::Menu
- Hirb::Menu::Error
- Hirb::ObjectMethods
- Hirb::Pager
- Hirb::String
- Hirb::Util
- Hirb::View
- Hirb::Views

No matching classes.

# Hirb::Formatter

A Formatter object formats an output object (using Formatter.format_output) into a string based on the views defined for its class and/or ancestry.

### Attributes

dynamic_config[RW]

This config is used by Formatter.format_output to lazily load dynamic views defined with Hirb::DynamicView. This hash has the same format as Formatter.config.

### Public Instance Methods

add_view(klass, view_config) click to toggle source

Adds the view for the given class and view hash config. See Formatter.config for valid keys for view hash.

    # File lib/hirb/formatter.rb, line 37
    def add_view(klass, view_config)
      @klass_config.delete(klass)
      @config[klass.to_s] = view_config
      true
    end

config() click to toggle source

A hash of Ruby class strings mapped to view hashes. A view hash must have at least a :method, :output_method or :class option for a view to be applied to an output. A view hash has the following keys:

:method

  Specifies a global (Kernel) method to do the formatting.

:class

  Specifies a class to do the formatting, using its render() class method. If a symbol it’s converted to a corresponding Hirb::Helpers::* class if it exists.

:output_method

  Specifies a method or proc to call on output before passing it to a helper. If the output is an array, it’s applied to every element in the array.

:options

  Options to pass the helper method or class.

:ancestor

  Boolean which when true causes subclasses of the output class to inherit its config. This doesn’t effect the current output class. Defaults to false. This is used by ActiveRecord classes.

    Examples:
      {'WWW::Delicious::Element'=>{:class=>'Hirb::Helpers::ObjectTable', :ancestor=>true, :options=>{:max_width=>180}}}
      {'Date'=>{:class=>:auto_table, :ancestor=>true}}
      {'Hash'=>{:method=>:puts}}

    # File lib/hirb/formatter.rb, line 32
    def config
      @config
    end

format_output(output, options={}, &block) click to toggle source

This method looks for an output object’s view in Formatter.config and then Formatter.dynamic_config. If a view is found, a stringified view is returned based on the object. If no view is found, nil is returned. The options this class takes are a view hash as described in Formatter.config. These options will be merged with any existing helper config hash an output class has in Formatter.config. Any block given is passed along to a helper class.

    # File lib/hirb/formatter.rb, line 47
    def format_output(output, options={}, &block)
      output_class = determine_output_class(output)
      options = parse_console_options(options) if options.delete(:console)
      options = Util.recursive_hash_merge(klass_config(output_class), options)
      _format_output(output, options, &block)
    end

[Validate]

Generated with the Darkfish Rdoc Generator 2.