snail 0.8.0 → 1.0.1
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.
- checksums.yaml +4 -4
- data/lib/snail/constants.rb +3 -242
- data/lib/snail/{configurable.rb → initializable.rb} +1 -2
- data/lib/snail/version.rb +1 -1
- data/lib/snail.rb +14 -7
- data/lib/snail_helpers.rb +0 -9
- data/snail.gemspec +1 -1
- data/test/snail_test.rb +6 -32
- metadata +3 -3
    
        checksums.yaml
    CHANGED
    
    | @@ -1,7 +1,7 @@ | |
| 1 1 | 
             
            ---
         | 
| 2 2 | 
             
            SHA1:
         | 
| 3 | 
            -
              metadata.gz:  | 
| 4 | 
            -
              data.tar.gz:  | 
| 3 | 
            +
              metadata.gz: 69299ca47862ebd3ed450e287deafcf5a89175fa
         | 
| 4 | 
            +
              data.tar.gz: c582b6d1c0d07674c12307bdc76a001c1976d48e
         | 
| 5 5 | 
             
            SHA512:
         | 
| 6 | 
            -
              metadata.gz:  | 
| 7 | 
            -
              data.tar.gz:  | 
| 6 | 
            +
              metadata.gz: 28db2ac9d411e136359ba5bc3bfe4676856e5aba38f197bb2c3729cb64f276bd562e51267c125915432f1f5cd4c5981b28be65b42a47a770a3dde676cf9d5b5e
         | 
| 7 | 
            +
              data.tar.gz: acfa11f47bd78a8a4c0671fefa24a0ab2ac0b9f47e715124e5a677840e0588087436073936da30de69bd4313dd9b1f6d30c6d09a13dd4ad6f6ccf6cf5161dec1
         | 
    
        data/lib/snail/constants.rb
    CHANGED
    
    | @@ -1,240 +1,7 @@ | |
| 1 1 | 
             
            # -*- encoding : utf-8 -*-
         | 
| 2 2 |  | 
| 3 | 
            +
            # TODO: carmen
         | 
| 3 4 | 
             
            class Snail
         | 
| 4 | 
            -
              # based on http://www.columbia.edu/kermit/postal.html#index, which is in turn based on
         | 
| 5 | 
            -
              # the USPS International Mailing Manual. See also http://www.25thandclement.com/~william/USPS_ICL.html.
         | 
