icu 0.9.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/README +21 -0
- data/ext/extconf.rb +31 -0
- data/ext/icu.c +111 -0
- data/ext/icu.h +17 -0
- data/ext/icu_locale.c +313 -0
- data/ext/icu_locale_country.c +82 -0
- data/ext/icu_locale_language.c +82 -0
- data/ext/icu_numeric.c +175 -0
- data/ext/icu_time.c +374 -0
- data/lib/icu.rb +1 -0
- data/test/test_locale.rb +73 -0
- data/test/test_numeric.rb +78 -0
- data/test/test_time.rb +75 -0
- metadata +67 -0
    
        data/lib/icu.rb
    ADDED
    
    | @@ -0,0 +1 @@ | |
| 1 | 
            +
            require File.expand_path(File.join(File.dirname(__FILE__), '..', 'lib', 'icu.so'))
         | 
    
        data/test/test_locale.rb
    ADDED
    
    | @@ -0,0 +1,73 @@ | |
| 1 | 
            +
            require 'test/unit'
         | 
| 2 | 
            +
            require File.expand_path(File.join(File.dirname(__FILE__), '..', 'lib', 'icu'))
         | 
| 3 | 
            +
             | 
| 4 | 
            +
            class TestLocale < Test::Unit::TestCase
         | 
| 5 | 
            +
              def setup
         | 
| 6 | 
            +
                ICU::Locale.default = 'en_US'
         | 
| 7 | 
            +
              end
         | 
| 8 | 
            +
              
         | 
| 9 | 
            +
              def test_default
         | 
| 10 | 
            +
              	ICU::Locale.default = 'es_ES'
         | 
| 11 | 
            +
              	assert_equal('es_ES', ICU::Locale.default.locale_id)
         | 
| 12 | 
            +
              	ICU::Locale.default = ICU::Locale.get('en_US')
         | 
| 13 | 
            +
              	assert_equal('en_US', ICU::Locale.default.locale_id)
         | 
| 14 | 
            +
              	assert_raise(ArgumentError) { ICU::Locale.default = 'worg locale' }
         | 
| 15 | 
            +
              end
         | 
| 16 | 
            +
              
         | 
| 17 | 
            +
              def test_get
         | 
| 18 | 
            +
              	assert_equal(ICU::Locale.get('es_ES').object_id, ICU::Locale.get('es_ES').object_id)
         | 
| 19 | 
            +
              	assert_equal(ICU::Locale.get('en_US').object_id, ICU::Locale.get('en_US').object_id)
         | 
| 20 | 
            +
              	assert_raise(ArgumentError) { ICU::Locale.get('worg locale') }
         | 
| 21 | 
            +
              end
         | 
| 22 | 
            +
              
         | 
| 23 | 
            +
              def test_parent
         | 
| 24 | 
            +
              	locale = ICU::Locale.get('es_ES').parent
         | 
| 25 | 
            +
              	assert_equal('es', locale.locale_id)
         | 
| 26 | 
            +
              	locale = locale.parent
         | 
| 27 | 
            +
              	assert_equal(nil, locale)
         | 
| 28 | 
            +
              	
         | 
| 29 | 
            +
              	assert_equal(nil, ICU::Locale.get('es_ES').parent.parent)
         | 
| 30 | 
            +
              end
         | 
| 31 | 
            +
              
         | 
| 32 | 
            +
              def test_country
         | 
| 33 | 
            +
              	country = ICU::Locale.get('es_ES').country
         | 
| 34 | 
            +
              	assert_equal(ICU::Locale::Country.get('ES').object_id, country.object_id)
         | 
| 35 | 
            +
              	assert_equal('ES', country.code)
         | 
| 36 | 
            +
              	assert_equal('Spain', country.name)
         | 
| 37 | 
            +
              	assert_equal('España', country.name('es_ES'))
         | 
| 38 | 
            +
              	assert_equal('España', country.name(ICU::Locale.get('es_ES')))
         | 
