class Datagrid::Helper::HtmlRow

Represents a datagrid row that provides access to column values for the given asset @example

row = datagrid_row(grid, user)
row.class      # => Datagrid::Helper::HtmlRow
row.first_name # => "<strong>Bogdan</strong>"
row.grid       # => Grid object
row.asset      # => User object
row.each do |value|
  puts value
end

Attributes

asset[R]
grid[R]
options[R]

Public Class Methods

new(renderer, grid, asset, options) click to toggle source

@!visibility private

# File lib/datagrid/renderer.rb, line 119
def initialize(renderer, grid, asset, options)
  @renderer = renderer
  @grid = grid
  @asset = asset
  @options = options
end

Public Instance Methods

each(&block) click to toggle source

Iterates over all column values that are available in the row param block [Proc] column value iterator

# File lib/datagrid/renderer.rb, line 133
def each(&block)
  (@options[:columns] || @grid.html_columns).each do |column|
    block.call(get(column))
  end
end
get(column) click to toggle source

@return [Object] a column value for given column name

# File lib/datagrid/renderer.rb, line 127
def get(column)
  @renderer.format_value(@grid, column, @asset)
end
to_s() click to toggle source
# File lib/datagrid/renderer.rb, line 139
def to_s
  @renderer.send(:_render_partial, 'row', options[:partials], {
    :grid => grid,
    :options => options,
    :asset => asset
  })
end

Protected Instance Methods

method_missing(method, *args, &blk) click to toggle source
Calls superclass method
# File lib/datagrid/renderer.rb, line 148
def method_missing(method, *args, &blk)
  if column = @grid.column_by_name(method)
    get(column)
  else
    super
  end
end