| 6 | 
            -
              USPS_COUNTRIES = [
         | 
| 7 | 
            -
                'Afghanistan',
         | 
| 8 | 
            -
                'Albania',
         | 
| 9 | 
            -
                'Algeria',
         | 
| 10 | 
            -
                'Andorra',
         | 
| 11 | 
            -
                'Angola',
         | 
| 12 | 
            -
                'Anguilla',
         | 
| 13 | 
            -
                'Antigua and Barbuda',
         | 
| 14 | 
            -
                'Argentina',
         | 
| 15 | 
            -
                'Armenia',
         | 
| 16 | 
            -
                'Aruba',
         | 
| 17 | 
            -
                'Ascension',
         | 
| 18 | 
            -
                'Australia',
         | 
| 19 | 
            -
                'Austria',
         | 
| 20 | 
            -
                'Azerbaijan',
         | 
| 21 | 
            -
                'Bahamas',
         | 
| 22 | 
            -
                'Bahrain',
         | 
| 23 | 
            -
                'Bangladesh',
         | 
| 24 | 
            -
                'Barbados',
         | 
| 25 | 
            -
                'Belarus',
         | 
| 26 | 
            -
                'Belgium',
         | 
| 27 | 
            -
                'Belize',
         | 
| 28 | 
            -
                'Benin',
         | 
| 29 | 
            -
                'Bermuda',
         | 
| 30 | 
            -
                'Bhutan',
         | 
| 31 | 
            -
                'Bolivia',
         | 
| 32 | 
            -
                'Bosnia and Herzegovina',
         | 
| 33 | 
            -
                'Botswana',
         | 
| 34 | 
            -
                'Brazil',
         | 
| 35 | 
            -
                'British Virgin Islands',
         | 
| 36 | 
            -
                'Brunei Darussalam',
         | 
| 37 | 
            -
                'Bulgaria',
         | 
| 38 | 
            -
                'Burkina Faso',
         | 
| 39 | 
            -
                'Burundi',
         | 
| 40 | 
            -
                'Cambodia',
         | 
| 41 | 
            -
                'Cameroon',
         | 
| 42 | 
            -
                'Canada',
         | 
| 43 | 
            -
                'Canary Islands',
         | 
| 44 | 
            -
                'Cape Verde',
         | 
| 45 | 
            -
                'Cayman Islands',
         | 
| 46 | 
            -
                'Central African Republic',
         | 
| 47 | 
            -
                'Chad',
         | 
| 48 | 
            -
                'Chile',
         | 
| 49 | 
            -
                'China',
         | 
| 50 | 
            -
                'Colombia',
         | 
| 51 | 
            -
                'Comoros',
         | 
| 52 | 
            -
                'Costa Rica',
         | 
| 53 | 
            -
                'CÔte D\'ivoire',
         | 
| 54 | 
            -
                'Croatia',
         | 
| 55 | 
            -
                'Cuba',
         | 
| 56 | 
            -
                'Curacao',
         | 
| 57 | 
            -
                'Cyprus',
         | 
| 58 | 
            -
                'Czech Republic',
         | 
| 59 | 
            -
                'Democratic Republic of the Congo',
         | 
| 60 | 
            -
                'Denmark',
         | 
| 61 | 
            -
                'Djibouti',
         | 
| 62 | 
            -
                'Dominica',
         | 
| 63 | 
            -
                'Dominican Republic',
         | 
| 64 | 
            -
                'East Timor',
         | 
| 65 | 
            -
                'Ecuador',
         | 
| 66 | 
            -
                'Egypt',
         | 
| 67 | 
            -
                'El Salvador',
         | 
| 68 | 
            -
                'England',
         | 
| 69 | 
            -
                'Equatorial Guinea',
         | 
| 70 | 
            -
                'Eritrea',
         | 
| 71 | 
            -
                'Estonia',
         | 
| 72 | 
            -
                'Ethiopia',
         | 
| 73 | 
            -
                'Falkland Islands',
         | 
| 74 | 
            -
                'Faroe Islands',
         | 
| 75 | 
            -
                'Fiji',
         | 
| 76 | 
            -
                'Finland',
         | 
| 77 | 
            -
                'France',
         | 
| 78 | 
            -
                'French Guiana',
         | 
| 79 | 
            -
                'French Polynesia',
         | 
| 80 | 
            -
                'Gabon',
         | 
| 81 | 
            -
                'Gambia',
         | 
| 82 | 
            -
                'Georgia',
         | 
| 83 | 
            -
                'Germany',
         | 
| 84 | 
            -
                'Ghana',
         | 
| 85 | 
            -
                'Gibraltar',
         | 
| 86 | 
            -
                'Greece',
         | 
| 87 | 
            -
                'Greenland',
         | 
| 88 | 
            -
                'Grenada',
         | 
| 89 | 
            -
                'Guadeloupe',
         | 
| 90 | 
            -
                'Guatemala',
         | 
| 91 | 
            -
                'Guinea',
         | 
| 92 | 
            -
                'Guinea-Bissau',
         | 
| 93 | 
            -
                'Guyana',
         | 
| 94 | 
            -
                'Haiti',
         | 
| 95 | 
            -
                'Honduras',
         | 
| 96 | 
            -
                'Hong Kong',
         | 
| 97 | 
            -
                'Hungary',
         | 
| 98 | 
            -
                'Iceland',
         | 
| 99 | 
            -
                'India',
         | 
| 100 | 
            -
                'Indonesia',
         | 
| 101 | 
            -
                'Iran',
         | 
| 102 | 
            -
                'Iraq',
         | 
| 103 | 
            -
                'Ireland',
         | 
| 104 | 
            -
                'Isle of Man',
         | 
| 105 | 
            -
                'Israel',
         | 
| 106 | 
            -
                'Italy',
         | 
| 107 | 
            -
                'Jamaica',
         | 
| 108 | 
            -
                'Japan',
         | 
| 109 | 
            -
                'Jordan',
         | 
| 110 | 
            -
                'Kazakhstan',
         | 
| 111 | 
            -
                'Kenya',
         | 
| 112 | 
            -
                'Kiribati',
         | 
| 113 | 
            -
                'Korea',
         | 
| 114 | 
            -
                'Kosovo',
         | 
| 115 | 
            -
                'Kuwait',
         | 
| 116 | 
            -
                'Kyrgyzstan',
         | 
| 117 | 
            -
                'Laos',
         | 
| 118 | 
            -
                'Latvia',
         | 
| 119 | 
            -
                'Lebanon',
         | 
| 120 | 
            -
                'Lesotho',
         | 
| 121 | 
            -
                'Liberia',
         | 
| 122 | 
            -
                'Libya',
         | 
| 123 | 
            -
                'Liechtenstein',
         | 
| 124 | 
            -
                'Lithuania',
         | 
| 125 | 
            -
                'Luxembourg',
         | 
| 126 | 
            -
                'Macao',
         | 
| 127 | 
            -
                'Macedonia',
         | 
| 128 | 
            -
                'Madagascar',
         | 
| 129 | 
            -
                'Malawi',
         | 
| 130 | 
            -
                'Malaysia',
         | 
| 131 | 
            -
                'Maldives',
         | 
| 132 | 
            -
                'Mali',
         | 
| 133 | 
            -
                'Malta',
         | 
| 134 | 
            -
                'Martinique',
         | 
| 135 | 
            -
                'Mauritania',
         | 
| 136 | 
            -
                'Mauritius',
         | 
| 137 | 
            -
                'Mayotte',
         | 
| 138 | 
            -
                'Mexico',
         | 
| 139 | 
            -
                'Moldova',
         | 
| 140 | 
            -
                'Monaco',
         | 
| 141 | 
            -
                'Mongolia',
         | 
| 142 | 
            -
                'Montenegro',
         | 
| 143 | 
            -
                'Montserrat',
         | 
| 144 | 
            -
                'Morocco',
         | 
| 145 | 
            -
                'Mozambique',
         | 
| 146 | 
            -
                'Myanmar',
         | 
| 147 | 
            -
                'Namibia',
         | 
| 148 | 
            -
                'Nauru',
         | 
| 149 | 
            -
                'Nepal',
         | 
| 150 | 
            -
                'Netherlands',
         | 
| 151 | 
            -
                'Netherlands Antilles',
         | 
| 152 | 
            -
                'New Caledonia',
         | 
| 153 | 
            -
                'New Zealand',
         | 
| 154 | 
            -
                'Nicaragua',
         | 
| 155 | 
            -
                'Niger',
         | 
| 156 | 
            -
                'Nigeria',
         | 
| 157 | 
            -
                'North Korea',
         | 
| 158 | 
            -
                'Northern Ireland',
         | 
| 159 | 
            -
                'Norway',
         | 
| 160 | 
            -
                'Oman',
         | 
| 161 | 
            -
                'Pakistan',
         | 
| 162 | 
            -
                'Palestinian Territory',
         | 
| 163 | 
            -
                'Panama',
         | 
| 164 | 
            -
                'Papua New Guinea',
         | 
| 165 | 
            -
                'Paraguay',
         | 
| 166 | 
            -
                'Peru',
         | 
| 167 | 
            -
                'Philippines',
         | 
| 168 | 
            -
                'Pitcairn Island',
         | 
| 169 | 
            -
                'Poland',
         | 
| 170 | 
            -
                'Portugal',
         | 
| 171 | 
            -
                'Qatar',
         | 
| 172 | 
            -
                'Republic of the Congo',
         | 
| 173 | 
            -
                'Reunion',
         | 
| 174 | 
            -
                'Romania',
         | 
| 175 | 
            -
                'Russian Federation',
         | 
| 176 | 
            -
                'Rwanda',
         | 
| 177 | 
            -
                'Saint Helena',
         | 
| 178 | 
            -
                'Saint Kitts and Nevis',
         | 
| 179 | 
            -
                'Saint Lucia',
         | 
| 180 | 
            -
                'Saint Pierre and Miquelon',
         | 
| 181 | 
            -
                'Saint Vincent and the Grenadines',
         | 
| 182 | 
            -
                'San Marino',
         | 
| 183 | 
            -
                'Sao Tome and Principe',
         | 
| 184 | 
            -
                'Saudi Arabia',
         | 
| 185 | 
            -
                'Scotland',
         | 
| 186 | 
            -
                'Senegal',
         | 
| 187 | 
            -
                'Serbia',
         | 
| 188 | 
            -
                'Seychelles',
         | 
| 189 | 
            -
                'Sierra Leone',
         | 
| 190 | 
            -
                'Singapore',
         | 
| 191 | 
            -
                'Slovak Republic',
         | 
| 192 | 
            -
                'Slovenia',
         | 
| 193 | 
            -
                'Solomon Islands',
         | 
| 194 | 
            -
                'Somalia',
         | 
| 195 | 
            -
                'South Africa',
         | 
| 196 | 
            -
                'South Georgia',
         | 
| 197 | 
            -
                'South Sudan',
         | 
| 198 | 
            -
                'Spain',
         | 
| 199 | 
            -
                'Sri Lanka',
         | 
| 200 | 
            -
                'Sudan',
         | 
| 201 | 
            -
                'Suriname',
         | 
| 202 | 
            -
                'Swaziland',
         | 
| 203 | 
            -
                'Sweden',
         | 
| 204 | 
            -
                'Switzerland',
         | 
| 205 | 
            -
                'Syria',
         | 
| 206 | 
            -
                'Taiwan',
         | 
| 207 | 
            -
                'Tajikistan',
         | 
| 208 | 
            -
                'Tanzania',
         | 
| 209 | 
            -
                'Thailand',
         | 
| 210 | 
            -
                'Togo',
         | 
| 211 | 
            -
                'Tonga',
         | 
| 212 | 
            -
                'Trinidad and Tobago',
         | 
| 213 | 
            -
                'Tristan da Cunha',
         | 
| 214 | 
            -
                'Tunisia',
         | 
| 215 | 
            -
                'Turkey',
         | 
| 216 | 
            -
                'Turkmenistan',
         | 
| 217 | 
            -
                'Turks and Caicos Islands',
         | 
| 218 | 
            -
                'Tuvalu',
         | 
| 219 | 
            -
                'Uganda',
         | 
| 220 | 
            -
                'Ukraine',
         | 
| 221 | 
            -
                'United Arab Emirates',
         | 
| 222 | 
            -
                'United Kingdom',
         | 
| 223 | 
            -
                'Uruguay',
         | 
| 224 | 
            -
                'USA',
         | 
| 225 | 
            -
                'Uzbekistan',
         | 
| 226 | 
            -
                'Vanuatu',
         | 
| 227 | 
            -
                'Vatican City',
         | 
| 228 | 
            -
                'Venezuela',
         | 
| 229 | 
            -
                'Vietnam',
         | 
| 230 | 
            -
                'Wales',
         | 
| 231 | 
            -
                'Wallis and Futuna Islands',
         | 
| 232 | 
            -
                'Western Samoa',
         | 
| 233 | 
            -
                'Western Sahara',
         | 
| 234 | 
            -
                'Yemen',
         | 
| 235 | 
            -
                'Zambia',
         | 
| 236 | 
            -
                'Zimbabwe'
         | 
| 237 | 
            -
              ]
         | 
