<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DZone Snippets: format code</title>
    <link>http://snippets.dzone.com/posts</link>
    <pubDate>Mon, 08 Sep 2008 05:58:39 GMT</pubDate>
    <description>DZone Snippets: format code</description>
    <item>
      <title>Number to Currency with Cents</title>
      <link>http://snippets.dzone.com/posts/show/2581</link>
      <description>A slight alteration to the default Rails currency formatting helper to show numbers in cents if the number is less than $1.00.  For example $0.99 would instead become 99&amp;cent;.&lt;br /&gt;&lt;br /&gt;&lt;code&gt;&lt;br /&gt;def number_to_currency_with_cents(number, options = {})&lt;br /&gt;    options = options.stringify_keys&lt;br /&gt;    precision = options.delete('precision') { 2 }&lt;br /&gt;    unit = options.delete('unit') { '$' }&lt;br /&gt;    fractional_unit = options.delete('fractional_unit') { '&amp;cent;' }&lt;br /&gt;    separator = options.delete('separator') { '.' }&lt;br /&gt;    delimiter = options.delete('delimiter') { ',' }&lt;br /&gt;    separator = '' unless precision &gt; 0&lt;br /&gt;    begin&lt;br /&gt;        fraction = number.abs % 1.0&lt;br /&gt;        body = number.floor&lt;br /&gt;        if body != 0 || body == 0 &amp;&amp; fraction == 0 then&lt;br /&gt;            parts = number_with_precision(number, precision).split('.')&lt;br /&gt;            unit + number_with_delimiter(parts[0], delimiter) + separator + parts[1].to_s&lt;br /&gt;        else&lt;br /&gt;            (fraction * 100).to_i.to_s + fractional_unit&lt;br /&gt;        end&lt;br /&gt;    rescue&lt;br /&gt;        number&lt;br /&gt;    end&lt;br /&gt;end&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;I'm really tempted to go through and replace that whole thing with my own code, but it works, so I'm happy.</description>
      <pubDate>Mon, 11 Sep 2006 05:58:03 GMT</pubDate>
      <guid>http://snippets.dzone.com/posts/show/2581</guid>
      <author>sporkyy (Todd Sayre)</author>
    </item>
    <item>
      <title>Gmail Date Format Helper</title>
      <link>http://snippets.dzone.com/posts/show/2580</link>
      <description>I needed a short and intuitive way of showing dates, so rather than just making something up I decided to steal Google's short date format from Gmail.  I'm sure they did usability studies and whatnot.&lt;br /&gt;&lt;br /&gt;&lt;code&gt;ActiveSupport::CoreExtensions::Time::Conversions::DATE_FORMATS.merge!(&lt;br /&gt;  :gmail =&gt; lambda { |date|&lt;br /&gt;    Time.now.beginning_of_day &lt;= date ?&lt;br /&gt;    "#{date.strftime('%I').to_i}:#{date.strftime('%M')} #{date.strftime('%p').downcase}" :&lt;br /&gt;    Time.now.beginning_of_year &lt;= date ?&lt;br /&gt;    "#{date.strftime('%b')} #{date.day}" :&lt;br /&gt;    "#{date.month}/#{date.day}/#{date.strftime('%y')}"&lt;br /&gt;  }&lt;br /&gt;)&lt;br /&gt;&lt;br /&gt;ActiveSupport::CoreExtensions::Date::Conversions::DATE_FORMATS.merge!(&lt;br /&gt;  :gmail =&gt; lambda { |date|&lt;br /&gt;    Time.now.beginning_of_day &lt;= date ?&lt;br /&gt;    "#{date.strftime('%I').to_i}:#{date.strftime('%M')} #{date.strftime('%p').downcase}" :&lt;br /&gt;    Time.now.beginning_of_year &lt;= date ?&lt;br /&gt;    "#{date.strftime('%b')} #{date.day}" :&lt;br /&gt;    "#{date.month}/#{date.day}/#{date.strftime('%y')}"&lt;br /&gt;  }&lt;br /&gt;)&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;Put this code in your "environmen.rb" file in your "RAILS_ROOT/config" directory or make a new Ruby script file containing it in your "RAILS_ROOT/config/initializers" directory.</description>
      <pubDate>Mon, 11 Sep 2006 05:47:42 GMT</pubDate>
      <guid>http://snippets.dzone.com/posts/show/2580</guid>
      <author>sporkyy (Todd Sayre)</author>
    </item>
  </channel>
</rss>