| 39 | 
            +
              	assert_nil(ICU::Locale.get('es').country)
         | 
| 40 | 
            +
              	assert_raise(ArgumentError) { ICU::Locale::Country.get('worg country') }
         | 
| 41 | 
            +
              end
         | 
| 42 | 
            +
              
         | 
| 43 | 
            +
              def test_language
         | 
| 44 | 
            +
              	language = ICU::Locale.get('es_ES').language
         | 
| 45 | 
            +
              	assert_equal(ICU::Locale::Language.get('es').object_id, language.object_id)
         | 
| 46 | 
            +
              	assert_equal('es', language.code)
         | 
| 47 | 
            +
              	assert_equal('Spanish', language.name)
         | 
| 48 | 
            +
              	assert_equal('español', language.name('es_ES'))
         | 
| 49 | 
            +
              	assert_equal('español', language.name(ICU::Locale.get('es_ES')))
         | 
| 50 | 
            +
              	assert_nil(ICU::Locale.get('_ES').language)
         | 
| 51 | 
            +
              	assert_raise(ArgumentError) { ICU::Locale::Language.get('worg language') }
         | 
| 52 | 
            +
              end
         | 
| 53 | 
            +
              
         | 
| 54 | 
            +
              def test_available  
         | 
| 55 | 
            +
              	assert_equal(["Afrikaans", "af"], ICU::Locale.available[0])
         | 
| 56 | 
            +
              	assert_equal(["afrikaans (Afrique du Sud)", "af_ZA"], ICU::Locale.available(:locale => 'fr_FR')[1])
         | 
| 57 | 
            +
              	assert_equal(["albanski (Albanija)", "sq_AL"], ICU::Locale.available(:locale => ICU::Locale.get('hr_HR'))[3])
         | 
| 58 | 
            +
              	
         | 
| 59 | 
            +
              	assert_equal([["English (United States)", "en_US"], ["Spanish (Spain)", "es_ES"]], ICU::Locale.available(:allowed => ['es_ES', 'en_US']))
         | 
| 60 | 
            +
              	assert_equal(["English", "en"], ICU::Locale.available(:languages => ['es', 'en'])[0])
         | 
| 61 | 
            +
              	assert_equal(["Basque (Spain)", "eu_ES"], ICU::Locale.available(:countries => ['ES', 'US'])[0])
         | 
| 62 | 
            +
              	assert_equal(
         | 
| 63 | 
            +
              		[["Spanish (Spain)", "es_ES"], ["Spanish (United States)", "es_US"]],
         | 
| 64 | 
            +
              		ICU::Locale.available(:allowed => ['es_ES', 'ca_ES', 'en_US', 'en_GB', 'es_US'], :languages => ['es'], :countries => ['ES', 'US'])
         | 
| 65 | 
            +
              	)
         | 
| 66 | 
            +
              	
         | 
| 67 | 
            +
              	assert_equal(["Albanian", [["Albanian", "sq"], ["Albanian (Albania)", "sq_AL"]]], ICU::Locale.available(:group => true)[1])
         | 
| 68 | 
            +
              end
         | 
| 69 | 
            +
              
         | 
| 70 | 
            +
              def test_determine
         | 
| 71 | 
            +
              	assert_equal('es_ES', ICU::Locale.determine_from_http('es_ES,us_US'))
         | 
| 72 | 
            +
              end
         | 
| 73 | 
            +
            end
         | 
| @@ -0,0 +1,78 @@ | |
| 1 | 
            +
            require 'test/unit'
         | 
| 2 | 
            +
            require File.expand_path(File.join(File.dirname(__FILE__), '..', 'lib', 'icu'))
         | 
| 3 | 
            +
             | 
| 4 | 
            +
            class TestNumeric < Test::Unit::TestCase
         | 
| 5 | 
            +
              def setup
         | 
| 6 | 
            +
                ICU::Locale.default = 'en_US'
         | 
