Skip to content

Instantly share code, notes, and snippets.

@hlcfan
Last active August 29, 2015 14:01
Show Gist options
  • Select an option

  • Save hlcfan/73b42c7d35f3ea61b150 to your computer and use it in GitHub Desktop.

Select an option

Save hlcfan/73b42c7d35f3ea61b150 to your computer and use it in GitHub Desktop.
Refactor
def display_errors
error_elements = [ ]
self.errors.each do |error|
if error.downcase.include?("display name")
error_elements << :display_name
elsif error.downcase.start_with?("first name")
error_elements << :first_name
elsif error.downcase.start_with?("last name")
error_elements << :last_name
elsif error.downcase.start_with?("user name")
error_elements << :user_name
elsif error.downcase.start_with?("phone number")
error_elements << :number
elsif error.downcase.start_with?("street address 1")
error_elements << :line1
elsif error.downcase.start_with?("city")
error_elements << :city
elsif error.downcase.start_with?("state/province")
error_elements << :province
elsif error.downcase.start_with?("postal code")
error_elements << :postal_code
elsif error.downcase.start_with?("country")
error_elements << :country_code
end
end
error_elements
end
def display_errors
error_elements = []
error_types = { 'display name' => :display_name,
'first name' => :first_name,
'last name' => :last_name,
'user name' => :username,
'phone number' => :number,
'street address 1' => :line1,
'city' => :city,
'state/province' => :province,
'postal code' => :postal_code,
'country' => :country_code }
self.errors.each do |error|
error_types.each do |error_type, error_value|
error_elements << error_value if error.downcase.include?(error_type)
end
end
error_elements
end
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment