def titleize(&block)
      title_parts = []
      order = 0
      parts.each do |part|

        if block_given?
          response = yield(part.first,order)
          if response != false
            if response == nil
              title_parts << part.first
            else
              title_parts << response
            end
          end
        else
          title_parts << part.first
        end
        order += 1
      end
      title_parts.join(title_separator)
    end
def titleize(&block)
      title_parts = []
      order = 0
      parts.each do |part|

        if block_given?
          response = yield(part.first,order)
          if response != false
            if response == nil
              title_parts << part.first
            else
              title_parts << response
            end
          end
        else
          title_parts << part.first
        end
        order += 1
      end
      title_parts.join(title_separator)
    end
Given
   add 'Home','/'
   add 'News','/news'
   add 'The Last News','news/the-last-news'

   titleize 'Home :: News :: The Last News'

 with block given
 when block returns not nil, not false, uses return as title part

   titleize {|part| Example.com if part == 'Home'}  'Example.com :: News :: The Last News'

 when returns nil, uses default title part
 when returns false, skips part
   titleize {|part, order| false if order == 0 }  'News :: The Last News'