| 7 | 
            +
              end
         | 
| 8 | 
            +
              
         | 
| 9 | 
            +
              def test_types
         | 
| 10 | 
            +
                assert_raise(TypeError) { 13243412.233.localize(false) }
         | 
| 11 | 
            +
                assert_raise(TypeError) { 13243412.233.localize(:currency, false) }
         | 
| 12 | 
            +
                assert_raise(TypeError) { 13243412.233.localize(:currency, :locale => false) }
         | 
| 13 | 
            +
                assert_raise(TypeError) { 13243412.233.localize(:currency, :round_increment => false) }
         | 
| 14 | 
            +
                assert_raise(TypeError) { 13243412.233.localize(:currency, :round_mode => false) }
         | 
| 15 | 
            +
                assert_raise(TypeError) { 13243412.233.localize(:currency, :precision => false) }
         | 
| 16 | 
            +
              end
         | 
| 17 | 
            +
              
         | 
| 18 | 
            +
              def test_limits
         | 
| 19 | 
            +
                # Fixnum
         | 
| 20 | 
            +
                assert_equal('1,073,741,823', 1073741823.localize)
         | 
| 21 | 
            +
                assert_equal('-1,073,741,823', -1073741823.localize)
         | 
| 22 | 
            +
                # Bignum
         | 
| 23 | 
            +
                assert_equal('9,223,372,036,854,775,807', 9223372036854775807.localize)
         | 
| 24 | 
            +
                assert_equal('-9,223,372,036,854,775,807', -9223372036854775807.localize)
         | 
| 25 | 
            +
                assert_raise(RangeError) { 9223372036854775808.localize }
         | 
| 26 | 
            +
                # Float
         | 
| 27 | 
            +
                assert_equal('13,243,412.233', 13243412.233.localize)
         | 
| 28 | 
            +
                assert_equal('-13,243,412.233', -13243412.233.localize)
         | 
| 29 | 
            +
              end
         | 
| 30 | 
            +
              
         | 
| 31 | 
            +
              def test_decimal
         | 
| 32 | 
            +
                assert_equal('3,490,835,234.656', 3490835234.6556.localize)
         | 
| 33 | 
            +
                assert_equal('3.490.835.234,656', 3490835234.6556.localize(:decimal, :locale => 'es_ES'))
         | 
| 34 | 
            +
                assert_equal('٣٤٩٠٨٣٥٢٣٤٫٦٥٦', 3490835234.6556.localize(:decimal, :locale => ICU::Locale.get('ar_SY')))
         | 
| 35 | 
            +
              end
         | 
| 36 | 
            +
              
         | 
| 37 | 
            +
              def test_currency
         | 
| 38 | 
            +
                assert_equal('$1,073,741,823.32', 1073741823.323.localize(:currency))
         | 
| 39 | 
            +
                assert_equal('($1,073,741,823.32)', -1073741823.323.localize(:currency))
         | 
| 40 | 
            +
                assert_equal('€1,073,741,823.32', 1073741823.323.localize(:currency, :currency => 'EUR'))
         | 
| 41 | 
            +
                
         | 
| 42 | 
            +
                assert_equal('1.073.741.823,32 €', 1073741823.323.localize(:currency, :locale => 'es_ES'))
         | 
| 43 | 
            +
                assert_equal('-1.073.741.823,32 €', -1073741823.323.localize(:currency, :locale => 'es_ES'))
         | 
| 44 | 
            +
                assert_equal('1.073.741.823,32 US$', 1073741823.323.localize(:currency, :locale => 'es_ES', :currency => 'USD'))
         | 
| 45 | 
            +
             | 
| 46 | 
            +
                assert_equal('1,073,741,823.32 ₪', 1073741823.323.localize(:currency, :locale => 'he_IL'))
         | 
| 47 | 
            +
                assert_equal('-1,073,741,823.32 ₪', -1073741823.323.localize(:currency, :locale => 'he_IL'))
         | 
