Ruby on Rails | Screencasts | Download | Documentation | Weblog | Community | Source

Changeset 1438

Show
Ignore:
Timestamp:
06/16/05 06:33:10 (3 years ago)
Author:
david
Message:

Added :extension option to NumberHelper#number_to_phone #1361 [delynnb]

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • trunk/actionpack/CHANGELOG

    r1437 r1438  
    11*SVN* 
     2 
     3* Added :extension option to NumberHelper#number_to_phone #1361 [delynnb] 
    24 
    35* Added button_to as a form-based solution to deal with harmful actions that should be hidden behind POSTs. This makes it just as easy as link_to to create a safe trigger for actions like destroy, although it's limited by being a block element, the fixed look, and a no-no inside other forms. #1371 [tom@moertel.com] 
  • trunk/actionpack/lib/action_view/helpers/number_helper.rb

    r1254 r1438  
    99      # The delimiter can be set using +:delimiter+; default is "-" 
    1010      # Examples: 
    11       #   number_to_phone(1235551234)                       => 123-555-1234 
    12       #   number_to_phone(1235551234, {:area_code => true}) => (123) 555-1234 
    13       #   number_to_phone(1235551234, {:delimiter => " "})   => 123 555 1234 
     11      #   number_to_phone(1235551234)   => 123-555-1234 
     12      #   number_to_phone(1235551234, {:area_code => true})   => (123) 555-1234 
     13      #   number_to_phone(1235551234, {:delimiter => " "})    => 123 555 1234 
     14      #   number_to_phone(1235551234, {:area_code => true, :extension => 555})  => (123) 555-1234 x 555 
    1415      def number_to_phone(number, options = {}) 
    15         options = options.stringify_keys 
     16        options   = options.stringify_keys 
    1617        area_code = options.delete("area_code") { false } 
    1718        delimiter = options.delete("delimiter") { "-" } 
     19        extension = options.delete("extension") { "" } 
    1820        begin 
    19           str = number.to_s 
    20           if area_code == true 
    21             str.gsub!(/([0-9]{3})([0-9]{3})([0-9]{4})/,"(\\1) \\2#{delimiter}\\3") 
    22           else 
    23             str.gsub!(/([0-9]{3})([0-9]{3})([0-9]{4})/,"\\1#{delimiter}\\2#{delimiter}\\3") 
    24           end 
     21          str = area_code == true ? number.to_s.gsub(/([0-9]{3})([0-9]{3})([0-9]{4})/,"(\\1) \\2#{delimiter}\\3") : number.to_s.gsub(/([0-9]{3})([0-9]{3})([0-9]{4})/,"\\1#{delimiter}\\2#{delimiter}\\3") 
     22          extension.to_s.strip.empty? ? str : "#{str} x #{extension.to_s.strip}" 
    2523        rescue 
    2624          number 
  • trunk/actionpack/test/template/number_helper_test.rb

    r1151 r1438  
    1212    assert_equal("(123) 555-1234", number_to_phone(1235551234, {:area_code => true})) 
    1313    assert_equal("123 555 1234", number_to_phone(1235551234, {:delimiter => " "})) 
     14    assert_equal("(123) 555-1234 x 555", number_to_phone(1235551234, {:area_code => true, :extension => 555})) 
     15    assert_equal("123-555-1234", number_to_phone(1235551234, :extension => "   ")) 
    1416  end 
    1517