Module: View

Defined in:
lib/view.rb,
lib/view/helper.rb,
lib/view/railtie.rb,
lib/view/version.rb,
lib/view/formatter.rb,
lib/view/configuration.rb,
lib/view/formatters/self.rb,
lib/view/formatters/auto.rb,
lib/view/formatters/link.rb,
lib/view/formatters/date.rb,
lib/view/formatters/size.rb,
lib/view/formatters/array.rb,
lib/view/formatters/table.rb,
lib/view/formatters/guess.rb,
lib/view/formatters/phone.rb,
lib/view/formatters/image.rb,
lib/view/formatters/human.rb,
lib/view/formatters/blank.rb,
lib/view/formatters/boolean.rb,
lib/view/formatters/sentence.rb,
lib/view/formatters/currency.rb,
lib/view/formatters/datetime.rb,
lib/view/formatters/file_link.rb,
lib/view/formatters/precision.rb,
lib/view/formatters/html_safe.rb,
lib/view/formatters/delimited.rb,
lib/view/formatters/percentage.rb,
lib/view/formatters/definition_list.rb

Defined Under Namespace

Modules: Helper Classes: Array, Auto, Blank, Boolean, Configuration, Currency, Date, Datetime, DefinitionList, Delimited, FileLink, Formatter, Guess, HtmlSafe, Human, Image, Link, Percentage, Phone, Precision, Railtie, Self, Sentence, Size, Table

Constant Summary

VERSION =
'1.0.0.alpha.5'

Class Method Summary (collapse)

Class Method Details

+ (Configuration) configuration

Access to the configuration object

Returns:



44
45
46
# File 'lib/view.rb', line 44

def self.configuration
  @configuration ||= Configuration.new
end

+ (Object) configure {|config| ... }

Configures this gem

Examples:

config/initializers/view.rb


View.configure do |config|
  config.default_formatter = :self
end

Yields:

  • (config)

    The configuration instance



57
58
59
# File 'lib/view.rb', line 57

def self.configure
  yield configuration
end

+ (String) format(value, options = {}, template = nil) {|formatter| ... }

This is the main method to use this gem. Any formatting from outside this gem should be done through this method (notwithstanding custom formatters).

In every day usage you will access it through the view helper method, because most formatters require a view to render links or images.

Examples:

Rendering a link

module PostsHelper
  def link_to_post
    View.format @post, { :as => :link }, self
  end
end

Parameters:

  • value (Object)

    the object to be shown

  • options (Hash) (defaults to: {})

    Any extra options

  • Template (ActionView::Template)

    the view instance on which to call helper methods like link_to and image_tag. You need this for many formatters.

Options Hash (options):

  • :as (Symbol) — default: :auto

    The name of the formatter

  • :block_arguments (::Array) — default: []

    Adds arguments passed to the block of this method.

Yields:

  • (formatter)

    The block will be captured (using the template if possible) so you can use the formatter in more interesting ways.

Returns:

  • (String)

    the object formatted to a string

See Also:



38
39
40
# File 'lib/view.rb', line 38

def self.format(value, options = {}, template = nil, &block)
  Formatter.format(value, options, template, &block)
end

+ (Object) formatters

Contains a list of registered formatters



62
63
64
# File 'lib/view.rb', line 62

def self.formatters
  @formatters ||= []
end