| 48 | 
            +
                assert_equal('1,073,741,823.32 $', 1073741823.323.localize(:currency, :locale => 'he_IL', :currency => 'USD'))
         | 
| 49 | 
            +
              end
         | 
| 50 | 
            +
              
         | 
| 51 | 
            +
              def test_rounding
         | 
| 52 | 
            +
                assert_equal('$2,314.30', 2314.3289.localize(:currency, :round_increment => 0.1))
         | 
| 53 | 
            +
                assert_equal('$2,314.40', 2314.3289.localize(:currency, :round_increment => 0.1, :round_mode => :ceil))
         | 
| 54 | 
            +
              end
         | 
| 55 | 
            +
              
         | 
| 56 | 
            +
              def test_precision
         | 
| 57 | 
            +
                assert_equal('$2,314.3290', 2314.32896.localize(:currency, :precision => 4))
         | 
| 58 | 
            +
                assert_equal('$1,234.674', 1234.67433.localize(:currency, :precision => 3))
         | 
| 59 | 
            +
              end
         | 
| 60 | 
            +
              
         | 
| 61 | 
            +
              def test_percent
         | 
| 62 | 
            +
                assert_equal('12%', 0.12.localize(:percent))
         | 
| 63 | 
            +
                assert_equal('1,200%', 12.localize(:percent))
         | 
| 64 | 
            +
              end
         | 
| 65 | 
            +
              
         | 
| 66 | 
            +
              def test_scientific
         | 
| 67 | 
            +
                assert_equal('4.3289E4', 43289.localize(:scientific))
         | 
| 68 | 
            +
                assert_equal('1.1239087212E0', 1.1239087212.localize(:scientific))
         | 
| 69 | 
            +
              end
         | 
| 70 | 
            +
              
         | 
| 71 | 
            +
              def test_spellout
         | 
| 72 | 
            +
                assert_equal('forty-three thousand two hundred and eighty-nine', 43289.localize(:spellout))
         | 
| 73 | 
            +
                assert_equal('one point one two three nine', 1.1239.localize(:spellout))
         | 
| 74 | 
            +
                
         | 
| 75 | 
            +
                assert_equal('cuarenta y tres mil doscientos ochenta y nueve', 43289.localize(:spellout, :locale => 'es_ES'))
         | 
| 76 | 
            +
                assert_equal('uno punto uno dos tres nueve', 1.1239.localize(:spellout, :locale => 'es_ES'))
         | 
| 77 | 
            +
              end
         | 
| 78 | 
            +
            end
         | 
    
        data/test/test_time.rb
    ADDED
    
    | @@ -0,0 +1,75 @@ | |
| 1 | 
            +
            require 'test/unit'
         | 
| 2 | 
            +
            require File.expand_path(File.join(File.dirname(__FILE__), '..', 'lib', 'icu'))
         | 
| 3 | 
            +
             | 
| 4 | 
            +
            class TestTime < Test::Unit::TestCase
         | 
| 5 | 
            +
              def setup
         | 
| 6 | 
            +
                ICU::Locale.default = 'en_US'
         | 
| 7 | 
            +
              end
         | 
| 8 | 
            +
              
         | 
| 9 | 
            +
              def test_localize_zone
         | 
| 10 | 
            +
              	Time.default_zone = 'Europe/Paris'
         | 
| 11 | 
            +
              	assert_equal('10:31:34 AM CEDT', Time.utc(2006, 5, 8, 8, 31, 34).localize(:date => false, :time => :full))
         | 
| 12 | 
            +
              	assert_equal('8:31:34 AM GMT+00:00', Time.utc(2006, 5, 8, 8, 31, 34).localize(:date => false, :time => :full, :zone => 'GMT'))
         | 
| 13 | 
            +
              	assert_equal('3:31:34 AM GMT-05:00', Time.utc(2006, 5, 8, 8, 31, 34).localize(:date => false, :time => :full, :zone => 'GMT-05:00'))
         | 
