carmen 0.2.7 → 0.2.8
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/Gemfile +6 -1
- data/MIT-LICENSE +4 -4
- data/README.rdoc +38 -6
- data/Rakefile +2 -7
- data/VERSION +1 -1
- data/carmen.gemspec +38 -44
- data/data/countries/de.yml +3 -1
- data/data/countries/en.yml +1 -1
- data/data/countries/hi.yml +491 -0
- data/data/countries/nl.yml +501 -0
- data/data/states/in.yml +2 -0
- data/data/states/us.yml +4 -2
- data/lib/carmen.rb +23 -22
- data/lib/carmen/action_view_helpers.rb +7 -8
- data/lib/carmen/railtie.rb +4 -4
- data/test/carmen_test.rb +37 -27
- data/test/carmen_view_helper_test.rb +7 -11
- metadata +15 -40
- data/.gitignore +0 -7
data/data/states/in.yml
CHANGED
data/data/states/us.yml
CHANGED
@@ -102,6 +102,8 @@
|
|
102
102
|
- WI
|
103
103
|
- - Wyoming
|
104
104
|
- WY
|
105
|
+
- - American Samoa
|
106
|
+
- AS
|
105
107
|
- - Federated States of Micronesia
|
106
108
|
- FM
|
107
109
|
- - Guam
|
@@ -118,7 +120,7 @@
|
|
118
120
|
- VI
|
119
121
|
- - Armed Forces Americas (except Canada)
|
120
122
|
- AA
|
121
|
-
- - Armed Forces Europe,
|
123
|
+
- - Armed Forces Europe, Canada, Africa, or Middle East
|
122
124
|
- AE
|
123
125
|
- - Armed Forces Pacific
|
124
|
-
- AP
|
126
|
+
- AP
|
data/lib/carmen.rb
CHANGED
@@ -6,7 +6,7 @@ rescue LoadError
|
|
6
6
|
end
|
7
7
|
|
8
8
|
# Fix to autoload in Rails 3
|
9
|
-
if defined?(Rails)
|
9
|
+
if defined?(Rails)
|
10
10
|
if Rails::VERSION::MAJOR > 2
|
11
11
|
require 'carmen/railtie'
|
12
12
|
else
|
@@ -15,36 +15,37 @@ if defined?(Rails)
|
|
15
15
|
end
|
16
16
|
|
17
17
|
module Carmen
|
18
|
-
|
19
18
|
class << self
|
20
|
-
attr_accessor :default_country, :default_locale, :excluded_countries, :excluded_states
|
19
|
+
attr_accessor :default_country, :default_locale, :excluded_countries, :excluded_states,
|
20
|
+
:priority_countries
|
21
21
|
end
|
22
|
-
|
22
|
+
|
23
23
|
self.default_country = 'US'
|
24
24
|
self.default_locale = :en
|
25
25
|
self.excluded_countries = []
|
26
|
-
self.excluded_states = {}
|
27
|
-
|
26
|
+
self.excluded_states = {}
|
27
|
+
self.priority_countries = []
|
28
|
+
|
28
29
|
@data_path = File.join(File.dirname(__FILE__), '..', 'data')
|
29
|
-
|
30
|
+
|
30
31
|
@states = Dir[File.join(@data_path, '/states/*.yml')].map do |file_name|
|
31
32
|
[File.basename(file_name, '.yml').upcase, YAML.load_file(file_name)]
|
32
33
|
end
|
33
|
-
|
34
|
+
|
34
35
|
# Raised when attempting to retrieve states for an unsupported country
|
35
36
|
class StatesNotSupported < RuntimeError; end
|
36
37
|
|
37
38
|
# Raised when attempting to work with a country not in the data set
|
38
39
|
class NonexistentCountry < RuntimeError; end
|
39
|
-
|
40
|
+
|
40
41
|
# Raised when attemting to switch to a locale which does not exist
|
41
42
|
class UnavailableLocale < RuntimeError; end
|
42
|
-
|
43
|
+
|
43
44
|
# Returns a list of all countries
|
44
45
|
def self.countries(options={})
|
45
46
|
# Use specified locale or fall back to default locale
|
46
47
|
locale = (options.delete(:locale) || @default_locale).to_s
|
47
|
-
|
48
|
+
|
48
49
|
# Load the country list for the specified locale
|
49
50
|
@countries ||= {}
|
50
51
|
unless @countries[locale]
|
@@ -53,16 +54,17 @@ module Carmen
|
|
53
54
|
unless File.exists?(localized_data)
|
54
55
|
raise(UnavailableLocale, "Could not load countries for '#{locale}' locale")
|
55
56
|
end
|
56
|
-
|
57
|
+
|
57
58
|
# As the data exists, load it
|
58
59
|
@countries[locale] = YAML.load_file(localized_data)
|
59
60
|
end
|
60
|
-
|
61
|
-
# Return data after filtering excluded countries
|
62
|
-
@countries[locale].reject { |c| excluded_countries.include?( c[1] ) }
|
61
|
+
|
62
|
+
# Return data after filtering excluded countries and prepending prepended countries
|
63
|
+
result = @countries[locale].reject { |c| excluded_countries.include?( c[1] ) }
|
64
|
+
priority_countries.map { |code| [ search_collection(result, code, 1, 0), code ] } + result
|
63
65
|
end
|
64
66
|
|
65
|
-
|
67
|
+
|
66
68
|
# Returns the country name corresponding to the supplied country code, optionally using the specified locale.
|
67
69
|
# Carmen::country_name('TR') => 'Turkey'
|
68
70
|
# Carmen::country_name('TR', :locale => :de) => 'Türkei'
|
@@ -81,14 +83,14 @@ module Carmen
|
|
81
83
|
def self.country_codes
|
82
84
|
countries.map {|c| c[1] }
|
83
85
|
end
|
84
|
-
|
86
|
+
|
85
87
|
# Returns an array of all country names, optionally using the specified locale.
|
86
88
|
# Carmen::country_names => ['Afghanistan', 'Aland Islands', 'Albania', ... ]
|
87
89
|
# Carmen::country_names(:locale => :de) => ['Afghanistan', 'Åland', 'Albanien', ... ]
|
88
90
|
def self.country_names(options={})
|
89
91
|
countries(options).map {|c| c[0] }
|
90
92
|
end
|
91
|
-
|
93
|
+
|
92
94
|
# Returns the state name corresponding to the supplied state code within the default country
|
93
95
|
# Carmen::state_code('New Hampshire') => 'NH'
|
94
96
|
def self.state_name(state_code, country_code = Carmen.default_country, options={})
|
@@ -117,7 +119,7 @@ module Carmen
|
|
117
119
|
# if none is provided.
|
118
120
|
# Carmen::states('US') => [['Alabama', 'AL'], ['Arkansas', 'AR'], ... ]
|
119
121
|
# Carmen::states => [['Alabama', 'AL'], ['Arkansas', 'AR'], ... ]
|
120
|
-
def self.states(country_code = Carmen.default_country, options={})
|
122
|
+
def self.states(country_code = Carmen.default_country, options={})
|
121
123
|
raise NonexistentCountry.new("Country not found for code #{country_code}") unless country_codes.include?(country_code)
|
122
124
|
raise StatesNotSupported unless states?(country_code)
|
123
125
|
|
@@ -138,9 +140,9 @@ module Carmen
|
|
138
140
|
k == country_code
|
139
141
|
end
|
140
142
|
end
|
141
|
-
|
143
|
+
|
142
144
|
protected
|
143
|
-
|
145
|
+
|
144
146
|
def self.search_collection(collection, value, index_to_match, index_to_retrieve)
|
145
147
|
return nil if collection.nil?
|
146
148
|
collection.each do |m|
|
@@ -152,5 +154,4 @@ module Carmen
|
|
152
154
|
end
|
153
155
|
nil
|
154
156
|
end
|
155
|
-
|
156
157
|
end
|
@@ -1,23 +1,22 @@
|
|
1
1
|
module ActionView
|
2
2
|
module Helpers
|
3
3
|
module FormOptionsHelper
|
4
|
-
|
5
4
|
# Return select and option tags for the given object and method, using state_options_for_select to generate the list of option tags.
|
6
5
|
def state_select(object, method, country = Carmen.default_country, options={}, html_options={})
|
7
6
|
InstanceTag.new(object, method, self, options.delete(:object)).to_state_select_tag(country, options, html_options)
|
8
7
|
end
|
9
|
-
|
8
|
+
|
10
9
|
# Return select and option tags for the given object and method, using country_options_for_select to generate the list of option tags.
|
11
10
|
def country_select(object, method, priority_countries = nil, options = {}, html_options = {})
|
12
11
|
InstanceTag.new(object, method, self, options.delete(:object)).to_country_select_tag(priority_countries, options, html_options)
|
13
12
|
end
|
14
|
-
|
13
|
+
|
15
14
|
# Returns a string of option tags containing the state names and codes for the specified country code, or nil
|
16
15
|
# if the states are not know for that country. Supply a state code as +selected+ to have it marked as the selected option tag.
|
17
16
|
def state_options_for_select(selected = nil, country = Carmen.default_country)
|
18
17
|
options_for_select(Carmen.states(country), selected)
|
19
18
|
end
|
20
|
-
|
19
|
+
|
21
20
|
# Returns a string of option tags for pretty much any country in the world. Supply a country name as +selected+ to
|
22
21
|
# have it marked as the selected option tag. You can also supply a list of country codes as additional parameters, so
|
23
22
|
# that they will be listed above the rest of the (long) list.
|
@@ -37,7 +36,7 @@ module ActionView
|
|
37
36
|
return country_options + options_for_select(Carmen.countries, priority_country_codes.include?(selected) ? nil : selected)
|
38
37
|
end
|
39
38
|
end
|
40
|
-
|
39
|
+
|
41
40
|
class InstanceTag
|
42
41
|
def to_country_select_tag(priority_countries, options, html_options)
|
43
42
|
html_options = html_options.stringify_keys
|
@@ -46,7 +45,7 @@ module ActionView
|
|
46
45
|
opts = add_options(country_options_for_select(value, *priority_countries), options, value)
|
47
46
|
content_tag("select", opts, html_options)
|
48
47
|
end
|
49
|
-
|
48
|
+
|
50
49
|
def to_state_select_tag(country, options, html_options)
|
51
50
|
html_options = html_options.stringify_keys
|
52
51
|
add_default_name_and_id(html_options)
|
@@ -55,7 +54,7 @@ module ActionView
|
|
55
54
|
content_tag("select", opts, html_options)
|
56
55
|
end
|
57
56
|
end
|
58
|
-
|
57
|
+
|
59
58
|
class FormBuilder
|
60
59
|
def country_select(method, priority_countries = nil, options = {}, html_options = {})
|
61
60
|
@template.country_select(@object_name, method, priority_countries, options.merge(:object => @object), html_options)
|
@@ -65,4 +64,4 @@ module ActionView
|
|
65
64
|
end
|
66
65
|
end
|
67
66
|
end
|
68
|
-
end
|
67
|
+
end
|
data/lib/carmen/railtie.rb
CHANGED
@@ -1,17 +1,17 @@
|
|
1
1
|
require 'carmen'
|
2
2
|
|
3
3
|
module Carmen
|
4
|
-
|
4
|
+
|
5
5
|
class Railtie < Rails::Railtie
|
6
6
|
if defined? Rails::Railtie
|
7
7
|
require 'rails'
|
8
|
-
|
8
|
+
|
9
9
|
class Railtie < Rails::Railtie
|
10
10
|
config.after_initialize do
|
11
11
|
require 'carmen/action_view_helpers'
|
12
12
|
end
|
13
13
|
end
|
14
14
|
end
|
15
|
-
|
15
|
+
|
16
16
|
end
|
17
|
-
end
|
17
|
+
end
|
data/test/carmen_test.rb
CHANGED
@@ -1,101 +1,101 @@
|
|
1
1
|
require File.expand_path('test_helper', File.dirname(__FILE__))
|
2
2
|
|
3
3
|
class TestCarmen < Test::Unit::TestCase
|
4
|
-
|
4
|
+
|
5
5
|
def teardown
|
6
6
|
Carmen.default_locale = :en # restore default
|
7
7
|
end
|
8
|
-
|
8
|
+
|
9
9
|
def test_default_countries
|
10
10
|
assert_equal ['Aland Islands', 'AX'], Carmen.countries[1]
|
11
11
|
end
|
12
|
-
|
12
|
+
|
13
13
|
def test_localized_countries
|
14
14
|
Carmen.default_locale = :de
|
15
15
|
assert_equal ["Ascension (verwaltet von St. Helena)", 'AC'], Carmen.countries[0]
|
16
16
|
end
|
17
|
-
|
17
|
+
|
18
18
|
def test_single_localized_countries_call
|
19
19
|
# Check that we are working with the default
|
20
20
|
assert_equal ['Aland Islands', 'AX'], Carmen.countries[1]
|
21
|
-
|
21
|
+
|
22
22
|
# Switch to a different locale for one call
|
23
23
|
assert_equal ["Ascension (verwaltet von St. Helena)", 'AC'], Carmen.countries(:locale => 'de')[0]
|
24
|
-
|
24
|
+
|
25
25
|
# Make sure that we are back in the default locale
|
26
26
|
assert_equal ['Aland Islands', 'AX'], Carmen.countries[1]
|
27
27
|
end
|
28
|
-
|
28
|
+
|
29
29
|
def test_country_name
|
30
30
|
assert_equal 'United States', Carmen.country_name('US')
|
31
31
|
assert_equal 'United States', Carmen.country_name('us')
|
32
32
|
end
|
33
|
-
|
33
|
+
|
34
34
|
def test_localized_country_name
|
35
35
|
assert_equal 'Germany', Carmen.country_name('DE')
|
36
36
|
assert_equal 'Deutschland', Carmen.country_name('DE', :locale => :de)
|
37
37
|
Carmen.default_locale = :de
|
38
38
|
assert_equal 'Deutschland', Carmen.country_name('DE')
|
39
39
|
end
|
40
|
-
|
40
|
+
|
41
41
|
def test_country_code
|
42
42
|
assert_equal 'CA', Carmen.country_code('Canada')
|
43
43
|
assert_equal 'CA', Carmen.country_code('canada')
|
44
44
|
assert_equal 'IR', Carmen.country_code('Iran')
|
45
45
|
end
|
46
|
-
|
46
|
+
|
47
47
|
def test_localized_country_code
|
48
48
|
assert_equal 'DE', Carmen.country_code('Deutschland', :locale => :de)
|
49
49
|
Carmen.default_locale = :de
|
50
50
|
assert_equal 'DE', Carmen.country_code('Deutschland')
|
51
51
|
end
|
52
|
-
|
52
|
+
|
53
53
|
def test_country_codes
|
54
54
|
assert_equal 'AF', Carmen.country_codes.first
|
55
55
|
assert_equal 245, Carmen.country_codes.length
|
56
56
|
end
|
57
|
-
|
57
|
+
|
58
58
|
def test_country_names
|
59
59
|
assert_equal 'Afghanistan', Carmen.country_names.first
|
60
60
|
assert_equal 245, Carmen.country_names.length
|
61
61
|
end
|
62
|
-
|
62
|
+
|
63
63
|
def test_state_name
|
64
64
|
assert_equal 'IL', Carmen.state_code('Illinois')
|
65
65
|
assert_equal 'MB', Carmen.state_code('Manitoba', 'CA')
|
66
66
|
end
|
67
|
-
|
67
|
+
|
68
68
|
def test_state_code
|
69
69
|
assert_equal 'Arizona', Carmen.state_name('AZ')
|
70
70
|
assert_equal 'Prince Edward Island', Carmen.state_name('PE', 'CA')
|
71
71
|
end
|
72
|
-
|
72
|
+
|
73
73
|
def test_states
|
74
|
-
assert_equal
|
74
|
+
assert_equal 62, Carmen.states.length
|
75
75
|
assert_equal ['Alabama', 'AL'], Carmen.states.first
|
76
76
|
assert_equal 13, Carmen.states('CA').length
|
77
77
|
assert_equal ['Alberta', 'AB'], Carmen.states('CA').first
|
78
78
|
end
|
79
|
-
|
79
|
+
|
80
80
|
def test_state_names
|
81
|
-
assert_equal
|
81
|
+
assert_equal 62, Carmen::state_names.length
|
82
82
|
assert_equal 'Alabama', Carmen::state_names.first
|
83
83
|
assert_equal 13, Carmen.state_names('CA').length
|
84
84
|
assert_equal 'Alberta', Carmen.state_names('CA').first
|
85
85
|
end
|
86
|
-
|
86
|
+
|
87
87
|
def test_state_codes
|
88
|
-
assert_equal
|
88
|
+
assert_equal 62, Carmen::state_codes.length
|
89
89
|
assert_equal 'AL', Carmen::state_codes.first
|
90
90
|
assert_equal 13, Carmen.state_codes('CA').length
|
91
91
|
assert_equal 'AB', Carmen.state_codes('CA').first
|
92
92
|
end
|
93
|
-
|
93
|
+
|
94
94
|
def test_supported_states
|
95
95
|
assert Carmen::states?('US')
|
96
96
|
assert_equal Carmen::states?('ZZ'), false
|
97
97
|
end
|
98
|
-
|
98
|
+
|
99
99
|
def test_excluded_countries
|
100
100
|
Carmen.excluded_countries = [ 'US', 'DE' ]
|
101
101
|
countries = Carmen.countries
|
@@ -123,24 +123,34 @@ class TestCarmen < Test::Unit::TestCase
|
|
123
123
|
Carmen.excluded_states = {}
|
124
124
|
end
|
125
125
|
|
126
|
+
def test_prepended_countries
|
127
|
+
us_original_index = Carmen.countries.index(['United States', 'US'])
|
128
|
+
Carmen.priority_countries = %w(US CA AU)
|
129
|
+
countries = Carmen.countries
|
130
|
+
assert_equal 0, countries.index(['United States', 'US'])
|
131
|
+
assert_equal 1, countries.index(['Canada', 'CA'])
|
132
|
+
assert_equal 2, countries.index(['Australia', 'AU'])
|
133
|
+
|
134
|
+
assert_equal 3 + us_original_index, countries.rindex(['United States', 'US'])
|
135
|
+
|
136
|
+
Carmen.priority_countries = []
|
137
|
+
end
|
138
|
+
|
126
139
|
def test_invalid_country_exception
|
127
140
|
assert_raises Carmen::NonexistentCountry do
|
128
141
|
Carmen::state_codes('ZZ')
|
129
142
|
end
|
130
143
|
end
|
131
|
-
|
144
|
+
|
132
145
|
def test_unsupported_states_exception
|
133
146
|
assert_raises Carmen::StatesNotSupported do
|
134
147
|
Carmen::state_codes('ID')
|
135
148
|
end
|
136
149
|
end
|
137
|
-
|
150
|
+
|
138
151
|
def test_unsupported_locale
|
139
152
|
assert_raises Carmen::UnavailableLocale do
|
140
153
|
Carmen.countries(:locale => :latin)
|
141
154
|
end
|
142
155
|
end
|
143
|
-
|
144
|
-
|
145
|
-
|
146
156
|
end
|
@@ -8,36 +8,32 @@ require 'mocha'
|
|
8
8
|
require File.join('./', File.dirname(__FILE__), '../lib/carmen/action_view_helpers')
|
9
9
|
|
10
10
|
class CarmenViewHelperTest < ActionView::TestCase
|
11
|
-
|
12
11
|
include ActionView::Helpers::FormOptionsHelper
|
13
|
-
|
12
|
+
|
14
13
|
def setup
|
15
14
|
@address = stub(:state => 'IL', :country => 'US', :to_s => 'address')
|
16
15
|
end
|
17
|
-
|
16
|
+
|
18
17
|
def test_state_select_for_us
|
19
18
|
@address.stubs(:state => 'nil')
|
20
19
|
assert_equal US_STATE_SELECT_HTML.chomp, state_select(@address, :state, 'US')
|
21
20
|
end
|
22
|
-
|
21
|
+
|
23
22
|
def test_state_select_for_canada
|
24
23
|
@address.stubs(:state => 'nil')
|
25
24
|
assert_equal CANADA_STATE_SELECT_HTML.chomp, state_select(@address, :state, 'CA')
|
26
25
|
end
|
27
|
-
|
26
|
+
|
28
27
|
def test_country_options_for_select_with_priorities
|
29
28
|
assert_equal COUNTRY_SELECT_OPTIONS_HTML.chomp, country_options_for_select('US', 'US')
|
30
29
|
end
|
31
|
-
|
30
|
+
|
32
31
|
def test_selected_option
|
33
32
|
@address.stubs(:state => 'ON')
|
34
33
|
assert_match /<option value="ON" selected="selected">Ontario<\/option>/, state_select(@address, :state, 'CA')
|
35
34
|
end
|
36
|
-
|
35
|
+
|
37
36
|
COUNTRY_SELECT_OPTIONS_HTML = "<option value=\"US\" selected=\"selected\">United States</option>\n<option value=\"\" disabled=\"disabled\">-------------</option>\n<option value=\"AF\">Afghanistan</option>\n<option value=\"AX\">Aland Islands</option>\n<option value=\"AL\">Albania</option>\n<option value=\"DZ\">Algeria</option>\n<option value=\"AS\">American Samoa</option>\n<option value=\"AD\">Andorra</option>\n<option value=\"AO\">Angola</option>\n<option value=\"AI\">Anguilla</option>\n<option value=\"AQ\">Antarctica</option>\n<option value=\"AG\">Antigua and Barbuda</option>\n<option value=\"AR\">Argentina</option>\n<option value=\"AM\">Armenia</option>\n<option value=\"AW\">Aruba</option>\n<option value=\"AU\">Australia</option>\n<option value=\"AT\">Austria</option>\n<option value=\"AZ\">Azerbaijan</option>\n<option value=\"BS\">Bahamas</option>\n<option value=\"BH\">Bahrain</option>\n<option value=\"BD\">Bangladesh</option>\n<option value=\"BB\">Barbados</option>\n<option value=\"BY\">Belarus</option>\n<option value=\"BE\">Belgium</option>\n<option value=\"BZ\">Belize</option>\n<option value=\"BJ\">Benin</option>\n<option value=\"BM\">Bermuda</option>\n<option value=\"BT\">Bhutan</option>\n<option value=\"BO\">Bolivia</option>\n<option value=\"BA\">Bosnia and Herzegovina</option>\n<option value=\"BW\">Botswana</option>\n<option value=\"BV\">Bouvet Island</option>\n<option value=\"BR\">Brazil</option>\n<option value=\"IO\">British Indian Ocean Territory</option>\n<option value=\"BN\">Brunei Darussalam</option>\n<option value=\"BG\">Bulgaria</option>\n<option value=\"BF\">Burkina Faso</option>\n<option value=\"BI\">Burundi</option>\n<option value=\"KH\">Cambodia</option>\n<option value=\"CM\">Cameroon</option>\n<option value=\"CA\">Canada</option>\n<option value=\"CV\">Cape Verde</option>\n<option value=\"KY\">Cayman Islands</option>\n<option value=\"CF\">Central African Republic</option>\n<option value=\"TD\">Chad</option>\n<option value=\"CL\">Chile</option>\n<option value=\"CN\">China</option>\n<option value=\"CX\">Christmas Island</option>\n<option value=\"CC\">Cocos (Keeling) Islands</option>\n<option value=\"CO\">Colombia</option>\n<option value=\"KM\">Comoros</option>\n<option value=\"CG\">Congo</option>\n<option value=\"CD\">Congo, the Democratic Republic of the</option>\n<option value=\"CK\">Cook Islands</option>\n<option value=\"CR\">Costa Rica</option>\n<option value=\"CI\">Cote D'ivoire</option>\n<option value=\"HR\">Croatia</option>\n<option value=\"CU\">Cuba</option>\n<option value=\"CY\">Cyprus</option>\n<option value=\"CZ\">Czech Republic</option>\n<option value=\"DK\">Denmark</option>\n<option value=\"DJ\">Djibouti</option>\n<option value=\"DM\">Dominica</option>\n<option value=\"DO\">Dominican Republic</option>\n<option value=\"EC\">Ecuador</option>\n<option value=\"EG\">Egypt</option>\n<option value=\"SV\">El Salvador</option>\n<option value=\"GQ\">Equatorial Guinea</option>\n<option value=\"ER\">Eritrea</option>\n<option value=\"EE\">Estonia</option>\n<option value=\"ET\">Ethiopia</option>\n<option value=\"FK\">Falkland Islands (Malvinas)</option>\n<option value=\"FO\">Faroe Islands</option>\n<option value=\"FJ\">Fiji</option>\n<option value=\"FI\">Finland</option>\n<option value=\"FR\">France</option>\n<option value=\"GF\">French Guiana</option>\n<option value=\"PF\">French Polynesia</option>\n<option value=\"TF\">French Southern Territories</option>\n<option value=\"GA\">Gabon</option>\n<option value=\"GM\">Gambia</option>\n<option value=\"GE\">Georgia</option>\n<option value=\"DE\">Germany</option>\n<option value=\"GH\">Ghana</option>\n<option value=\"GI\">Gibraltar</option>\n<option value=\"GR\">Greece</option>\n<option value=\"GL\">Greenland</option>\n<option value=\"GD\">Grenada</option>\n<option value=\"GP\">Guadeloupe</option>\n<option value=\"GU\">Guam</option>\n<option value=\"GT\">Guatemala</option>\n<option value=\"GG\">Guernsey</option>\n<option value=\"GN\">Guinea</option>\n<option value=\"GW\">Guinea-Bissau</option>\n<option value=\"GY\">Guyana</option>\n<option value=\"HT\">Haiti</option>\n<option value=\"HM\">Heard Island and Mcdonald Islands</option>\n<option value=\"VA\">Holy See (Vatican City State)</option>\n<option value=\"HN\">Honduras</option>\n<option value=\"HK\">Hong Kong</option>\n<option value=\"HU\">Hungary</option>\n<option value=\"IS\">Iceland</option>\n<option value=\"IN\">India</option>\n<option value=\"ID\">Indonesia</option>\n<option value=\"IR\">Iran, Islamic Republic of</option>\n<option value=\"IQ\">Iraq</option>\n<option value=\"IE\">Ireland</option>\n<option value=\"IM\">Isle of Man</option>\n<option value=\"IL\">Israel</option>\n<option value=\"IT\">Italy</option>\n<option value=\"JM\">Jamaica</option>\n<option value=\"JP\">Japan</option>\n<option value=\"JE\">Jersey</option>\n<option value=\"JO\">Jordan</option>\n<option value=\"KZ\">Kazakhstan</option>\n<option value=\"KE\">Kenya</option>\n<option value=\"KI\">Kiribati</option>\n<option value=\"KP\">Korea, Democratic People's Republic of</option>\n<option value=\"KR\">Korea, Republic of</option>\n<option value=\"KV\">Kosovo</option>\n<option value=\"KW\">Kuwait</option>\n<option value=\"KG\">Kyrgyzstan</option>\n<option value=\"LA\">Lao People's Democratic Republic</option>\n<option value=\"LV\">Latvia</option>\n<option value=\"LB\">Lebanon</option>\n<option value=\"LS\">Lesotho</option>\n<option value=\"LR\">Liberia</option>\n<option value=\"LY\">Libyan Arab Jamahiriya</option>\n<option value=\"LI\">Liechtenstein</option>\n<option value=\"LT\">Lithuania</option>\n<option value=\"LU\">Luxembourg</option>\n<option value=\"MO\">Macao</option>\n<option value=\"MK\">Macedonia, the Former Yugoslav Republic of</option>\n<option value=\"MG\">Madagascar</option>\n<option value=\"MW\">Malawi</option>\n<option value=\"MY\">Malaysia</option>\n<option value=\"MV\">Maldives</option>\n<option value=\"ML\">Mali</option>\n<option value=\"MT\">Malta</option>\n<option value=\"MH\">Marshall Islands</option>\n<option value=\"MQ\">Martinique</option>\n<option value=\"MR\">Mauritania</option>\n<option value=\"MU\">Mauritius</option>\n<option value=\"YT\">Mayotte</option>\n<option value=\"MX\">Mexico</option>\n<option value=\"FM\">Micronesia, Federated States of</option>\n<option value=\"MD\">Moldova, Republic of</option>\n<option value=\"MC\">Monaco</option>\n<option value=\"MN\">Mongolia</option>\n<option value=\"ME\">Montenegro</option>\n<option value=\"MS\">Montserrat</option>\n<option value=\"MA\">Morocco</option>\n<option value=\"MZ\">Mozambique</option>\n<option value=\"MM\">Myanmar</option>\n<option value=\"NA\">Namibia</option>\n<option value=\"NR\">Nauru</option>\n<option value=\"NP\">Nepal</option>\n<option value=\"NL\">Netherlands</option>\n<option value=\"AN\">Netherlands Antilles</option>\n<option value=\"NC\">New Caledonia</option>\n<option value=\"NZ\">New Zealand</option>\n<option value=\"NI\">Nicaragua</option>\n<option value=\"NE\">Niger</option>\n<option value=\"NG\">Nigeria</option>\n<option value=\"NU\">Niue</option>\n<option value=\"NF\">Norfolk Island</option>\n<option value=\"MP\">Northern Mariana Islands</option>\n<option value=\"NO\">Norway</option>\n<option value=\"OM\">Oman</option>\n<option value=\"PK\">Pakistan</option>\n<option value=\"PW\">Palau</option>\n<option value=\"PS\">Palestinian Territory, Occupied</option>\n<option value=\"PA\">Panama</option>\n<option value=\"PG\">Papua New Guinea</option>\n<option value=\"PY\">Paraguay</option>\n<option value=\"PE\">Peru</option>\n<option value=\"PH\">Philippines</option>\n<option value=\"PN\">Pitcairn</option>\n<option value=\"PL\">Poland</option>\n<option value=\"PT\">Portugal</option>\n<option value=\"PR\">Puerto Rico</option>\n<option value=\"QA\">Qatar</option>\n<option value=\"RE\">Reunion</option>\n<option value=\"RO\">Romania</option>\n<option value=\"RU\">Russian Federation</option>\n<option value=\"RW\">Rwanda</option>\n<option value=\"SH\">Saint Helena</option>\n<option value=\"KN\">Saint Kitts and Nevis</option>\n<option value=\"LC\">Saint Lucia</option>\n<option value=\"PM\">Saint Pierre and Miquelon</option>\n<option value=\"VC\">Saint Vincent and the Grenadines</option>\n<option value=\"WS\">Samoa</option>\n<option value=\"SM\">San Marino</option>\n<option value=\"ST\">Sao Tome and Principe</option>\n<option value=\"SA\">Saudi Arabia</option>\n<option value=\"SN\">Senegal</option>\n<option value=\"RS\">Serbia</option>\n<option value=\"SC\">Seychelles</option>\n<option value=\"SL\">Sierra Leone</option>\n<option value=\"SG\">Singapore</option>\n<option value=\"SK\">Slovakia</option>\n<option value=\"SI\">Slovenia</option>\n<option value=\"SB\">Solomon Islands</option>\n<option value=\"SO\">Somalia</option>\n<option value=\"ZA\">South Africa</option>\n<option value=\"GS\">South Georgia and the South Sandwich Islands</option>\n<option value=\"ES\">Spain</option>\n<option value=\"LK\">Sri Lanka</option>\n<option value=\"SD\">Sudan</option>\n<option value=\"SR\">Suriname</option>\n<option value=\"SJ\">Svalbard and Jan Mayen</option>\n<option value=\"SZ\">Swaziland</option>\n<option value=\"SE\">Sweden</option>\n<option value=\"CH\">Switzerland</option>\n<option value=\"SY\">Syrian Arab Republic</option>\n<option value=\"TW\">Taiwan, Province of China</option>\n<option value=\"TJ\">Tajikistan</option>\n<option value=\"TZ\">Tanzania, United Republic of</option>\n<option value=\"TH\">Thailand</option>\n<option value=\"TL\">Timor-Leste</option>\n<option value=\"TG\">Togo</option>\n<option value=\"TK\">Tokelau</option>\n<option value=\"TO\">Tonga</option>\n<option value=\"TT\">Trinidad and Tobago</option>\n<option value=\"TN\">Tunisia</option>\n<option value=\"TR\">Turkey</option>\n<option value=\"TM\">Turkmenistan</option>\n<option value=\"TC\">Turks and Caicos Islands</option>\n<option value=\"TV\">Tuvalu</option>\n<option value=\"UG\">Uganda</option>\n<option value=\"UA\">Ukraine</option>\n<option value=\"AE\">United Arab Emirates</option>\n<option value=\"GB\">United Kingdom</option>\n<option value=\"US\">United States</option>\n<option value=\"UM\">United States Minor Outlying Islands</option>\n<option value=\"UY\">Uruguay</option>\n<option value=\"UZ\">Uzbekistan</option>\n<option value=\"VU\">Vanuatu</option>\n<option value=\"VE\">Venezuela</option>\n<option value=\"VN\">Viet Nam</option>\n<option value=\"VG\">Virgin Islands, British</option>\n<option value=\"VI\">Virgin Islands, U.S.</option>\n<option value=\"WF\">Wallis and Futuna</option>\n<option value=\"EH\">Western Sahara</option>\n<option value=\"YE\">Yemen</option>\n<option value=\"ZM\">Zambia</option>\n<option value=\"ZW\">Zimbabwe</option>"
|
38
|
-
|
39
|
-
US_STATE_SELECT_HTML = "<select id=\"address_state\" name=\"address[state]\"><option value=\"AL\">Alabama</option>\n<option value=\"AK\">Alaska</option>\n<option value=\"AZ\">Arizona</option>\n<option value=\"AR\">Arkansas</option>\n<option value=\"CA\">California</option>\n<option value=\"CO\">Colorado</option>\n<option value=\"CT\">Connecticut</option>\n<option value=\"DE\">Delaware</option>\n<option value=\"DC\">District Of Columbia</option>\n<option value=\"FL\">Florida</option>\n<option value=\"GA\">Georgia</option>\n<option value=\"HI\">Hawaii</option>\n<option value=\"ID\">Idaho</option>\n<option value=\"IL\">Illinois</option>\n<option value=\"IN\">Indiana</option>\n<option value=\"IA\">Iowa</option>\n<option value=\"KS\">Kansas</option>\n<option value=\"KY\">Kentucky</option>\n<option value=\"LA\">Louisiana</option>\n<option value=\"ME\">Maine</option>\n<option value=\"MD\">Maryland</option>\n<option value=\"MA\">Massachusetts</option>\n<option value=\"MI\">Michigan</option>\n<option value=\"MN\">Minnesota</option>\n<option value=\"MS\">Mississippi</option>\n<option value=\"MO\">Missouri</option>\n<option value=\"MT\">Montana</option>\n<option value=\"NE\">Nebraska</option>\n<option value=\"NV\">Nevada</option>\n<option value=\"NH\">New Hampshire</option>\n<option value=\"NJ\">New Jersey</option>\n<option value=\"NM\">New Mexico</option>\n<option value=\"NY\">New York</option>\n<option value=\"NC\">North Carolina</option>\n<option value=\"ND\">North Dakota</option>\n<option value=\"OH\">Ohio</option>\n<option value=\"OK\">Oklahoma</option>\n<option value=\"OR\">Oregon</option>\n<option value=\"PA\">Pennsylvania</option>\n<option value=\"RI\">Rhode Island</option>\n<option value=\"SC\">South Carolina</option>\n<option value=\"SD\">South Dakota</option>\n<option value=\"TN\">Tennessee</option>\n<option value=\"TX\">Texas</option>\n<option value=\"UT\">Utah</option>\n<option value=\"VT\">Vermont</option>\n<option value=\"VA\">Virginia</option>\n<option value=\"WA\">Washington</option>\n<option value=\"WV\">West Virginia</option>\n<option value=\"WI\">Wisconsin</option>\n<option value=\"WY\">Wyoming</option>\n<option value=\"FM\">Federated States of Micronesia</option>\n<option value=\"GU\">Guam</option>\n<option value=\"MH\">Marshall Islands</option>\n<option value=\"MP\">Northern Mariana Islands</option>\n<option value=\"PW\">Palau</option>\n<option value=\"PR\">Puerto Rico</option>\n<option value=\"VI\">Virgin Islands</option>\n<option value=\"AA\">Armed Forces Americas (except Canada)</option>\n<option value=\"AE\">Armed Forces Europe, Armed Forces Canada, Armed Forces Africa, or Armed Forces Middle East</option>\n<option value=\"AP\">Armed Forces Pacific</option></select>"
|
40
|
-
|
37
|
+
US_STATE_SELECT_HTML = "<select id=\"address_state\" name=\"address[state]\"><option value=\"AL\">Alabama</option>\n<option value=\"AK\">Alaska</option>\n<option value=\"AZ\">Arizona</option>\n<option value=\"AR\">Arkansas</option>\n<option value=\"CA\">California</option>\n<option value=\"CO\">Colorado</option>\n<option value=\"CT\">Connecticut</option>\n<option value=\"DE\">Delaware</option>\n<option value=\"DC\">District Of Columbia</option>\n<option value=\"FL\">Florida</option>\n<option value=\"GA\">Georgia</option>\n<option value=\"HI\">Hawaii</option>\n<option value=\"ID\">Idaho</option>\n<option value=\"IL\">Illinois</option>\n<option value=\"IN\">Indiana</option>\n<option value=\"IA\">Iowa</option>\n<option value=\"KS\">Kansas</option>\n<option value=\"KY\">Kentucky</option>\n<option value=\"LA\">Louisiana</option>\n<option value=\"ME\">Maine</option>\n<option value=\"MD\">Maryland</option>\n<option value=\"MA\">Massachusetts</option>\n<option value=\"MI\">Michigan</option>\n<option value=\"MN\">Minnesota</option>\n<option value=\"MS\">Mississippi</option>\n<option value=\"MO\">Missouri</option>\n<option value=\"MT\">Montana</option>\n<option value=\"NE\">Nebraska</option>\n<option value=\"NV\">Nevada</option>\n<option value=\"NH\">New Hampshire</option>\n<option value=\"NJ\">New Jersey</option>\n<option value=\"NM\">New Mexico</option>\n<option value=\"NY\">New York</option>\n<option value=\"NC\">North Carolina</option>\n<option value=\"ND\">North Dakota</option>\n<option value=\"OH\">Ohio</option>\n<option value=\"OK\">Oklahoma</option>\n<option value=\"OR\">Oregon</option>\n<option value=\"PA\">Pennsylvania</option>\n<option value=\"RI\">Rhode Island</option>\n<option value=\"SC\">South Carolina</option>\n<option value=\"SD\">South Dakota</option>\n<option value=\"TN\">Tennessee</option>\n<option value=\"TX\">Texas</option>\n<option value=\"UT\">Utah</option>\n<option value=\"VT\">Vermont</option>\n<option value=\"VA\">Virginia</option>\n<option value=\"WA\">Washington</option>\n<option value=\"WV\">West Virginia</option>\n<option value=\"WI\">Wisconsin</option>\n<option value=\"WY\">Wyoming</option>\n<option value=\"AS\">American Samoa</option>\n<option value=\"FM\">Federated States of Micronesia</option>\n<option value=\"GU\">Guam</option>\n<option value=\"MH\">Marshall Islands</option>\n<option value=\"MP\">Northern Mariana Islands</option>\n<option value=\"PW\">Palau</option>\n<option value=\"PR\">Puerto Rico</option>\n<option value=\"VI\">Virgin Islands</option>\n<option value=\"AA\">Armed Forces Americas (except Canada)</option>\n<option value=\"AE\">Armed Forces Europe, Canada, Africa, or Middle East</option>\n<option value=\"AP\">Armed Forces Pacific</option></select>"
|
41
38
|
CANADA_STATE_SELECT_HTML = "<select id=\"address_state\" name=\"address[state]\"><option value=\"AB\">Alberta</option>\n<option value=\"BC\">British Columbia</option>\n<option value=\"MB\">Manitoba</option>\n<option value=\"NB\">New Brunswick</option>\n<option value=\"NL\">Newfoundland and Labrador</option>\n<option value=\"NT\">Northwest Territories</option>\n<option value=\"NS\">Nova Scotia</option>\n<option value=\"NU\">Nunavut</option>\n<option value=\"ON\">Ontario</option>\n<option value=\"PE\">Prince Edward Island</option>\n<option value=\"QC\">Quebec</option>\n<option value=\"SK\">Saskatchewan</option>\n<option value=\"YT\">Yukon</option></select>"
|
42
|
-
|
43
39
|
end
|
metadata
CHANGED
@@ -1,13 +1,8 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: carmen
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
|
5
|
-
|
6
|
-
segments:
|
7
|
-
- 0
|
8
|
-
- 2
|
9
|
-
- 7
|
10
|
-
version: 0.2.7
|
4
|
+
prerelease:
|
5
|
+
version: 0.2.8
|
11
6
|
platform: ruby
|
12
7
|
authors:
|
13
8
|
- Jim Benton
|
@@ -15,65 +10,52 @@ autorequire:
|
|
15
10
|
bindir: bin
|
16
11
|
cert_chain: []
|
17
12
|
|
18
|
-
date: 2011-
|
13
|
+
date: 2011-06-01 00:00:00 -05:00
|
19
14
|
default_executable:
|
20
15
|
dependencies:
|
21
16
|
- !ruby/object:Gem::Dependency
|
22
17
|
name: jeweler
|
23
|
-
prerelease: false
|
24
18
|
requirement: &id001 !ruby/object:Gem::Requirement
|
25
19
|
none: false
|
26
20
|
requirements:
|
27
21
|
- - "="
|
28
22
|
- !ruby/object:Gem::Version
|
29
|
-
|
30
|
-
segments:
|
31
|
-
- 1
|
32
|
-
- 4
|
33
|
-
version: "1.4"
|
23
|
+
version: 1.6.2
|
34
24
|
type: :development
|
25
|
+
prerelease: false
|
35
26
|
version_requirements: *id001
|
36
27
|
- !ruby/object:Gem::Dependency
|
37
28
|
name: mocha
|
38
|
-
prerelease: false
|
39
29
|
requirement: &id002 !ruby/object:Gem::Requirement
|
40
30
|
none: false
|
41
31
|
requirements:
|
42
32
|
- - ">="
|
43
33
|
- !ruby/object:Gem::Version
|
44
|
-
hash: 3
|
45
|
-
segments:
|
46
|
-
- 0
|
47
34
|
version: "0"
|
48
35
|
type: :development
|
36
|
+
prerelease: false
|
49
37
|
version_requirements: *id002
|
50
38
|
- !ruby/object:Gem::Dependency
|
51
39
|
name: rails
|
52
|
-
prerelease: false
|
53
40
|
requirement: &id003 !ruby/object:Gem::Requirement
|
54
41
|
none: false
|
55
42
|
requirements:
|
56
43
|
- - ">="
|
57
44
|
- !ruby/object:Gem::Version
|
58
|
-
hash: 3
|
59
|
-
segments:
|
60
|
-
- 0
|
61
45
|
version: "0"
|
62
46
|
type: :development
|
47
|
+
prerelease: false
|
63
48
|
version_requirements: *id003
|
64
49
|
- !ruby/object:Gem::Dependency
|
65
50
|
name: hanna
|
66
|
-
prerelease: false
|
67
51
|
requirement: &id004 !ruby/object:Gem::Requirement
|
68
52
|
none: false
|
69
53
|
requirements:
|
70
54
|
- - ">="
|
71
55
|
- !ruby/object:Gem::Version
|
72
|
-
hash: 3
|
73
|
-
segments:
|
74
|
-
- 0
|
75
56
|
version: "0"
|
76
57
|
type: :development
|
58
|
+
prerelease: false
|
77
59
|
version_requirements: *id004
|
78
60
|
description: A collection of geographic country and state names for Ruby. Also includes replacements for Rails' country_select and state_select plugins
|
79
61
|
email: jim@autonomousmachine.com
|
@@ -84,7 +66,6 @@ extensions: []
|
|
84
66
|
extra_rdoc_files:
|
85
67
|
- README.rdoc
|
86
68
|
files:
|
87
|
-
- .gitignore
|
88
69
|
- Gemfile
|
89
70
|
- MIT-LICENSE
|
90
71
|
- README.rdoc
|
@@ -93,6 +74,8 @@ files:
|
|
93
74
|
- carmen.gemspec
|
94
75
|
- data/countries/de.yml
|
95
76
|
- data/countries/en.yml
|
77
|
+
- data/countries/hi.yml
|
78
|
+
- data/countries/nl.yml
|
96
79
|
- data/states/au.yml
|
97
80
|
- data/states/br.yml
|
98
81
|
- data/states/ca.yml
|
@@ -119,8 +102,8 @@ homepage: http://github.com/jim/carmen
|
|
119
102
|
licenses: []
|
120
103
|
|
121
104
|
post_install_message:
|
122
|
-
rdoc_options:
|
123
|
-
|
105
|
+
rdoc_options: []
|
106
|
+
|
124
107
|
require_paths:
|
125
108
|
- lib
|
126
109
|
required_ruby_version: !ruby/object:Gem::Requirement
|
@@ -128,27 +111,19 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
128
111
|
requirements:
|
129
112
|
- - ">="
|
130
113
|
- !ruby/object:Gem::Version
|
131
|
-
hash: 3
|
132
|
-
segments:
|
133
|
-
- 0
|
134
114
|
version: "0"
|
135
115
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
136
116
|
none: false
|
137
117
|
requirements:
|
138
118
|
- - ">="
|
139
119
|
- !ruby/object:Gem::Version
|
140
|
-
hash: 3
|
141
|
-
segments:
|
142
|
-
- 0
|
143
120
|
version: "0"
|
144
121
|
requirements: []
|
145
122
|
|
146
123
|
rubyforge_project:
|
147
|
-
rubygems_version: 1.
|
124
|
+
rubygems_version: 1.6.2
|
148
125
|
signing_key:
|
149
126
|
specification_version: 3
|
150
127
|
summary: A collection of geographic country and state names for Ruby
|
151
|
-
test_files:
|
152
|
-
|
153
|
-
- test/carmen_view_helper_test.rb
|
154
|
-
- test/test_helper.rb
|
128
|
+
test_files: []
|
129
|
+
|