I am making a view helper to render set of data in a format. I made these classes
require 'app/data_list/helper'
module App
  module DataList
    autoload :Builder, 'app/data_list/builder'
     @@data_list_tag = :ol
     @@list_tag      = :ul
    end
end
ActionView::Base.send :include, App::DataList::Helper
helper is
module App
  module DataList
    module Helper
      def data_list_for(object, html_options={}, &block)
        builder     = App::DataList::Builder
        arr_content = []
        object.each do |o|
          arr_content << capture(builder.new(o, self), &block)
        end
        content_tag(:ol, arr_content.join(" ").html_safe, html_options).html_safe
      end
    end
  end
end
builder is
require 'app/data_list/column'
module App
  module DataList
    class Builder
      include App::DataList::Column
      include ActionView::Helpers::TagHelper
      include ActionView::Helpers::AssetTagHelper
      attr_reader :object, :template
      def initialize(object, template)
        @object, @template = object, template
      end
      protected
      def wrap_list_item(name, value, options, &block)
        content_tag(:li, value).html_safe
      end
    end
  end
end
column module is
module App
  module DataList
    module Column
      def column(attribute_name, options={}, &block)
        collection_block, block = block, nil if block_given?
        puts attribute_name
        value = if block
                  block
                elsif @object.respond_to?(:"human_#{attribute_name}")
                  @object.send :"human_#{attribute_name}"
                else
                  @object.send(attribute_name)
                end
        wrap_list_item(attribute_name, value, options, &collection_block)
      end
    end
  end
end
Now i write code to test it
 <%= data_list_for @contracts do |l| %>
        <%= l.column :age %>
        <%= l.column :contact do |c| %>
            <%= c.column :phones %>
        <% end %>
        <%= l.column :company %>
    <% end %>
Every thing is working fine , age , contact , company is working fine. But phones for the contact is not showing.
Does any one have an idea, i know i have missed something in the code. Looking for your help.
Updated question with complete source is enter link description here