| 14 | 
            +
              end
         | 
| 15 | 
            +
               
         | 
| 16 | 
            +
              def test_localize_style
         | 
| 17 | 
            +
              	assert_equal('Monday, May 8, 2006 8:31:34 AM', Time.utc(2006, 5, 8, 8, 31, 34).localize(:date => :full))
         | 
| 18 | 
            +
              	assert_equal('May 8, 2006 8:31:34 AM', Time.utc(2006, 5, 8, 8, 31, 34).localize(:date => :long))
         | 
| 19 | 
            +
              	assert_equal('May 8, 2006 8:31:34 AM', Time.utc(2006, 5, 8, 8, 31, 34).localize(:date => :medium))
         | 
| 20 | 
            +
              	assert_equal('5/8/06 8:31:34 AM', Time.utc(2006, 5, 8, 8, 31, 34).localize(:date => :short))
         | 
| 21 | 
            +
              	assert_equal('8:31:34 AM', Time.utc(2006, 5, 8, 8, 31, 34).localize(:date => false))
         | 
| 22 | 
            +
              	assert_equal('May 8, 2006 8:31:34 AM GMT+00:00', Time.utc(2006, 5, 8, 8, 31, 34).localize(:time => :full))
         | 
| 23 | 
            +
              	assert_equal('May 8, 2006 8:31:34 AM GMT+00:00', Time.utc(2006, 5, 8, 8, 31, 34).localize(:time => :long))
         | 
| 24 | 
            +
              	assert_equal('May 8, 2006 8:31:34 AM', Time.utc(2006, 5, 8, 8, 31, 34).localize(:time => :medium))
         | 
| 25 | 
            +
              	assert_equal('May 8, 2006 8:31 AM', Time.utc(2006, 5, 8, 8, 31, 34).localize(:time => :short))
         | 
| 26 | 
            +
              	assert_equal('May 8, 2006', Time.utc(2006, 5, 8, 8, 31, 34).localize(:time => false))
         | 
| 27 | 
            +
              end
         | 
| 28 | 
            +
              
         | 
| 29 | 
            +
              def test_localize_locale
         | 
| 30 | 
            +
              	assert_equal('lunes 8 de mayo de 2006 8:31:34', Time.utc(2006, 5, 8, 8, 31, 34).localize(:date => :full, :locale => 'es_ES'))
         | 
| 31 | 
            +
              	assert_equal('08:31:34 8 מאי 2006', Time.utc(2006, 5, 8, 8, 31, 34).localize(:date => :long, :locale => ICU::Locale.get('he_IL')))
         | 
| 32 | 
            +
              	assert_equal('2006. svibnja 08 08:31:34', Time.utc(2006, 5, 8, 8, 31, 34).localize(:date => :long, :locale => 'hr_HR'))
         | 
| 33 | 
            +
              end
         | 
| 34 | 
            +
              
         | 
| 35 | 
            +
              def test_zones
         | 
| 36 | 
            +
            	assert_instance_of(Array, Time.zones)
         | 
| 37 | 
            +
            	assert_equal(["Africa/Ceuta", "Atlantic/Canary", "Europe/Madrid"], Time.zones(:countries => ['ES']))
         | 
| 38 | 
            +
              	assert_equal(
         | 
| 39 | 
            +
              		[["Central European Standard Time", "ECT"], ["Central European Standard Time", "Europe/Paris"], ["Greenwich Mean Time", "Europe/London"], ["Greenwich Mean Time", "Europe/Belfast"], ["Greenwich Mean Time", "GB"], ["Greenwich Mean Time", "GB-Eire"]],
         | 
| 40 | 
            +
              		Time.zones(:countries => ['FR', 'GB'], :type => :standard)
         | 
| 41 | 
            +
              	)
         | 
