list_select 0.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.
- data/.gitignore +1 -0
- data/Gemfile +4 -0
- data/MIT-LICENSE +20 -0
- data/README.rdoc +106 -0
- data/Rakefile +3 -0
- data/init.rb +1 -0
- data/lib/generators/USAGE +15 -0
- data/lib/generators/list_select_generator.rb +7 -0
- data/lib/generators/templates/countries_cldr.en.rb +280 -0
- data/lib/generators/templates/countries_iso3166_1_alpha_2.en.rb +259 -0
- data/lib/generators/templates/google_adwords_countries.en.rb +246 -0
- data/lib/generators/templates/google_adwords_languages.en.rb +47 -0
- data/lib/generators/templates/google_interface_languages.en.rb +130 -0
- data/lib/generators/templates/google_search_languages.en.rb +51 -0
- data/lib/generators/templates/languages_cldr.en.rb +516 -0
- data/lib/list_select.rb +68 -0
- data/lib/list_select/version.rb +3 -0
- data/list_select.gemspec +25 -0
- metadata +74 -0
data/.gitignore
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
pkg/
|
data/Gemfile
ADDED
data/MIT-LICENSE
ADDED
@@ -0,0 +1,20 @@
|
|
1
|
+
Copyright (c) 2010-2011 Dmitry Naumov
|
2
|
+
|
3
|
+
Permission is hereby granted, free of charge, to any person obtaining
|
4
|
+
a copy of this software and associated documentation files (the
|
5
|
+
"Software"), to deal in the Software without restriction, including
|
6
|
+
without limitation the rights to use, copy, modify, merge, publish,
|
7
|
+
distribute, sublicense, and/or sell copies of the Software, and to
|
8
|
+
permit persons to whom the Software is furnished to do so, subject to
|
9
|
+
the following conditions:
|
10
|
+
|
11
|
+
The above copyright notice and this permission notice shall be
|
12
|
+
included in all copies or substantial portions of the Software.
|
13
|
+
|
14
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
15
|
+
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
16
|
+
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
17
|
+
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
|
18
|
+
LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
|
19
|
+
OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
|
20
|
+
WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
data/README.rdoc
ADDED
@@ -0,0 +1,106 @@
|
|
1
|
+
== ListSelect
|
2
|
+
|
3
|
+
Localiazed select lists helper.
|
4
|
+
|
5
|
+
Provides a simple helper to get an HTML select list of any lists defined in your locales files.
|
6
|
+
Has builtin lists for selecting countries, languages and more.
|
7
|
+
Adds country_select helper to integrate with SimpleForm and Formtastic.
|
8
|
+
|
9
|
+
|
10
|
+
== Requirements
|
11
|
+
|
12
|
+
Tested with Rails 3. Might work with other versions, too.
|
13
|
+
|
14
|
+
|
15
|
+
== Installation
|
16
|
+
|
17
|
+
Install a gem:
|
18
|
+
|
19
|
+
gem install list_select
|
20
|
+
|
21
|
+
Or add it to your Gemfile:
|
22
|
+
|
23
|
+
gem 'list_select'
|
24
|
+
|
25
|
+
Also you can install as a plugin:
|
26
|
+
|
27
|
+
rails plugin install git@github.com:bitzesty/list_select.git
|
28
|
+
|
29
|
+
|
30
|
+
== Example
|
31
|
+
|
32
|
+
Define any list in your locale file RAILS_ROOT/config/locales/en.rb:
|
33
|
+
|
34
|
+
{ :en => { :animals => {
|
35
|
+
:dog => 'A Dog',
|
36
|
+
:cat => 'A Cat',
|
37
|
+
:cow => 'A Cow',
|
38
|
+
:pig => 'A Pig'
|
39
|
+
}}}
|
40
|
+
|
41
|
+
Make a select list in your view(examples of different usage):
|
42
|
+
|
43
|
+
<%= f.list_select(:pet, :animals) %>
|
44
|
+
|
45
|
+
<%= list_select("user", "pet", :animals) %>
|
46
|
+
|
47
|
+
<%= list_select_tag("user_pet", :animals) %>
|
48
|
+
|
49
|
+
|
50
|
+
== Options
|
51
|
+
|
52
|
+
The only List Select specific option is a :priority_items option.
|
53
|
+
All other options are the same as for other Rails form helpers.
|
54
|
+
|
55
|
+
<%= f.list_select(:pet, :animals, :priority_items => [ :dog, :cat ]) %>
|
56
|
+
<%= f.list_select(:pet, :animals, :default => :dog) %>
|
57
|
+
<%= f.list_select(:pet, :animals, :include_blank => 'Select your pet...') %>
|
58
|
+
|
59
|
+
|
60
|
+
== Built in lists
|
61
|
+
|
62
|
+
There are built in lists. They are:
|
63
|
+
|
64
|
+
* countries_cldr.en
|
65
|
+
* countries_iso3166_1_alpha_2.en # Recommended for Chargify API
|
66
|
+
* languages_cldr.en
|
67
|
+
* google_adwords_countries.en
|
68
|
+
* google_search_languages.en
|
69
|
+
* google_adwords_languages.en
|
70
|
+
* google_interface_languages.en
|
71
|
+
|
72
|
+
You need to install list you need before you can use it.
|
73
|
+
|
74
|
+
You can do this wth list_select generator.
|
75
|
+
|
76
|
+
Example:
|
77
|
+
rails generate list_select --help # See avalable lists
|
78
|
+
rails generate list_select countries_cldr.en # Install one you need
|
79
|
+
|
80
|
+
Notice:
|
81
|
+
You might need to restart your server for installed list to be available.
|
82
|
+
|
83
|
+
|
84
|
+
== Integration with 3rd party gems
|
85
|
+
|
86
|
+
ListSelect works with SimpleForm and Formtastic.
|
87
|
+
It adds country_select helper campatible with them.
|
88
|
+
You can also customize the countries list you use.
|
89
|
+
Default country list is :countries_cldr.
|
90
|
+
|
91
|
+
See examples:
|
92
|
+
|
93
|
+
<%= f.input :country %> # will use countries_cldr list (you should install it first)
|
94
|
+
<%= f.input :country, :list => :my_country_list %> # use :my_country_list defined in your locale files
|
95
|
+
<%= f.input :country, :priority => [:US,:BY] %> # set priority options
|
96
|
+
<%= f.input :country, :prompt => 'Select one...' %> # set the prompt
|
97
|
+
<%= f.input :country, :include_blank => true %> # include blank option
|
98
|
+
|
99
|
+
|
100
|
+
== TODO
|
101
|
+
|
102
|
+
* Add tests
|
103
|
+
* Add rake tasks to refetch lists
|
104
|
+
* Add more lists and locales
|
105
|
+
|
106
|
+
Copyright (c) 2010-2011 Dmitry Naumov, released under the MIT license
|
data/Rakefile
ADDED
data/init.rb
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
require 'list_select'
|
@@ -0,0 +1,15 @@
|
|
1
|
+
Description:
|
2
|
+
Install one of ListSelect built in lists. Available lists:
|
3
|
+
countries_cldr.en
|
4
|
+
countries_iso3166_1_alpha_2.en
|
5
|
+
languages_cldr.en
|
6
|
+
google_adwords_countries.en
|
7
|
+
google_search_languages.en
|
8
|
+
google_adwords_languages.en
|
9
|
+
google_interface_languages.en
|
10
|
+
|
11
|
+
Example:
|
12
|
+
rails generate list_select LIST_NAME
|
13
|
+
|
14
|
+
This will create:
|
15
|
+
locales/list_name.rb
|
@@ -0,0 +1,280 @@
|
|
1
|
+
#
|
2
|
+
# The Unicode Consortium CLDR territories
|
3
|
+
#
|
4
|
+
# http://unicode.org/repos/cldr-tmp/trunk/diff/summary/en.html
|
5
|
+
#
|
6
|
+
|
7
|
+
{ :en => {
|
8
|
+
|
9
|
+
:countries_cldr => {
|
10
|
+
:AD => "Andorra",
|
11
|
+
:AE => "United Arab Emirates",
|
12
|
+
:AF => "Afghanistan",
|
13
|
+
:AG => "Antigua and Barbuda",
|
14
|
+
:AI => "Anguilla",
|
15
|
+
:AL => "Albania",
|
16
|
+
:AM => "Armenia",
|
17
|
+
:AN => "Netherlands Antilles",
|
18
|
+
:AO => "Angola",
|
19
|
+
:AQ => "Antarctica",
|
20
|
+
:AR => "Argentina",
|
21
|
+
:AS => "American Samoa",
|
22
|
+
:AT => "Austria",
|
23
|
+
:AU => "Australia",
|
24
|
+
:AW => "Aruba",
|
25
|
+
:AX => "Aland Islands",
|
26
|
+
:AZ => "Azerbaijan",
|
27
|
+
:BA => "Bosnia and Herzegovina",
|
28
|
+
:BB => "Barbados",
|
29
|
+
:BD => "Bangladesh",
|
30
|
+
:BE => "Belgium",
|
31
|
+
:BF => "Burkina Faso",
|
32
|
+
:BG => "Bulgaria",
|
33
|
+
:BH => "Bahrain",
|
34
|
+
:BI => "Burundi",
|
35
|
+
:BJ => "Benin",
|
36
|
+
:BL => "Saint Barthélemy",
|
37
|
+
:BM => "Bermuda",
|
38
|
+
:BN => "Brunei",
|
39
|
+
:BO => "Bolivia",
|
40
|
+
:BQ => "British Antarctic Territory",
|
41
|
+
:BR => "Brazil",
|
42
|
+
:BS => "Bahamas",
|
43
|
+
:BT => "Bhutan",
|
44
|
+
:BV => "Bouvet Island",
|
45
|
+
:BW => "Botswana",
|
46
|
+
:BY => "Belarus",
|
47
|
+
:BZ => "Belize",
|
48
|
+
:CA => "Canada",
|
49
|
+
:CC => "Cocos Islands",
|
50
|
+
:CD => "Congo - Kinshasa",
|
51
|
+
:CF => "Central African Republic",
|
52
|
+
:CG => "Congo - Brazzaville",
|
53
|
+
:CH => "Switzerland",
|
54
|
+
:CI => "Ivory Coast",
|
55
|
+
:CK => "Cook Islands",
|
56
|
+
:CL => "Chile",
|
57
|
+
:CM => "Cameroon",
|
58
|
+
:CN => "China",
|
59
|
+
:CO => "Colombia",
|
60
|
+
:CR => "Costa Rica",
|
61
|
+
:CS => "Serbia and Montenegro",
|
62
|
+
:CT => "Canton and Enderbury Islands",
|
63
|
+
:CU => "Cuba",
|
64
|
+
:CV => "Cape Verde",
|
65
|
+
:CX => "Christmas Island",
|
66
|
+
:CY => "Cyprus",
|
67
|
+
:CZ => "Czech Republic",
|
68
|
+
:DD => "East Germany",
|
69
|
+
:DE => "Germany",
|
70
|
+
:DJ => "Djibouti",
|
71
|
+
:DK => "Denmark",
|
72
|
+
:DM => "Dominica",
|
73
|
+
:DO => "Dominican Republic",
|
74
|
+
:DZ => "Algeria",
|
75
|
+
:EC => "Ecuador",
|
76
|
+
:EE => "Estonia",
|
77
|
+
:EG => "Egypt",
|
78
|
+
:EH => "Western Sahara",
|
79
|
+
:ER => "Eritrea",
|
80
|
+
:ES => "Spain",
|
81
|
+
:ET => "Ethiopia",
|
82
|
+
:FI => "Finland",
|
83
|
+
:FJ => "Fiji",
|
84
|
+
:FK => "Falkland Islands",
|
85
|
+
:FM => "Micronesia",
|
86
|
+
:FO => "Faroe Islands",
|
87
|
+
:FQ => "French Southern and Antarctic Territories",
|
88
|
+
:FR => "France",
|
89
|
+
:FX => "Metropolitan France",
|
90
|
+
:GA => "Gabon",
|
91
|
+
:GB => "United Kingdom",
|
92
|
+
:GD => "Grenada",
|
93
|
+
:GE => "Georgia",
|
94
|
+
:GF => "French Guiana",
|
95
|
+
:GG => "Guernsey",
|
96
|
+
:GH => "Ghana",
|
97
|
+
:GI => "Gibraltar",
|
98
|
+
:GL => "Greenland",
|
99
|
+
:GM => "Gambia",
|
100
|
+
:GN => "Guinea",
|
101
|
+
:GP => "Guadeloupe",
|
102
|
+
:GQ => "Equatorial Guinea",
|
103
|
+
:GR => "Greece",
|
104
|
+
:GS => "South Georgia and the South Sandwich Islands",
|
105
|
+
:GT => "Guatemala",
|
106
|
+
:GU => "Guam",
|
107
|
+
:GW => "Guinea-Bissau",
|
108
|
+
:GY => "Guyana",
|
109
|
+
:HK => "Hong Kong SAR China",
|
110
|
+
:HK => "Hong Kong",
|
111
|
+
:HM => "Heard Island and McDonald Islands",
|
112
|
+
:HN => "Honduras",
|
113
|
+
:HR => "Croatia",
|
114
|
+
:HT => "Haiti",
|
115
|
+
:HU => "Hungary",
|
116
|
+
:ID => "Indonesia",
|
117
|
+
:IE => "Ireland",
|
118
|
+
:IL => "Israel",
|
119
|
+
:IM => "Isle of Man",
|
120
|
+
:IN => "India",
|
121
|
+
:IO => "British Indian Ocean Territory",
|
122
|
+
:IQ => "Iraq",
|
123
|
+
:IR => "Iran",
|
124
|
+
:IS => "Iceland",
|
125
|
+
:IT => "Italy",
|
126
|
+
:JE => "Jersey",
|
127
|
+
:JM => "Jamaica",
|
128
|
+
:JO => "Jordan",
|
129
|
+
:JP => "Japan",
|
130
|
+
:JT => "Johnston Island",
|
131
|
+
:KE => "Kenya",
|
132
|
+
:KG => "Kyrgyzstan",
|
133
|
+
:KH => "Cambodia",
|
134
|
+
:KI => "Kiribati",
|
135
|
+
:KM => "Comoros",
|
136
|
+
:KN => "Saint Kitts and Nevis",
|
137
|
+
:KP => "North Korea",
|
138
|
+
:KR => "South Korea",
|
139
|
+
:KW => "Kuwait",
|
140
|
+
:KY => "Cayman Islands",
|
141
|
+
:KZ => "Kazakhstan",
|
142
|
+
:LA => "Laos",
|
143
|
+
:LB => "Lebanon",
|
144
|
+
:LC => "Saint Lucia",
|
145
|
+
:LI => "Liechtenstein",
|
146
|
+
:LK => "Sri Lanka",
|
147
|
+
:LR => "Liberia",
|
148
|
+
:LS => "Lesotho",
|
149
|
+
:LT => "Lithuania",
|
150
|
+
:LU => "Luxembourg",
|
151
|
+
:LV => "Latvia",
|
152
|
+
:LY => "Libya",
|
153
|
+
:MA => "Morocco",
|
154
|
+
:MC => "Monaco",
|
155
|
+
:MD => "Moldova",
|
156
|
+
:ME => "Montenegro",
|
157
|
+
:MF => "Saint Martin",
|
158
|
+
:MG => "Madagascar",
|
159
|
+
:MH => "Marshall Islands",
|
160
|
+
:MI => "Midway Islands",
|
161
|
+
:MK => "Macedonia",
|
162
|
+
:ML => "Mali",
|
163
|
+
:MM => "Myanmar",
|
164
|
+
:MN => "Mongolia",
|
165
|
+
:MO => "Macau SAR China",
|
166
|
+
:MO => "Macau",
|
167
|
+
:MP => "Northern Mariana Islands",
|
168
|
+
:MQ => "Martinique",
|
169
|
+
:MR => "Mauritania",
|
170
|
+
:MS => "Montserrat",
|
171
|
+
:MT => "Malta",
|
172
|
+
:MU => "Mauritius",
|
173
|
+
:MV => "Maldives",
|
174
|
+
:MW => "Malawi",
|
175
|
+
:MX => "Mexico",
|
176
|
+
:MY => "Malaysia",
|
177
|
+
:MZ => "Mozambique",
|
178
|
+
:NA => "Namibia",
|
179
|
+
:NC => "New Caledonia",
|
180
|
+
:NE => "Niger",
|
181
|
+
:NF => "Norfolk Island",
|
182
|
+
:NG => "Nigeria",
|
183
|
+
:NI => "Nicaragua",
|
184
|
+
:NL => "Netherlands",
|
185
|
+
:NO => "Norway",
|
186
|
+
:NP => "Nepal",
|
187
|
+
:NQ => "Dronning Maud Land",
|
188
|
+
:NR => "Nauru",
|
189
|
+
:NT => "Neutral Zone",
|
190
|
+
:NU => "Niue",
|
191
|
+
:NZ => "New Zealand",
|
192
|
+
:OM => "Oman",
|
193
|
+
:PA => "Panama",
|
194
|
+
:PC => "Pacific Islands Trust Territory",
|
195
|
+
:PE => "Peru",
|
196
|
+
:PF => "French Polynesia",
|
197
|
+
:PG => "Papua New Guinea",
|
198
|
+
:PH => "Philippines",
|
199
|
+
:PK => "Pakistan",
|
200
|
+
:PL => "Poland",
|
201
|
+
:PM => "Saint Pierre and Miquelon",
|
202
|
+
:PN => "Pitcairn",
|
203
|
+
:PR => "Puerto Rico",
|
204
|
+
:PS => "Palestinian Territory",
|
205
|
+
:PT => "Portugal",
|
206
|
+
:PU => "U.S. Miscellaneous Pacific Islands",
|
207
|
+
:PW => "Palau",
|
208
|
+
:PY => "Paraguay",
|
209
|
+
:PZ => "Panama Canal Zone",
|
210
|
+
:QA => "Qatar",
|
211
|
+
:QO => "Outlying Oceania",
|
212
|
+
:QU => "European Union",
|
213
|
+
:RE => "Reunion",
|
214
|
+
:RO => "Romania",
|
215
|
+
:RS => "Serbia",
|
216
|
+
:RU => "Russia",
|
217
|
+
:RW => "Rwanda",
|
218
|
+
:SA => "Saudi Arabia",
|
219
|
+
:SB => "Solomon Islands",
|
220
|
+
:SC => "Seychelles",
|
221
|
+
:SD => "Sudan",
|
222
|
+
:SE => "Sweden",
|
223
|
+
:SG => "Singapore",
|
224
|
+
:SH => "Saint Helena",
|
225
|
+
:SI => "Slovenia",
|
226
|
+
:SJ => "Svalbard and Jan Mayen",
|
227
|
+
:SK => "Slovakia",
|
228
|
+
:SL => "Sierra Leone",
|
229
|
+
:SM => "San Marino",
|
230
|
+
:SN => "Senegal",
|
231
|
+
:SO => "Somalia",
|
232
|
+
:SR => "Suriname",
|
233
|
+
:ST => "Sao Tome and Principe",
|
234
|
+
:SU => "Union of Soviet Socialist Republics",
|
235
|
+
:SV => "El Salvador",
|
236
|
+
:SY => "Syria",
|
237
|
+
:SZ => "Swaziland",
|
238
|
+
:TC => "Turks and Caicos Islands",
|
239
|
+
:TD => "Chad",
|
240
|
+
:TF => "French Southern Territories",
|
241
|
+
:TG => "Togo",
|
242
|
+
:TH => "Thailand",
|
243
|
+
:TJ => "Tajikistan",
|
244
|
+
:TK => "Tokelau",
|
245
|
+
:TL => "East Timor",
|
246
|
+
:TM => "Turkmenistan",
|
247
|
+
:TN => "Tunisia",
|
248
|
+
:TO => "Tonga",
|
249
|
+
:TR => "Turkey",
|
250
|
+
:TT => "Trinidad and Tobago",
|
251
|
+
:TV => "Tuvalu",
|
252
|
+
:TW => "Taiwan",
|
253
|
+
:TZ => "Tanzania",
|
254
|
+
:UA => "Ukraine",
|
255
|
+
:UG => "Uganda",
|
256
|
+
:UM => "United States Minor Outlying Islands",
|
257
|
+
:US => "United States",
|
258
|
+
:UY => "Uruguay",
|
259
|
+
:UZ => "Uzbekistan",
|
260
|
+
:VA => "Vatican",
|
261
|
+
:VC => "Saint Vincent and the Grenadines",
|
262
|
+
:VD => "North Vietnam",
|
263
|
+
:VE => "Venezuela",
|
264
|
+
:VG => "British Virgin Islands",
|
265
|
+
:VI => "U.S. Virgin Islands",
|
266
|
+
:VN => "Vietnam",
|
267
|
+
:VU => "Vanuatu",
|
268
|
+
:WF => "Wallis and Futuna",
|
269
|
+
:WK => "Wake Island",
|
270
|
+
:WS => "Samoa",
|
271
|
+
:YD => "People's Democratic Republic of Yemen",
|
272
|
+
:YE => "Yemen",
|
273
|
+
:YT => "Mayotte",
|
274
|
+
:ZA => "South Africa",
|
275
|
+
:ZM => "Zambia",
|
276
|
+
:ZW => "Zimbabwe",
|
277
|
+
:ZZ => "Unknown or Invalid Region",
|
278
|
+
}
|
279
|
+
|
280
|
+
}}
|