myexperiment-hackers
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[myexperiment-hackers] [2749] branches/rails2/vendor/plugins: added coun


From: noreply
Subject: [myexperiment-hackers] [2749] branches/rails2/vendor/plugins: added country_select plugin
Date: Mon, 24 Oct 2011 16:56:11 -0400 (EDT)

Revision
2749
Author
dgc
Date
2011-10-24 16:56:11 -0400 (Mon, 24 Oct 2011)

Log Message

added country_select plugin

Added Paths

Diff

Added: branches/rails2/vendor/plugins/country_select/MIT-LICENSE (0 => 2749)


--- branches/rails2/vendor/plugins/country_select/MIT-LICENSE	                        (rev 0)
+++ branches/rails2/vendor/plugins/country_select/MIT-LICENSE	2011-10-24 20:56:11 UTC (rev 2749)
@@ -0,0 +1,20 @@
+Copyright (c) 2008 Michael Koziarski
+
+Permission is hereby granted, free of charge, to any person obtaining
+a copy of this software and associated documentation files (the
+"Software"), to deal in the Software without restriction, including
+without limitation the rights to use, copy, modify, merge, publish,
+distribute, sublicense, and/or sell copies of the Software, and to
+permit persons to whom the Software is furnished to do so, subject to
+the following conditions:
+
+The above copyright notice and this permission notice shall be
+included in all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

Added: branches/rails2/vendor/plugins/country_select/README (0 => 2749)


--- branches/rails2/vendor/plugins/country_select/README	                        (rev 0)
+++ branches/rails2/vendor/plugins/country_select/README	2011-10-24 20:56:11 UTC (rev 2749)
@@ -0,0 +1,14 @@
+CountrySelect
+=============
+
+Provides a simple helper to get an HTML select list of countries.  The list of countries comes from the ISO 3166 standard.  While it is a relatively neutral source of country names, it will still offend some users.
+
+Users are strongly advised to evaluate the suitability of this list given their user base.
+
+Example
+=======
+
+country_select("user", "country_name")
+
+
+Copyright (c) 2008 Michael Koziarski, released under the MIT license

Added: branches/rails2/vendor/plugins/country_select/init.rb (0 => 2749)


--- branches/rails2/vendor/plugins/country_select/init.rb	                        (rev 0)
+++ branches/rails2/vendor/plugins/country_select/init.rb	2011-10-24 20:56:11 UTC (rev 2749)
@@ -0,0 +1 @@
+require 'country_select'
\ No newline at end of file

Added: branches/rails2/vendor/plugins/country_select/install.rb (0 => 2749)


--- branches/rails2/vendor/plugins/country_select/install.rb	                        (rev 0)
+++ branches/rails2/vendor/plugins/country_select/install.rb	2011-10-24 20:56:11 UTC (rev 2749)
@@ -0,0 +1,2 @@
+# Install hook code here
+puts "The list of countries provided by this plugin may offend some users. Please review it carefully before you use it"
\ No newline at end of file

Added: branches/rails2/vendor/plugins/country_select/lib/country_select.rb (0 => 2749)