| 238 5 |  | 
| 239 6 | 
             
              REGIONS = {
         | 
| 240 7 | 
             
                # see http://en.wikipedia.org/wiki/Postcodes_in_Australia#Australia_States_and_territories
         | 
| @@ -337,12 +104,6 @@ class Snail | |
| 337 104 | 
             
                }
         | 
| 338 105 | 
             
              }
         | 
| 339 106 |  | 
| 340 | 
            -
             | 
| 341 | 
            -
              # Deprecated
         | 
| 342 | 
            -
              USA_STATES   = REGIONS[:us]
         | 
| 343 | 
            -
              CA_PROVINCES = REGIONS[:ca]
         | 
| 344 | 
            -
              AU_REGIONS   = REGIONS[:au]
         | 
| 345 | 
            -
             | 
| 346 107 | 
             
              module Iso3166
         | 
| 347 108 | 
             
                # as of January 28, 2013
         | 
| 348 109 | 
             
                # pulled http://en.wikipedia.org/wiki/ISO_3166-1_alpha-2
         | 
| @@ -604,13 +365,13 @@ class Snail | |
| 604 365 | 
             
                  'ZM' => ["ZAMBIA"],
         | 
| 605 366 | 
             
                  'ZW' => ["ZIMBABWE"]
         | 