| 42 | 
            +
              	assert_equal([["Spain", ["Africa/Ceuta", "Atlantic/Canary", "Europe/Madrid"]]], Time.zones(:countries => ['ES'], :group => true))
         | 
| 43 | 
            +
              end
         | 
| 44 | 
            +
              
         | 
| 45 | 
            +
              def test_default_zone
         | 
| 46 | 
            +
              	Time.default_zone = 'Europe/Paris'
         | 
| 47 | 
            +
              	assert_equal('Europe/Paris', Time.default_zone)
         | 
| 48 | 
            +
              	assert_equal('10:31:34 AM CEDT', Time.utc(2006, 5, 8, 8, 31, 34).localize(:date => false, :time => :full))
         | 
| 49 | 
            +
              	Time.default_zone = 'UTC'
         | 
| 50 | 
            +
              	assert_equal('UTC', Time.default_zone)
         | 
| 51 | 
            +
              	assert_equal('8:31:34 AM GMT+00:00', Time.utc(2006, 5, 8, 8, 31, 34).localize(:date => false, :time => :full))
         | 
| 52 | 
            +
              	Time.default_zone = 'worg time zone'
         | 
| 53 | 
            +
              	assert_equal('GMT', Time.default_zone)
         | 
| 54 | 
            +
              	assert_equal('8:31:34 AM GMT+00:00', Time.utc(2006, 5, 8, 8, 31, 34).localize(:date => false, :time => :full))
         | 
| 55 | 
            +
              end
         | 
| 56 | 
            +
              
         | 
| 57 | 
            +
              def test_pattern
         | 
| 58 | 
            +
              	assert_equal("EEEE d' de 'MMMM' de 'yyyy H:mm:ss", Time.pattern(:date => :full, :locale => 'es_ES'))
         | 
| 59 | 
            +
              	assert_equal('yyyy. MMMM dd HH:mm:ss', Time.pattern(:date => :long, :locale => ICU::Locale.get('hr_HR')))
         | 
| 60 | 
            +
              	assert_equal('HH:mm:ss dd/MM/yyyy', Time.pattern(:date => :medium, :locale => 'he_IL'))
         | 
| 61 | 
            +
              	assert_equal('M/d/yy h:mm:ss a', Time.pattern(:date => :short))
         | 
| 62 | 
            +
              	assert_equal('h:mm:ss a', Time.pattern(:date => false))
         | 
| 63 | 
            +
              	assert_equal("dd/MM/yyyy HH'H'mm''ss\" z", Time.pattern(:time => :full, :locale => 'es_ES'))
         | 
| 64 | 
            +
              	assert_equal('yyyy.MM.dd HH:mm:ss z', Time.pattern(:time => :long, :locale => 'hr_HR'))
         | 
| 65 | 
            +
              	assert_equal('HH:mm:ss dd/MM/yyyy', Time.pattern(:time => :medium, :locale => 'he_IL'))
         | 
| 66 | 
            +
              	assert_equal('MMM d, yyyy h:mm a', Time.pattern(:time => :short))
         | 
| 67 | 
            +
              	assert_equal('MMM d, yyyy', Time.pattern(:time => false))
         | 
| 68 | 
            +
              end
         | 
| 69 | 
            +
              
         | 
| 70 | 
            +
              def test_week_start
         | 
| 71 | 
            +
              	assert_equal(1, Time.week_start)
         | 
| 72 | 
            +
              	assert_equal(2, Time.week_start(:locale => 'hr_HR'))
         | 
| 73 | 
            +
              	assert_equal(2, Time.week_start(:locale => ICU::Locale.get('hr_HR')))
         | 
| 74 | 
            +
              end
         | 
| 75 | 
            +
            end
         | 
    
        metadata
    ADDED
    
    | @@ -0,0 +1,67 @@ | |
| 1 | 
            +
            --- !ruby/object:Gem::Specification 
         | 
| 2 | 
            +
            name: icu
         | 