--- branches/rails2/vendor/plugins/country_select/lib/country_select.rb	                        (rev 0)
+++ branches/rails2/vendor/plugins/country_select/lib/country_select.rb	2011-10-24 20:56:11 UTC (rev 2749)
@@ -0,0 +1,88 @@
+# CountrySelect
+module ActionView
+  module Helpers
+    module FormOptionsHelper
+      # Return select and option tags for the given object and method, using country_options_for_select to generate the list of option tags.
+      def country_select(object, method, priority_countries = nil, options = {}, html_options = {})
+        InstanceTag.new(object, method, self, options.delete(:object)).to_country_select_tag(priority_countries, options, html_options)
+      end
+      # Returns a string of option tags for pretty much any country in the world. Supply a country name as +selected+ to
+      # have it marked as the selected option tag. You can also supply an array of countries as +priority_countries+, so
+      # that they will be listed above the rest of the (long) list.
+      #
+      # NOTE: Only the option tags are returned, you have to wrap this call in a regular HTML select tag.
+      def country_options_for_select(selected = nil, priority_countries = nil)
+        country_options = ""
+
+        if priority_countries
+          country_options += options_for_select(priority_countries, selected)
+          country_options += "<option value=\"\" disabled=\"disabled\">-------------</option>\n"
+          # prevents selected from being included twice in the HTML which causes
+          # some browsers to select the second selected option (not priority)
+          # which makes it harder to select an alternative priority country
+          selected=nil if priority_countries.include?(selected)
+        end
+
+        return country_options + options_for_select(COUNTRIES, selected)
+      end
+      # All the countries included in the country_options output.
+      COUNTRIES = ["Afghanistan", "Aland Islands", "Albania", "Algeria", "American Samoa", "Andorra", "Angola",
+        "Anguilla", "Antarctica", "Antigua And Barbuda", "Argentina", "Armenia", "Aruba", "Australia", "Austria",
+        "Azerbaijan", "Bahamas", "Bahrain", "Bangladesh", "Barbados", "Belarus", "Belgium", "Belize", "Benin",
+        "Bermuda", "Bhutan", "Bolivia", "Bosnia and Herzegowina", "Botswana", "Bouvet Island", "Brazil",
+        "British Indian Ocean Territory", "Brunei Darussalam", "Bulgaria", "Burkina Faso", "Burundi", "Cambodia",
+        "Cameroon", "Canada", "Cape Verde", "Cayman Islands", "Central African Republic", "Chad", "Chile", "China",
+        "Christmas Island", "Cocos (Keeling) Islands", "Colombia", "Comoros", "Congo",
+        "Congo, the Democratic Republic of the", "Cook Islands", "Costa Rica", "Cote d'Ivoire", "Croatia", "Cuba",
+        "Cyprus", "Czech Republic", "Denmark", "Djibouti", "Dominica", "Dominican Republic", "Ecuador", "Egypt",
+        "El Salvador", "Equatorial Guinea", "Eritrea", "Estonia", "Ethiopia", "Falkland Islands (Malvinas)",
+        "Faroe Islands", "Fiji", "Finland", "France", "French Guiana", "French Polynesia",
+        "French Southern Territories", "Gabon", "Gambia", "Georgia", "Germany", "Ghana", "Gibraltar", "Greece", "Greenland", "Grenada", "Guadeloupe", "Guam", "Guatemala", "Guernsey", "Guinea",
+        "Guinea-Bissau", "Guyana", "Haiti", "Heard and McDonald Islands", "Holy See (Vatican City State)",
+        "Honduras", "Hong Kong", "Hungary", "Iceland", "India", "Indonesia", "Iran, Islamic Republic of", "Iraq",
+        "Ireland", "Isle of Man", "Israel", "Italy", "Jamaica", "Japan", "Jersey", "Jordan", "Kazakhstan", "Kenya",
+        "Kiribati", "Korea, Democratic People's Republic of", "Korea, Republic of", "Kuwait", "Kyrgyzstan",
+        "Lao People's Democratic Republic", "Latvia", "Lebanon", "Lesotho", "Liberia", "Libyan Arab Jamahiriya",
+        "Liechtenstein", "Lithuania", "Luxembourg", "Macao", "Macedonia, The Former Yugoslav Republic Of",
+        "Madagascar", "Malawi", "Malaysia", "Maldives", "Mali", "Malta", "Marshall Islands", "Martinique",
+        "Mauritania", "Mauritius", "Mayotte", "Mexico", "Micronesia, Federated States of", "Moldova, Republic of",
+        "Monaco", "Mongolia", "Montenegro", "Montserrat", "Morocco", "Mozambique", "Myanmar", "Namibia", "Nauru",
+        "Nepal", "Netherlands", "Netherlands Antilles", "New Caledonia", "New Zealand", "Nicaragua", "Niger",
+        "Nigeria", "Niue", "Norfolk Island", "Northern Mariana Islands", "Norway", "Oman", "Pakistan", "Palau",
+        "Palestinian Territory, Occupied", "Panama", "Papua New Guinea", "Paraguay", "Peru", "Philippines",
+        "Pitcairn", "Poland", "Portugal", "Puerto Rico", "Qatar", "Reunion", "Romania", "Russian Federation",
+        "Rwanda", "Saint Barthelemy", "Saint Helena", "Saint Kitts and Nevis", "Saint Lucia",
+        "Saint Pierre and Miquelon", "Saint Vincent and the Grenadines", "Samoa", "San Marino",
+        "Sao Tome and Principe", "Saudi Arabia", "Senegal", "Serbia", "Seychelles", "Sierra Leone", "Singapore",
+        "Slovakia", "Slovenia", "Solomon Islands", "Somalia", "South Africa",
+        "South Georgia and the South Sandwich Islands", "Spain", "Sri Lanka", "Sudan", "Suriname",
+        "Svalbard and Jan Mayen", "Swaziland", "Sweden", "Switzerland", "Syrian Arab Republic",
+        "Taiwan, Province of China", "Tajikistan", "Tanzania, United Republic of", "Thailand", "Timor-Leste",
+        "Togo", "Tokelau", "Tonga", "Trinidad and Tobago", "Tunisia", "Turkey", "Turkmenistan",
+        "Turks and Caicos Islands", "Tuvalu", "Uganda", "Ukraine", "United Arab Emirates", "United Kingdom",
+        "United States", "United States Minor Outlying Islands", "Uruguay", "Uzbekistan", "Vanuatu", "Venezuela",
+        "Viet Nam", "Virgin Islands, British", "Virgin Islands, U.S.", "Wallis and Futuna", "Western Sahara",
+        "Yemen", "Zambia", "Zimbabwe"] unless const_defined?("COUNTRIES")
+    end
+    
+    class InstanceTag
+      def to_country_select_tag(priority_countries, options, html_options)
+        html_options = html_options.stringify_keys
+        add_default_name_and_id(html_options)
+        value = value(object)
+        content_tag("select",
+          add_options(
+            country_options_for_select(value, priority_countries),
+            options, value
+          ), html_options
+        )
+      end
+    end
+    
+    class FormBuilder
+      def country_select(method, priority_countries = nil, options = {}, html_options = {})
+        @template.country_select(@object_name, method, priority_countries, options.merge(:object => @object), html_options)
+      end
+    end
+  end
+end
\ No newline at end of file

Added: branches/rails2/vendor/plugins/country_select/uninstall.rb (0 => 2749)


--- branches/rails2/vendor/plugins/country_select/uninstall.rb	                        (rev 0)
+++ branches/rails2/vendor/plugins/country_select/uninstall.rb	2011-10-24 20:56:11 UTC (rev 2749)
@@ -0,0 +1 @@
+# Uninstall hook code here

reply via email to

[Prev in Thread] Current Thread [Next in Thread]