| 606 367 | 
             
                }
         | 
| 607 | 
            -
             | 
| 368 | 
            +
             | 
| 608 369 | 
             
                ALPHA2_EXCEPTIONS = {
         | 
| 609 370 | 
             
                  'UK' => 'GB', # great britain aka united kingdom
         | 
| 610 371 | 
             
                  'FX' => 'FR', # france
         | 
| 611 372 | 
             
                  'SU' => 'RU'  # russia
         | 
| 612 373 | 
             
                }
         | 
| 613 | 
            -
             | 
| 374 | 
            +
             | 
| 614 375 | 
             
                ALPHA3_TO_ALPHA2 = {
         | 
| 615 376 | 
             
                  "ABW" => "AW",
         | 
| 616 377 | 
             
                  "AFG" => "AF",
         | 
    
        data/lib/snail/version.rb
    CHANGED
    
    
    
        data/lib/snail.rb
    CHANGED
    
    | @@ -1,5 +1,5 @@ | |
| 1 1 | 
             
            # -*- encoding : utf-8 -*-
         | 
| 2 | 
            -
            require 'snail/ | 
| 2 | 
            +
            require 'snail/initializable'
         | 
| 3 3 | 
             
            require 'snail/constants'
         | 
| 4 4 | 
             
            require 'snail_helpers'
         | 
| 5 5 |  | 
| @@ -11,7 +11,7 @@ if defined? ActionView | |
| 11 11 | 
             
            end
         | 
| 12 12 |  | 
| 13 13 | 
             
            class Snail
         | 
| 14 | 
            -
              include  | 
| 14 | 
            +
              include Snail::Initializable
         | 
| 15 15 |  | 
| 16 16 | 
             
              # this will be raised whenever formatting or validation is run on an unsupported or unknown country
         | 
| 17 17 | 
             
              class UnknownCountryError < ArgumentError; end
         | 
| @@ -63,14 +63,21 @@ class Snail | |
| 63 63 | 
             
                  iso
         | 
| 64 64 | 
             
                elsif iso = ::Snail::Iso3166::ALPHA3_TO_ALPHA2[val]
         | 
| 65 65 | 
             
                  iso
         | 
| 66 | 
            -
                elsif iso_pair = ::Snail::Iso3166::ALPHA2.find { |a2, names| names.include?(val) }
         | 
| 67 | 
            -
                  ActiveSupport::Deprecation.warn("Country name lookup will be deprecated in the near future. Please pass ISO3166 country codes to Snail instead.", caller)
         | 
| 68 | 
            -
                  iso_pair.first
         | 
| 69 66 | 
             
                else
         | 
| 70 67 | 
             
                  nil
         | 
| 71 68 | 
             
                end
         | 
| 72 69 | 
             
              end
         | 
| 73 70 |  | 
| 71 | 
            +
              # Where the mail is coming from.
         | 
| 72 | 
            +
              def origin=(val)
         | 
| 73 | 
            +
                @origin = Snail.lookup_country_iso(val)
         | 
| 74 | 
            +
              end
         | 
| 75 | 
            +
             | 
| 76 | 
            +
              # Where the mail is coming from. Defaults to the global `home_country`.
         | 
| 77 | 
            +
              def origin
         | 
| 78 | 
            +
                @origin ||= Snail.home_country
         | 
| 79 | 
            +
              end
         | 
| 80 | 
            +
             | 
| 74 81 | 
             
              # Store country as ISO-3166 Alpha 2
         | 
| 75 82 | 
             
              def country=(val)
         | 
| 76 83 | 
             
                @country = Snail.lookup_country_iso(val)
         | 
| @@ -136,8 +143,8 @@ class Snail | |
| 136 143 | 
             
                end
         | 
| 137 144 | 
             
              end
         | 
| 138 145 |  | 
| 139 | 
            -
              # TODO  | 
| 146 | 
            +
              # TODO localize to the origin country
         | 
| 140 147 | 
             
              def country_line
         | 
| 141 | 
            -
                ::Snail::Iso3166::ALPHA2[country].first if country and self. | 
| 148 | 
            +
                ::Snail::Iso3166::ALPHA2[country].first if country and self.origin != country
         | 
| 142 149 | 
             
              end
         | 
| 143 150 | 
             
            end
         | 
    
        data/lib/snail_helpers.rb
    CHANGED
    
    | @@ -1,16 +1,7 @@ | |
| 1 1 | 
             
            module SnailHelpers
         | 
| 2 | 
            -
              def usps_country_options_for_select(selected = nil, default_selected = 'USA')
         | 
| 3 | 
            -
                options_for_select(Snail::USPS_COUNTRIES, selected || default_selected)
         | 
| 4 | 
            -
              end
         | 
| 5 2 |  | 
| 6 3 | 
             
              def region_options_for_select(country = :us, selected = nil)
         | 
| 7 4 | 
             
                options_for_select(Snail::REGIONS[country], selected)
         | 
| 8 5 | 
             
              end
         | 
| 9 6 |  | 
| 10 | 
            -
              # Deprecated
         | 
| 11 | 
            -
              def usa_state_options_for_select(selected = nil)
         | 
| 12 | 
            -
                region_options_for_select(:us, selected)
         | 
| 13 | 
            -
              end
         | 
| 14 | 
            -
             | 
| 15 | 
            -
             | 
| 16 7 | 
             
            end
         | 
    
        data/snail.gemspec
    CHANGED
    
    
    
        data/test/snail_test.rb
    CHANGED
    
    | @@ -6,19 +6,6 @@ class SnailTest < ActiveSupport::TestCase | |
| 6 6 | 
             
                @ca = {:name => "John Doe", :line_1 => "12345 5th St", :city => "Somewheres", :state => "NY", :zip => "12345", :country => 'CAN'}
         | 
| 7 7 | 
             
              end
         | 
| 8 8 |  | 
| 9 | 
            -
              test "provides USPS country names" do
         | 
| 10 | 
            -
                assert Snail.const_defined?('USPS_COUNTRIES')
         | 
| 11 | 
            -
              end
         | 
| 12 | 
            -
             | 
| 13 | 
            -
              test "provides USA state names with abbreviations" do
         | 
| 14 | 
            -
                assert Snail.const_defined?('USA_STATES')
         | 
| 15 | 
            -
                assert_equal 'MN', Snail::USA_STATES['Minnesota']
         | 
| 16 | 
            -
              end
         | 
| 17 | 
            -
             | 
| 18 | 
            -
              test "USA states include territories and islands" do
         | 
| 19 | 
            -
                assert Snail::USA_STATES['Guam']
         | 
| 20 | 
            -
              end
         | 
| 21 | 
            -
             | 
| 22 9 | 
             
              test "provides region codes via 2-digit iso country code" do
         | 
| 23 10 | 
             
                assert_equal "WA", Snail::REGIONS[:us]["Washington"]
         | 
| 24 11 | 
             
                assert_equal "WA", Snail::REGIONS[:au]["Western Australia"]
         | 
| @@ -59,16 +46,6 @@ class SnailTest < ActiveSupport::TestCase | |
| 59 46 | 
             
              ## Country Normalization
         | 
| 60 47 | 
             
              ##
         | 
| 61 48 |  | 
| 62 | 
            -
              test "normalize country name to alpha2" do
         | 
| 63 | 
            -
                s = Snail.new(@ca.merge(:country => 'Slovenia'))
         | 
| 64 | 
            -
                assert_equal "SI", s.country
         | 
| 65 | 
            -
              end
         | 
| 66 | 
            -
             | 
| 67 | 
            -
              test "normalize uppercase country name to alpha2" do
         | 
| 68 | 
            -
                s = Snail.new(@ca.merge(:country => 'JAPAN'))
         | 
| 69 | 
            -
                assert_equal "JP", s.country
         | 
| 70 | 
            -
              end
         | 
| 71 | 
            -
             | 
| 72 49 | 
             
              test "normalize alpha3 to alpha2" do
         | 
| 73 50 | 
             
                s = Snail.new(@ca.merge(:country => 'SVN'))
         | 
| 74 51 | 
             
                assert_equal "SI", s.country
         | 
| @@ -94,20 +71,17 @@ class SnailTest < ActiveSupport::TestCase | |
| 94 71 | 
             
              end
         | 
| 95 72 |  | 
| 96 73 | 
             
              test "does not include country name for domestic addresses" do
         | 
| 97 | 
            -
                s = Snail.new(@us)
         | 
| 74 | 
            +
                s = Snail.new(@us.merge(:origin => 'US'))
         | 
| 98 75 | 
             
                assert !s.to_s.match(/United States/i)
         | 
| 99 | 
            -
             | 
| 100 | 
            -
             | 
| 101 | 
            -
              test "does not include country name for domestic addresses in canada" do
         | 
| 102 | 
            -
                Snail.home_country = "Canada"
         | 
| 103 | 
            -
                s = Snail.new(@ca)
         | 
| 76 | 
            +
                s = Snail.new(@ca.merge(:origin => 'CA'))
         | 
| 104 77 | 
             
                assert !s.to_s.match(/Canada/i)
         | 
| 105 | 
            -
                Snail.home_country = "USA"
         | 
| 106 78 | 
             
              end
         | 
| 107 79 |  | 
| 108 80 | 
             
              test "includes country name for international addresses" do
         | 
| 109 | 
            -
                s = Snail.new(@ | 
| 110 | 
            -
                assert s.to_s.match(/ | 
| 81 | 
            +
                s = Snail.new(@us.merge(:origin => 'CA'))
         | 
| 82 | 
            +
                assert s.to_s.match(/United States/i)
         | 
| 83 | 
            +
                s = Snail.new(@ca.merge(:origin => 'US'))
         | 
| 84 | 
            +
                assert s.to_s.match(/Canada/i)
         | 
| 111 85 | 
             
              end
         | 
| 112 86 |  | 
| 113 87 | 
             
              test "includes first country name for countries with many commonly used names" do
         | 
    
        metadata
    CHANGED
    
    | @@ -1,7 +1,7 @@ | |
| 1 1 | 
             
            --- !ruby/object:Gem::Specification
         | 
| 2 2 | 
             
            name: snail
         | 
| 3 3 | 
             
            version: !ruby/object:Gem::Version
         | 
| 4 | 
            -
              version: 0. | 
| 4 | 
            +
              version: 1.0.1
         | 
| 5 5 | 
             
            platform: ruby
         | 
| 6 6 | 
             
            authors:
         | 
| 7 7 | 
             
            - Lance Ivy
         | 
| @@ -11,7 +11,7 @@ cert_chain: [] | |
| 11 11 | 
             
            date: 2013-05-28 00:00:00.000000000 Z
         | 
| 12 12 | 
             
            dependencies:
         | 
| 13 13 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 14 | 
            -
              name:  | 
| 14 | 
            +
              name: activesupport
         | 
| 15 15 | 
             
              requirement: !ruby/object:Gem::Requirement
         | 
| 16 16 | 
             
                requirements:
         | 
| 17 17 | 
             
                - - '>='
         | 
| @@ -36,8 +36,8 @@ files: | |
| 36 36 | 
             
            - README.rdoc
         | 
| 37 37 | 
             
            - Rakefile
         | 
| 38 38 | 
             
            - lib/snail.rb
         | 
| 39 | 
            -
            - lib/snail/configurable.rb
         | 
| 40 39 | 
             
            - lib/snail/constants.rb
         | 
| 40 | 
            +
            - lib/snail/initializable.rb
         | 
| 41 41 | 
             
            - lib/snail/version.rb
         | 
| 42 42 | 
             
            - lib/snail_helpers.rb
         | 
| 43 43 | 
             
            - snail.gemspec
         |