| 3 | 
            +
            version: !ruby/object:Gem::Version 
         | 
| 4 | 
            +
              version: 0.9.0
         | 
| 5 | 
            +
            platform: ruby
         | 
| 6 | 
            +
            authors: 
         | 
| 7 | 
            +
            - Joshua Llorach
         | 
| 8 | 
            +
            autorequire: icu
         | 
| 9 | 
            +
            bindir: bin
         | 
| 10 | 
            +
            cert_chain: []
         | 
| 11 | 
            +
             | 
| 12 | 
            +
            date: 2007-12-07 00:00:00 +01:00
         | 
| 13 | 
            +
            default_executable: 
         | 
| 14 | 
            +
            dependencies: []
         | 
| 15 | 
            +
             | 
| 16 | 
            +
            description: 
         | 
| 17 | 
            +
            email: josh@vectrice.com
         | 
| 18 | 
            +
            executables: []
         | 
| 19 | 
            +
             | 
| 20 | 
            +
            extensions: 
         | 
| 21 | 
            +
            - ext/extconf.rb
         | 
| 22 | 
            +
            extra_rdoc_files: 
         | 
| 23 | 
            +
            - README
         | 
| 24 | 
            +
            files: 
         | 
| 25 | 
            +
            - ext/icu_locale_language.c
         | 
| 26 | 
            +
            - ext/icu_locale_country.c
         | 
| 27 | 
            +
            - ext/icu_time.c
         | 
| 28 | 
            +
            - ext/icu.h
         | 
| 29 | 
            +
            - ext/extconf.rb
         | 
| 30 | 
            +
            - ext/icu_locale.c
         | 
| 31 | 
            +
            - ext/icu.c
         | 
| 32 | 
            +
            - ext/icu_numeric.c
         | 
| 33 | 
            +
            - lib/icu.rb
         | 
| 34 | 
            +
            - test/test_time.rb
         | 
| 35 | 
            +
            - test/test_numeric.rb
         | 
| 36 | 
            +
            - test/test_locale.rb
         | 
| 37 | 
            +
            - README
         | 
| 38 | 
            +
            has_rdoc: true
         | 
| 39 | 
            +
            homepage: http://vectrice.com/
         | 
| 40 | 
            +
            post_install_message: 
         | 
| 41 | 
            +
            rdoc_options: []
         | 
| 42 | 
            +
             | 
| 43 | 
            +
            require_paths: 
         | 
| 44 | 
            +
            - lib
         | 
| 45 | 
            +
            required_ruby_version: !ruby/object:Gem::Requirement 
         | 
| 46 | 
            +
              requirements: 
         | 
| 47 | 
            +
              - - ">="
         | 
| 48 | 
            +
                - !ruby/object:Gem::Version 
         | 
| 49 | 
            +
                  version: "0"
         | 
| 50 | 
            +
              version: 
         | 
| 51 | 
            +
            required_rubygems_version: !ruby/object:Gem::Requirement 
         | 
| 52 | 
            +
              requirements: 
         | 
| 53 | 
            +
              - - ">="
         | 
| 54 | 
            +
                - !ruby/object:Gem::Version 
         | 
| 55 | 
            +
                  version: "0"
         | 
| 56 | 
            +
              version: 
         | 
| 57 | 
            +
            requirements: []
         | 
| 58 | 
            +
             | 
| 59 | 
            +
            rubyforge_project: icu
         | 
| 60 | 
            +
            rubygems_version: 0.9.5
         | 
| 61 | 
            +
            signing_key: 
         | 
| 62 | 
            +
            specification_version: 2
         | 
| 63 | 
            +
            summary: International Components for Unicode for Ruby
         | 
| 64 | 
            +
            test_files: 
         | 
| 65 | 
            +
            - test/test_time.rb
         | 
| 66 | 
            +
            - test/test_numeric.rb
         | 
| 67 | 
            +
            - test/test_locale.rb
         |