devise_token_auth 0.2.0 → 1.0.0.rc1

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.

Potentially problematic release.


This version of devise_token_auth might be problematic. Click here for more details.

Files changed (92) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +1 -2
  3. data/Rakefile +9 -4
  4. data/app/controllers/devise_token_auth/application_controller.rb +5 -7
  5. data/app/controllers/devise_token_auth/concerns/resource_finder.rb +2 -2
  6. data/app/controllers/devise_token_auth/concerns/set_user_by_token.rb +18 -10
  7. data/app/controllers/devise_token_auth/confirmations_controller.rb +2 -2
  8. data/app/controllers/devise_token_auth/omniauth_callbacks_controller.rb +17 -23
  9. data/app/controllers/devise_token_auth/passwords_controller.rb +23 -27
  10. data/app/controllers/devise_token_auth/registrations_controller.rb +17 -15
  11. data/app/controllers/devise_token_auth/sessions_controller.rb +8 -12
  12. data/app/controllers/devise_token_auth/token_validations_controller.rb +3 -3
  13. data/app/controllers/devise_token_auth/unlocks_controller.rb +10 -12
  14. data/app/models/devise_token_auth/concerns/user.rb +27 -36
  15. data/config/initializers/devise.rb +1 -1
  16. data/lib/devise_token_auth.rb +6 -6
  17. data/lib/devise_token_auth/controllers/helpers.rb +14 -4
  18. data/lib/devise_token_auth/engine.rb +11 -13
  19. data/lib/devise_token_auth/errors.rb +1 -1
  20. data/lib/devise_token_auth/rails/routes.rb +29 -29
  21. data/lib/devise_token_auth/url.rb +6 -4
  22. data/lib/devise_token_auth/version.rb +1 -1
  23. data/lib/generators/devise_token_auth/install_generator.rb +52 -39
  24. data/lib/generators/devise_token_auth/install_views_generator.rb +5 -5
  25. data/lib/generators/devise_token_auth/templates/devise_token_auth_create_users.rb.erb +1 -1
  26. data/lib/generators/devise_token_auth/templates/{user.rb → user.rb.erb} +0 -0
  27. data/test/controllers/custom/custom_confirmations_controller_test.rb +3 -1
  28. data/test/controllers/custom/custom_omniauth_callbacks_controller_test.rb +2 -0
  29. data/test/controllers/custom/custom_passwords_controller_test.rb +4 -2
  30. data/test/controllers/custom/custom_registrations_controller_test.rb +6 -8
  31. data/test/controllers/custom/custom_sessions_controller_test.rb +5 -5
  32. data/test/controllers/custom/custom_token_validations_controller_test.rb +3 -3
  33. data/test/controllers/demo_group_controller_test.rb +2 -6
  34. data/test/controllers/demo_mang_controller_test.rb +2 -5
  35. data/test/controllers/demo_user_controller_test.rb +8 -17
  36. data/test/controllers/devise_token_auth/confirmations_controller_test.rb +2 -2
  37. data/test/controllers/devise_token_auth/passwords_controller_test.rb +13 -9
  38. data/test/controllers/devise_token_auth/registrations_controller_test.rb +8 -8
  39. data/test/controllers/devise_token_auth/sessions_controller_test.rb +22 -33
  40. data/test/controllers/devise_token_auth/token_validations_controller_test.rb +2 -6
  41. data/test/controllers/devise_token_auth/unlocks_controller_test.rb +1 -1
  42. data/test/controllers/overrides/confirmations_controller_test.rb +3 -1
  43. data/test/controllers/overrides/omniauth_callbacks_controller_test.rb +3 -1
  44. data/test/controllers/overrides/passwords_controller_test.rb +25 -29
  45. data/test/controllers/overrides/registrations_controller_test.rb +4 -2
  46. data/test/controllers/overrides/sessions_controller_test.rb +4 -4
  47. data/test/controllers/overrides/token_validations_controller_test.rb +3 -3
  48. data/test/dummy/app/controllers/custom/confirmations_controller.rb +0 -2
  49. data/test/dummy/app/controllers/custom/passwords_controller.rb +1 -4
  50. data/test/dummy/app/controllers/custom/registrations_controller.rb +1 -2
  51. data/test/dummy/app/controllers/custom/sessions_controller.rb +1 -3
  52. data/test/dummy/app/controllers/custom/token_validations_controller.rb +1 -3
  53. data/test/dummy/app/controllers/overrides/confirmations_controller.rb +3 -3
  54. data/test/dummy/app/controllers/overrides/omniauth_callbacks_controller.rb +3 -3
  55. data/test/dummy/app/controllers/overrides/passwords_controller.rb +5 -5
  56. data/test/dummy/app/controllers/overrides/registrations_controller.rb +2 -2
  57. data/test/dummy/app/controllers/overrides/sessions_controller.rb +8 -10
  58. data/test/dummy/app/controllers/overrides/token_validations_controller.rb +3 -5
  59. data/test/dummy/app/helpers/application_helper.rb +1027 -1036
  60. data/test/dummy/app/models/scoped_user.rb +2 -2
  61. data/test/dummy/app/models/unregisterable_user.rb +2 -2
  62. data/test/dummy/app/models/user.rb +1 -1
  63. data/test/dummy/config.ru +5 -3
  64. data/test/dummy/config/application.rb +2 -2
  65. data/test/dummy/config/boot.rb +2 -2
  66. data/test/dummy/config/environment.rb +1 -1
  67. data/test/dummy/config/environments/development.rb +3 -3
  68. data/test/dummy/config/environments/test.rb +1 -1
  69. data/test/dummy/config/initializers/omniauth.rb +2 -2
  70. data/test/dummy/config/routes.rb +10 -29
  71. data/test/dummy/db/migrate/20140715061447_devise_token_auth_create_users.rb +8 -8
  72. data/test/dummy/db/migrate/20140715061805_devise_token_auth_create_mangs.rb +7 -7
  73. data/test/dummy/db/migrate/20141222035835_devise_token_auth_create_only_email_users.rb +4 -4
  74. data/test/dummy/db/migrate/20141222053502_devise_token_auth_create_unregisterable_users.rb +7 -7
  75. data/test/dummy/db/migrate/20150708104536_devise_token_auth_create_unconfirmable_users.rb +7 -7
  76. data/test/dummy/db/migrate/20160103235141_devise_token_auth_create_scoped_users.rb +7 -7
  77. data/test/dummy/db/migrate/20160629184441_devise_token_auth_create_lockable_users.rb +6 -6
  78. data/test/dummy/db/schema.rb +2 -60
  79. data/test/factories/users.rb +40 -0
  80. data/test/lib/devise_token_auth/url_test.rb +6 -6
  81. data/test/lib/generators/devise_token_auth/install_generator_test.rb +22 -14
  82. data/test/lib/generators/devise_token_auth/install_generator_with_namespace_test.rb +30 -22
  83. data/test/lib/generators/devise_token_auth/install_views_generator_test.rb +1 -1
  84. data/test/models/user_test.rb +15 -46
  85. data/test/support/controllers/routes.rb +43 -0
  86. data/test/test_helper.rb +12 -12
  87. metadata +8 -14
  88. data/test/dummy/app/models/evil_user.rb +0 -5
  89. data/test/dummy/app/models/nice_user.rb +0 -9
  90. data/test/dummy/db/migrate/20140928231203_devise_token_auth_create_evil_users.rb +0 -66
  91. data/test/dummy/db/migrate/20150409095712_devise_token_auth_create_nice_users.rb +0 -63
  92. data/test/integration/navigation_test.rb +0 -12
@@ -11,9 +11,7 @@ require 'test_helper'
11
11
  class DeviseTokenAuth::TokenValidationsControllerTest < ActionDispatch::IntegrationTest
12
12
  describe DeviseTokenAuth::TokenValidationsController do
13
13
  before do
14
- @resource = users(:confirmed_email_user)
15
- @resource.skip_confirmation!
16
- @resource.save!
14
+ @resource = create(:user, :confirmed)
17
15
 
18
16
  @auth_headers = @resource.create_new_auth_token
19
17
 
@@ -68,9 +66,7 @@ class DeviseTokenAuth::TokenValidationsControllerTest < ActionDispatch::Integrat
68
66
 
69
67
  describe 'using namespaces with unused resource' do
70
68
  before do
71
- @resource = scoped_users(:confirmed_email_user)
72
- @resource.skip_confirmation!
73
- @resource.save!
69
+ @resource = create(:scoped_user, :confirmed)
74
70
 
75
71
  @auth_headers = @resource.create_new_auth_token
76
72
 
@@ -35,7 +35,7 @@ class DeviseTokenAuth::UnlocksControllerTest < ActionController::TestCase
35
35
 
36
36
  describe 'Unlocking user' do
37
37
  before do
38
- @resource = lockable_users(:unlocked_user)
38
+ @resource = create(:lockable_user)
39
39
  end
40
40
 
41
41
  describe 'request unlock without email' do
@@ -9,10 +9,12 @@ require 'test_helper'
9
9
  # was the appropriate message delivered in the json payload?
10
10
 
11
11
  class Overrides::ConfirmationsControllerTest < ActionDispatch::IntegrationTest
12
+ include OverridesControllersRoutes
13
+
12
14
  describe Overrides::ConfirmationsController do
13
15
  before do
14
16
  @redirect_url = Faker::Internet.url
15
- @new_user = evil_users(:unconfirmed_email_user)
17
+ @new_user = create(:user)
16
18
 
17
19
  # generate + send email
18
20
  @new_user.send_confirmation_instructions(redirect_url: @redirect_url)
@@ -9,8 +9,10 @@ require 'test_helper'
9
9
  # was the appropriate message delivered in the json payload?
10
10
 
11
11
  class Overrides::OmniauthCallbacksControllerTest < ActionDispatch::IntegrationTest
12
+ include OverridesControllersRoutes
13
+
12
14
  describe Overrides::OmniauthCallbacksController do
13
- setup do
15
+ before do
14
16
  OmniAuth.config.test_mode = true
15
17
  OmniAuth.config.mock_auth[:facebook] = OmniAuth::AuthHash.new(
16
18
  provider: 'facebook',
@@ -9,41 +9,34 @@ require 'test_helper'
9
9
  # was the appropriate message delivered in the json payload?
10
10
 
11
11
  class Overrides::PasswordsControllerTest < ActionDispatch::IntegrationTest
12
+ include OverridesControllersRoutes
13
+
12
14
  describe Overrides::PasswordsController do
13
15
  before do
14
- @resource = evil_users(:confirmed_email_user)
15
- @redirect_url = Faker::Internet.url
16
+ @resource = create(:user, :confirmed)
16
17
 
17
18
  post '/evil_user_auth/password',
18
19
  params: {
19
20
  email: @resource.email,
20
- redirect_url: @redirect_url
21
+ redirect_url: Faker::Internet.url
21
22
  }
22
23
 
23
- @mail = ActionMailer::Base.deliveries.last
24
+ mail = ActionMailer::Base.deliveries.last
24
25
  @resource.reload
25
26
 
26
- @mail_config_name = CGI.unescape(@mail.body.match(/config=([^&]*)&/)[1])
27
- @mail_redirect_url = CGI.unescape(@mail.body.match(/redirect_url=([^&]*)&/)[1])
28
- @mail_reset_token = @mail.body.match(/reset_password_token=(.*)\"/)[1]
27
+ mail_reset_token = mail.body.match(/reset_password_token=(.*)\"/)[1]
28
+ mail_redirect_url = CGI.unescape(mail.body.match(/redirect_url=([^&]*)&/)[1])
29
29
 
30
30
  get '/evil_user_auth/password/edit',
31
- params: { reset_password_token: @mail_reset_token,
32
- redirect_url: @mail_redirect_url }
31
+ params: {
32
+ reset_password_token: mail_reset_token,
33
+ redirect_url: mail_redirect_url
34
+ }
33
35
 
34
36
  @resource.reload
35
37
 
36
- raw_qs = response.location.split('?')[1]
37
- @qs = Rack::Utils.parse_nested_query(raw_qs)
38
-
39
- @access_token = @qs['access-token']
40
- @client = @qs['client']
41
- @client_id = @qs['client_id']
42
- @expiry = @qs['expiry']
43
- @override_proof = @qs['override_proof']
44
- @reset_password = @qs['reset_password']
45
- @token = @qs['token']
46
- @uid = @qs['uid']
38
+ _, raw_query_string = response.location.split('?')
39
+ @query_string = Rack::Utils.parse_nested_query(raw_query_string)
47
40
  end
48
41
 
49
42
  test 'response should have success redirect status' do
@@ -51,18 +44,21 @@ class Overrides::PasswordsControllerTest < ActionDispatch::IntegrationTest
51
44
  end
52
45
 
53
46
  test 'response should contain auth params + override proof' do
54
- assert @access_token
55
- assert @client
56
- assert @client_id
57
- assert @expiry
58
- assert @override_proof
59
- assert @reset_password
60
- assert @token
61
- assert @uid
47
+ assert @query_string['access-token']
48
+ assert @query_string['client']
49
+ assert @query_string['client_id']
50
+ assert @query_string['expiry']
51
+ assert @query_string['override_proof']
52
+ assert @query_string['reset_password']
53
+ assert @query_string['token']
54
+ assert @query_string['uid']
62
55
  end
63
56
 
64
57
  test 'override proof is correct' do
65
- assert_equal @override_proof, Overrides::PasswordsController::OVERRIDE_PROOF
58
+ assert_equal(
59
+ @query_string['override_proof'],
60
+ Overrides::PasswordsController::OVERRIDE_PROOF
61
+ )
66
62
  end
67
63
  end
68
64
  end
@@ -9,10 +9,12 @@ require 'test_helper'
9
9
  # was the appropriate message delivered in the json payload?
10
10
 
11
11
  class Overrides::RegistrationsControllerTest < ActionDispatch::IntegrationTest
12
+ include OverridesControllersRoutes
13
+
12
14
  describe Overrides::RegistrationsController do
13
15
  describe 'Succesful Registration update' do
14
- setup do
15
- @existing_user = evil_users(:confirmed_email_user)
16
+ before do
17
+ @existing_user = create(:user, :confirmed)
16
18
  @auth_headers = @existing_user.create_new_auth_token
17
19
  @client_id = @auth_headers['client']
18
20
  @favorite_color = 'pink'
@@ -9,15 +9,15 @@ require 'test_helper'
9
9
  # was the appropriate message delivered in the json payload?
10
10
 
11
11
  class Overrides::RegistrationsControllerTest < ActionDispatch::IntegrationTest
12
+ include OverridesControllersRoutes
13
+
12
14
  describe Overrides::RegistrationsController do
13
15
  before do
14
- @existing_user = evil_users(:confirmed_email_user)
15
- @existing_user.skip_confirmation!
16
- @existing_user.save!
16
+ @existing_user = create(:user, :confirmed)
17
17
 
18
18
  post '/evil_user_auth/sign_in',
19
19
  params: { email: @existing_user.email,
20
- password: 'secret123' }
20
+ password: @existing_user.password }
21
21
 
22
22
  @resource = assigns(:resource)
23
23
  @data = JSON.parse(response.body)
@@ -9,11 +9,11 @@ require 'test_helper'
9
9
  # was the appropriate message delivered in the json payload?
10
10
 
11
11
  class Overrides::TokenValidationsControllerTest < ActionDispatch::IntegrationTest
12
+ include OverridesControllersRoutes
13
+
12
14
  describe Overrides::TokenValidationsController do
13
15
  before do
14
- @resource = evil_users(:confirmed_email_user)
15
- @resource.skip_confirmation!
16
- @resource.save!
16
+ @resource = create(:user, :confirmed)
17
17
 
18
18
  @auth_headers = @resource.create_new_auth_token
19
19
 
@@ -1,7 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  class Custom::ConfirmationsController < DeviseTokenAuth::ConfirmationsController
4
-
5
4
  def show
6
5
  super do |resource|
7
6
  @show_block_called = true unless resource.nil?
@@ -11,5 +10,4 @@ class Custom::ConfirmationsController < DeviseTokenAuth::ConfirmationsController
11
10
  def show_block_called?
12
11
  @show_block_called == true
13
12
  end
14
-
15
13
  end
@@ -1,7 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  class Custom::PasswordsController < DeviseTokenAuth::PasswordsController
4
-
5
4
  def create
6
5
  super do |resource|
7
6
  @create_block_called = true unless resource.nil?
@@ -35,8 +34,6 @@ class Custom::PasswordsController < DeviseTokenAuth::PasswordsController
35
34
  protected
36
35
 
37
36
  def render_update_success
38
- render json: {custom: "foo"}
37
+ render json: { custom: 'foo' }
39
38
  end
40
-
41
-
42
39
  end
@@ -1,7 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  class Custom::RegistrationsController < DeviseTokenAuth::RegistrationsController
4
-
5
4
  def create
6
5
  super do |resource|
7
6
  @create_block_called = true
@@ -35,6 +34,6 @@ class Custom::RegistrationsController < DeviseTokenAuth::RegistrationsController
35
34
  protected
36
35
 
37
36
  def render_create_success
38
- render json: {custom: "foo"}
37
+ render json: { custom: 'foo' }
39
38
  end
40
39
  end
@@ -1,7 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  class Custom::SessionsController < DeviseTokenAuth::SessionsController
4
-
5
4
  def create
6
5
  super do |resource|
7
6
  @create_block_called = true unless resource.nil?
@@ -25,7 +24,6 @@ class Custom::SessionsController < DeviseTokenAuth::SessionsController
25
24
  protected
26
25
 
27
26
  def render_create_success
28
- render json: {custom: "foo"}
27
+ render json: { custom: 'foo' }
29
28
  end
30
-
31
29
  end
@@ -1,7 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  class Custom::TokenValidationsController < DeviseTokenAuth::TokenValidationsController
4
-
5
4
  def validate_token
6
5
  super do |resource|
7
6
  @validate_token_block_called = true unless resource.nil?
@@ -15,7 +14,6 @@ class Custom::TokenValidationsController < DeviseTokenAuth::TokenValidationsCont
15
14
  protected
16
15
 
17
16
  def render_validate_token_success
18
- render json: {custom: "foo"}
17
+ render json: { custom: 'foo' }
19
18
  end
20
-
21
19
  end
@@ -5,14 +5,14 @@ module Overrides
5
5
  def show
6
6
  @resource = resource_class.confirm_by_token(params[:confirmation_token])
7
7
 
8
- if @resource and @resource.id
8
+ if @resource && @resource.id
9
9
  client_id, token = @resource.create_token
10
10
  @resource.save!
11
11
 
12
12
  redirect_header_options = {
13
13
  account_confirmation_success: true,
14
14
  config: params[:config],
15
- override_proof: "(^^,)"
15
+ override_proof: '(^^,)'
16
16
  }
17
17
  redirect_headers = build_redirect_headers(token,
18
18
  client_id,
@@ -21,7 +21,7 @@ module Overrides
21
21
  redirect_to(@resource.build_auth_url(params[:redirect_url],
22
22
  redirect_headers))
23
23
  else
24
- raise ActionController::RoutingError.new('Not Found')
24
+ raise ActionController::RoutingError, 'Not Found'
25
25
  end
26
26
  end
27
27
  end
@@ -2,15 +2,15 @@
2
2
 
3
3
  module Overrides
4
4
  class OmniauthCallbacksController < DeviseTokenAuth::OmniauthCallbacksController
5
- DEFAULT_NICKNAME = "stimpy"
5
+ DEFAULT_NICKNAME = 'stimpy'.freeze
6
6
 
7
7
  def assign_provider_attrs(user, auth_hash)
8
- user.assign_attributes({
8
+ user.assign_attributes(
9
9
  nickname: DEFAULT_NICKNAME,
10
10
  name: auth_hash['info']['name'],
11
11
  image: auth_hash['info']['image'],
12
12
  email: auth_hash['info']['email']
13
- })
13
+ )
14
14
  end
15
15
  end
16
16
  end
@@ -2,15 +2,15 @@
2
2
 
3
3
  module Overrides
4
4
  class PasswordsController < DeviseTokenAuth::PasswordsController
5
- OVERRIDE_PROOF = "(^^,)"
5
+ OVERRIDE_PROOF = '(^^,)'.freeze
6
6
 
7
7
  # this is where users arrive after visiting the email confirmation link
8
8
  def edit
9
- @resource = resource_class.reset_password_by_token({
9
+ @resource = resource_class.reset_password_by_token(
10
10
  reset_password_token: resource_params[:reset_password_token]
11
- })
11
+ )
12
12
 
13
- if @resource and @resource.id
13
+ if @resource && @resource.id
14
14
  client_id, token = @resource.create_token
15
15
 
16
16
  # ensure that user is confirmed
@@ -28,7 +28,7 @@ module Overrides
28
28
  redirect_to(@resource.build_auth_url(params[:redirect_url],
29
29
  redirect_headers))
30
30
  else
31
- raise ActionController::RoutingError.new('Not Found')
31
+ raise ActionController::RoutingError, 'Not Found'
32
32
  end
33
33
  end
34
34
  end
@@ -2,7 +2,7 @@
2
2
 
3
3
  module Overrides
4
4
  class RegistrationsController < DeviseTokenAuth::RegistrationsController
5
- OVERRIDE_PROOF = "(^^,)"
5
+ OVERRIDE_PROOF = '(^^,)'.freeze
6
6
 
7
7
  def update
8
8
  if @resource
@@ -21,7 +21,7 @@ module Overrides
21
21
  else
22
22
  render json: {
23
23
  status: 'error',
24
- errors: ["User not found."]
24
+ errors: ['User not found.']
25
25
  }, status: 404
26
26
  end
27
27
  end
@@ -2,35 +2,33 @@
2
2
 
3
3
  module Overrides
4
4
  class SessionsController < DeviseTokenAuth::SessionsController
5
- OVERRIDE_PROOF = "(^^,)"
5
+ OVERRIDE_PROOF = '(^^,)'.freeze
6
6
 
7
7
  def create
8
8
  @resource = resource_class.find_by(email: resource_params[:email])
9
9
 
10
- if @resource and valid_params?(:email, resource_params[:email]) and @resource.valid_password?(resource_params[:password]) and @resource.confirmed?
10
+ if @resource && valid_params?(:email, resource_params[:email]) && @resource.valid_password?(resource_params[:password]) && @resource.confirmed?
11
11
  @client_id, @token = @resource.create_token
12
12
  @resource.save
13
13
 
14
14
  render json: {
15
- data: @resource.as_json(except: [
16
- :tokens, :created_at, :updated_at
17
- ]),
15
+ data: @resource.as_json(except: %i[tokens created_at updated_at]),
18
16
  override_proof: OVERRIDE_PROOF
19
17
  }
20
18
 
21
- elsif @resource and not @resource.confirmed?
19
+ elsif @resource && (not @resource.confirmed?)
22
20
  render json: {
23
21
  success: false,
24
22
  errors: [
25
- "A confirmation email was sent to your account at #{@resource.email}. "+
26
- "You must follow the instructions in the email before your account "+
27
- "can be activated"
23
+ "A confirmation email was sent to your account at #{@resource.email}. "\
24
+ 'You must follow the instructions in the email before your account '\
25
+ 'can be activated'
28
26
  ]
29
27
  }, status: 401
30
28
 
31
29
  else
32
30
  render json: {
33
- errors: ["Invalid login credentials. Please try again."]
31
+ errors: ['Invalid login credentials. Please try again.']
34
32
  }, status: 401
35
33
  end
36
34
  end
@@ -2,22 +2,20 @@
2
2
 
3
3
  module Overrides
4
4
  class TokenValidationsController < DeviseTokenAuth::TokenValidationsController
5
- OVERRIDE_PROOF = '(^^,)'
5
+ OVERRIDE_PROOF = '(^^,)'.freeze
6
6
 
7
7
  def validate_token
8
8
  # @resource will have been set by set_user_by_token concern
9
9
  if @resource
10
10
  render json: {
11
11
  success: true,
12
- data: @resource.as_json(except: [
13
- :tokens, :created_at, :updated_at
14
- ]),
12
+ data: @resource.as_json(except: %i[tokens created_at updated_at]),
15
13
  override_proof: OVERRIDE_PROOF
16
14
  }
17
15
  else
18
16
  render json: {
19
17
  success: false,
20
- errors: ["Invalid login credentials"]
18
+ errors: ['Invalid login credentials']
21
19
  }, status: 401
22
20
  end
23
21
  end
@@ -2,1066 +2,1057 @@
2
2
 
3
3
  module ApplicationHelper
4
4
  COLOR_NAMES = [
5
- "Acid green",
6
- "Aero",
7
- "Aero blue",
8
- "African violet",
9
- "Air Force blue",
10
- "Air superiority blue",
11
- "Alabama Crimson",
12
- "Alice blue",
13
- "Alizarin crimson",
14
- "Alloy orange",
15
- "Almond",
16
- "Amaranth",
17
- "Amaranth pink",
18
- "Amaranth purple",
19
- "Amazon",
20
- "Amber",
21
- "Amethyst",
22
- "Android green",
23
- "Anti-flash white",
24
- "Antique brass",
25
- "Antique bronze",
26
- "Antique fuchsia",
27
- "Antique ruby",
28
- "Antique white",
29
- "Ao",
30
- "Apple green",
31
- "Apricot",
32
- "Aqua",
33
- "Aquamarine",
34
- "Army green",
35
- "Arsenic",
36
- "Artichoke",
37
- "Arylide yellow",
38
- "Ash grey",
39
- "Asparagus",
40
- "Atomic tangerine",
41
- "Auburn",
42
- "Aureolin",
43
- "AuroMetalSaurus",
44
- "Avocado",
45
- "Azure",
46
- "Azure mist/web",
5
+ 'Acid green',
6
+ 'Aero',
7
+ 'Aero blue',
8
+ 'African violet',
9
+ 'Air Force blue',
10
+ 'Air superiority blue',
11
+ 'Alabama Crimson',
12
+ 'Alice blue',
13
+ 'Alizarin crimson',
14
+ 'Alloy orange',
15
+ 'Almond',
16
+ 'Amaranth',
17
+ 'Amaranth pink',
18
+ 'Amaranth purple',
19
+ 'Amazon',
20
+ 'Amber',
21
+ 'Amethyst',
22
+ 'Android green',
23
+ 'Anti-flash white',
24
+ 'Antique brass',
25
+ 'Antique bronze',
26
+ 'Antique fuchsia',
27
+ 'Antique ruby',
28
+ 'Antique white',
29
+ 'Ao',
30
+ 'Apple green',
31
+ 'Apricot',
32
+ 'Aqua',
33
+ 'Aquamarine',
34
+ 'Army green',
35
+ 'Arsenic',
36
+ 'Artichoke',
37
+ 'Arylide yellow',
38
+ 'Ash grey',
39
+ 'Asparagus',
40
+ 'Atomic tangerine',
41
+ 'Auburn',
42
+ 'Aureolin',
43
+ 'AuroMetalSaurus',
44
+ 'Avocado',
45
+ 'Azure',
46
+ 'Azure mist/web',
47
47
 
48
- "Baby blue",
49
- "Baby blue eyes",
50
- "Baby pink",
51
- "Baby powder",
52
- "Baker-Miller pink",
53
- "Ball blue",
54
- "Banana Mania",
55
- "Banana yellow",
56
- "Bangladesh green",
57
- "Barbie pink",
58
- "Barn red",
59
- "Battleship grey",
60
- "Bazaar",
61
- "Beau blue",
62
- "Beaver",
63
- "Beige",
48
+ 'Baby blue',
49
+ 'Baby blue eyes',
50
+ 'Baby pink',
51
+ 'Baby powder',
52
+ 'Baker-Miller pink',
53
+ 'Ball blue',
54
+ 'Banana Mania',
55
+ 'Banana yellow',
56
+ 'Bangladesh green',
57
+ 'Barbie pink',
58
+ 'Barn red',
59
+ 'Battleship grey',
60
+ 'Bazaar',
61
+ 'Beau blue',
62
+ 'Beaver',
63
+ 'Beige',
64
64
  "B'dazzled blue",
65
65
  "Big dip o'ruby",
66
- "Bisque",
67
- "Bistre",
68
- "Bistre brown",
69
- "Bitter lemon",
70
- "Bitter lime",
71
- "Bittersweet",
72
- "Bittersweet shimmer",
73
- "Black",
74
- "Black bean",
75
- "Black leather jacket",
76
- "Black olive",
77
- "Blanched almond",
78
- "Blast-off bronze",
79
- "Bleu de France",
80
- "Blizzard Blue",
81
- "Blond",
82
- "Blue",
83
- "Blue Bell",
84
- "Blue-gray",
85
- "Blue-green",
86
- "Blue sapphire",
87
- "Blue-violet",
88
- "Blue yonder",
89
- "Blueberry",
90
- "Bluebonnet",
91
- "Blush",
92
- "Bole",
93
- "Bondi blue",
94
- "Bone",
95
- "Boston University Red",
96
- "Bottle green",
97
- "Boysenberry",
98
- "Brandeis blue",
99
- "Brass",
100
- "Brick red",
101
- "Bright cerulean",
102
- "Bright green",
103
- "Bright lavender",
104
- "Bright lilac",
105
- "Bright maroon",
106
- "Bright navy blue",
107
- "Bright pink",
108
- "Bright turquoise",
109
- "Bright ube",
110
- "Brilliant lavender",
111
- "Brilliant rose",
112
- "Brink pink",
113
- "British racing green",
114
- "Bronze",
115
- "Bronze Yellow",
116
- "Brown",
117
- "Brown-nose",
118
- "Brunswick green",
119
- "Bubble gum",
120
- "Bubbles",
121
- "Buff",
122
- "Bud green",
123
- "Bulgarian rose",
124
- "Burgundy",
125
- "Burlywood",
126
- "Burnt orange",
127
- "Burnt sienna",
128
- "Burnt umber",
129
- "Byzantine",
130
- "Byzantium",
66
+ 'Bisque',
67
+ 'Bistre',
68
+ 'Bistre brown',
69
+ 'Bitter lemon',
70
+ 'Bitter lime',
71
+ 'Bittersweet',
72
+ 'Bittersweet shimmer',
73
+ 'Black',
74
+ 'Black bean',
75
+ 'Black leather jacket',
76
+ 'Black olive',
77
+ 'Blanched almond',
78
+ 'Blast-off bronze',
79
+ 'Bleu de France',
80
+ 'Blizzard Blue',
81
+ 'Blond',
82
+ 'Blue',
83
+ 'Blue Bell',
84
+ 'Blue-gray',
85
+ 'Blue-green',
86
+ 'Blue sapphire',
87
+ 'Blue-violet',
88
+ 'Blue yonder',
89
+ 'Blueberry',
90
+ 'Bluebonnet',
91
+ 'Blush',
92
+ 'Bole',
93
+ 'Bondi blue',
94
+ 'Bone',
95
+ 'Boston University Red',
96
+ 'Bottle green',
97
+ 'Boysenberry',
98
+ 'Brandeis blue',
99
+ 'Brass',
100
+ 'Brick red',
101
+ 'Bright cerulean',
102
+ 'Bright green',
103
+ 'Bright lavender',
104
+ 'Bright lilac',
105
+ 'Bright maroon',
106
+ 'Bright navy blue',
107
+ 'Bright pink',
108
+ 'Bright turquoise',
109
+ 'Bright ube',
110
+ 'Brilliant lavender',
111
+ 'Brilliant rose',
112
+ 'Brink pink',
113
+ 'British racing green',
114
+ 'Bronze',
115
+ 'Bronze Yellow',
116
+ 'Brown',
117
+ 'Brown-nose',
118
+ 'Brunswick green',
119
+ 'Bubble gum',
120
+ 'Bubbles',
121
+ 'Buff',
122
+ 'Bud green',
123
+ 'Bulgarian rose',
124
+ 'Burgundy',
125
+ 'Burlywood',
126
+ 'Burnt orange',
127
+ 'Burnt sienna',
128
+ 'Burnt umber',
129
+ 'Byzantine',
130
+ 'Byzantium',
131
131
 
132
- "Cadet",
133
- "Cadet blue",
134
- "Cadet grey",
135
- "Cadmium green",
136
- "Cadmium orange",
137
- "Cadmium red",
138
- "Cadmium yellow",
139
- "Cafe au lait",
140
- "Cafe noir",
141
- "Cal Poly Pomona green",
142
- "Cambridge Blue",
143
- "Camel",
144
- "Cameo pink",
145
- "Camouflage green",
146
- "Canary yellow",
147
- "Candy apple red",
148
- "Candy pink",
149
- "Capri",
150
- "Caput mortuum",
151
- "Cardinal",
152
- "Caribbean green",
153
- "Carmine",
154
- "Carmine",
155
- "Carmine pink",
156
- "Carmine red",
157
- "Carnation pink",
158
- "Carnelian",
159
- "Carolina blue",
160
- "Carrot orange",
161
- "Castleton green",
162
- "Catalina blue",
163
- "Catawba",
164
- "Cedar Chest",
165
- "Ceil",
166
- "Celadon",
167
- "Celadon blue",
168
- "Celadon green",
169
- "Celeste",
170
- "Celestial blue",
171
- "Cerise",
172
- "Cerise pink",
173
- "Cerulean",
174
- "Cerulean blue",
175
- "Cerulean frost",
176
- "CG Blue",
177
- "CG Red",
178
- "Chamoisee",
179
- "Champagne",
180
- "Charcoal",
181
- "Charleston green",
182
- "Charm pink",
183
- "Chartreuse",
184
- "Cherry",
185
- "Cherry blossom pink",
186
- "Chestnut",
187
- "China pink",
188
- "China rose",
189
- "Chinese red",
190
- "Chinese violet",
191
- "Chocolate",
192
- "Chrome yellow",
193
- "Cinereous",
194
- "Cinnabar",
195
- "Cinnamon",
196
- "Citrine",
197
- "Citron",
198
- "Claret",
199
- "Classic rose",
200
- "Cobalt",
201
- "Cocoa brown",
202
- "Coconut",
203
- "Coffee",
204
- "Columbia blue",
205
- "Congo pink",
206
- "Cool grey",
207
- "Copper",
208
- "Copper penny",
209
- "Copper red",
210
- "Copper rose",
211
- "Coquelicot",
212
- "Coral",
213
- "Coral pink",
214
- "Coral red",
215
- "Cordovan",
216
- "Corn",
217
- "Cornell Red",
218
- "Cornflower blue",
219
- "Cornsilk",
220
- "Cosmic latte",
221
- "Cotton candy",
222
- "Cream",
223
- "Crimson",
224
- "Crimson glory",
225
- "Cyan",
226
- "Cyber grape",
227
- "Cyber yellow",
132
+ 'Cadet',
133
+ 'Cadet blue',
134
+ 'Cadet grey',
135
+ 'Cadmium green',
136
+ 'Cadmium orange',
137
+ 'Cadmium red',
138
+ 'Cadmium yellow',
139
+ 'Cafe au lait',
140
+ 'Cafe noir',
141
+ 'Cal Poly Pomona green',
142
+ 'Cambridge Blue',
143
+ 'Camel',
144
+ 'Cameo pink',
145
+ 'Camouflage green',
146
+ 'Canary yellow',
147
+ 'Candy apple red',
148
+ 'Candy pink',
149
+ 'Capri',
150
+ 'Caput mortuum',
151
+ 'Cardinal',
152
+ 'Caribbean green',
153
+ 'Carmine',
154
+ 'Carmine',
155
+ 'Carmine pink',
156
+ 'Carmine red',
157
+ 'Carnation pink',
158
+ 'Carnelian',
159
+ 'Carolina blue',
160
+ 'Carrot orange',
161
+ 'Castleton green',
162
+ 'Catalina blue',
163
+ 'Catawba',
164
+ 'Cedar Chest',
165
+ 'Ceil',
166
+ 'Celadon',
167
+ 'Celadon blue',
168
+ 'Celadon green',
169
+ 'Celeste',
170
+ 'Celestial blue',
171
+ 'Cerise',
172
+ 'Cerise pink',
173
+ 'Cerulean',
174
+ 'Cerulean blue',
175
+ 'Cerulean frost',
176
+ 'CG Blue',
177
+ 'CG Red',
178
+ 'Chamoisee',
179
+ 'Champagne',
180
+ 'Charcoal',
181
+ 'Charleston green',
182
+ 'Charm pink',
183
+ 'Chartreuse',
184
+ 'Cherry',
185
+ 'Cherry blossom pink',
186
+ 'Chestnut',
187
+ 'China pink',
188
+ 'China rose',
189
+ 'Chinese red',
190
+ 'Chinese violet',
191
+ 'Chocolate',
192
+ 'Chrome yellow',
193
+ 'Cinereous',
194
+ 'Cinnabar',
195
+ 'Cinnamon',
196
+ 'Citrine',
197
+ 'Citron',
198
+ 'Claret',
199
+ 'Classic rose',
200
+ 'Cobalt',
201
+ 'Cocoa brown',
202
+ 'Coconut',
203
+ 'Coffee',
204
+ 'Columbia blue',
205
+ 'Congo pink',
206
+ 'Cool grey',
207
+ 'Copper',
208
+ 'Copper penny',
209
+ 'Copper red',
210
+ 'Copper rose',
211
+ 'Coquelicot',
212
+ 'Coral',
213
+ 'Coral pink',
214
+ 'Coral red',
215
+ 'Cordovan',
216
+ 'Corn',
217
+ 'Cornell Red',
218
+ 'Cornflower blue',
219
+ 'Cornsilk',
220
+ 'Cosmic latte',
221
+ 'Cotton candy',
222
+ 'Cream',
223
+ 'Crimson',
224
+ 'Crimson glory',
225
+ 'Cyan',
226
+ 'Cyber grape',
227
+ 'Cyber yellow',
228
228
 
229
- "Daffodil",
230
- "Dandelion",
231
- "Dark blue",
232
- "Dark blue-gray",
233
- "Dark brown",
234
- "Dark byzantium",
235
- "Dark candy apple red",
236
- "Dark cerulean",
237
- "Dark chestnut",
238
- "Dark coral",
239
- "Dark cyan",
240
- "Dark electric blue",
241
- "Dark goldenrod",
242
- "Dark gray",
243
- "Dark green",
244
- "Dark imperial blue",
245
- "Dark jungle green",
246
- "Dark khaki",
247
- "Dark lava",
248
- "Dark lavender",
249
- "Dark liver",
250
- "Dark magenta",
251
- "Dark medium gray",
252
- "Dark midnight blue",
253
- "Dark moss green",
254
- "Dark olive green",
255
- "Dark orange",
256
- "Dark orchid",
257
- "Dark pastel blue",
258
- "Dark pastel green",
259
- "Dark pastel purple",
260
- "Dark pastel red",
261
- "Dark pink",
262
- "Dark powder blue",
263
- "Dark puce",
264
- "Dark raspberry",
265
- "Dark red",
266
- "Dark salmon",
267
- "Dark scarlet",
268
- "Dark sea green",
269
- "Dark sienna",
270
- "Dark sky blue",
271
- "Dark slate blue",
272
- "Dark slate gray",
273
- "Dark spring green",
274
- "Dark tan",
275
- "Dark tangerine",
276
- "Dark taupe",
277
- "Dark terra cotta",
278
- "Dark turquoise",
279
- "Dark vanilla",
280
- "Dark violet",
281
- "Dark yellow",
282
- "Dartmouth green",
229
+ 'Daffodil',
230
+ 'Dandelion',
231
+ 'Dark blue',
232
+ 'Dark blue-gray',
233
+ 'Dark brown',
234
+ 'Dark byzantium',
235
+ 'Dark candy apple red',
236
+ 'Dark cerulean',
237
+ 'Dark chestnut',
238
+ 'Dark coral',
239
+ 'Dark cyan',
240
+ 'Dark electric blue',
241
+ 'Dark goldenrod',
242
+ 'Dark gray',
243
+ 'Dark green',
244
+ 'Dark imperial blue',
245
+ 'Dark jungle green',
246
+ 'Dark khaki',
247
+ 'Dark lava',
248
+ 'Dark lavender',
249
+ 'Dark liver',
250
+ 'Dark magenta',
251
+ 'Dark medium gray',
252
+ 'Dark midnight blue',
253
+ 'Dark moss green',
254
+ 'Dark olive green',
255
+ 'Dark orange',
256
+ 'Dark orchid',
257
+ 'Dark pastel blue',
258
+ 'Dark pastel green',
259
+ 'Dark pastel purple',
260
+ 'Dark pastel red',
261
+ 'Dark pink',
262
+ 'Dark powder blue',
263
+ 'Dark puce',
264
+ 'Dark raspberry',
265
+ 'Dark red',
266
+ 'Dark salmon',
267
+ 'Dark scarlet',
268
+ 'Dark sea green',
269
+ 'Dark sienna',
270
+ 'Dark sky blue',
271
+ 'Dark slate blue',
272
+ 'Dark slate gray',
273
+ 'Dark spring green',
274
+ 'Dark tan',
275
+ 'Dark tangerine',
276
+ 'Dark taupe',
277
+ 'Dark terra cotta',
278
+ 'Dark turquoise',
279
+ 'Dark vanilla',
280
+ 'Dark violet',
281
+ 'Dark yellow',
282
+ 'Dartmouth green',
283
283
  "Davy's grey",
284
- "Debian red",
285
- "Deep carmine",
286
- "Deep carmine pink",
287
- "Deep carrot orange",
288
- "Deep cerise",
289
- "Deep champagne",
290
- "Deep chestnut",
291
- "Deep coffee",
292
- "Deep fuchsia",
293
- "Deep jungle green",
294
- "Deep lemon",
295
- "Deep lilac",
296
- "Deep magenta",
297
- "Deep mauve",
298
- "Deep moss green",
299
- "Deep peach",
300
- "Deep pink",
301
- "Deep puce",
302
- "Deep ruby",
303
- "Deep saffron",
304
- "Deep sky blue",
305
- "Deep Space Sparkle",
306
- "Deep Taupe",
307
- "Deep Tuscan red",
308
- "Deer",
309
- "Denim",
310
- "Desert",
311
- "Desert sand",
312
- "Desire",
313
- "Diamond",
314
- "Dim gray",
315
- "Dirt",
316
- "Dodger blue",
317
- "Dogwood rose",
318
- "Dollar bill",
319
- "Donkey brown",
320
- "Drab",
321
- "Duke blue",
322
- "Dust storm",
323
- "Dutch white",
284
+ 'Debian red',
285
+ 'Deep carmine',
286
+ 'Deep carmine pink',
287
+ 'Deep carrot orange',
288
+ 'Deep cerise',
289
+ 'Deep champagne',
290
+ 'Deep chestnut',
291
+ 'Deep coffee',
292
+ 'Deep fuchsia',
293
+ 'Deep jungle green',
294
+ 'Deep lemon',
295
+ 'Deep lilac',
296
+ 'Deep magenta',
297
+ 'Deep mauve',
298
+ 'Deep moss green',
299
+ 'Deep peach',
300
+ 'Deep pink',
301
+ 'Deep puce',
302
+ 'Deep ruby',
303
+ 'Deep saffron',
304
+ 'Deep sky blue',
305
+ 'Deep Space Sparkle',
306
+ 'Deep Taupe',
307
+ 'Deep Tuscan red',
308
+ 'Deer',
309
+ 'Denim',
310
+ 'Desert',
311
+ 'Desert sand',
312
+ 'Desire',
313
+ 'Diamond',
314
+ 'Dim gray',
315
+ 'Dirt',
316
+ 'Dodger blue',
317
+ 'Dogwood rose',
318
+ 'Dollar bill',
319
+ 'Donkey brown',
320
+ 'Drab',
321
+ 'Duke blue',
322
+ 'Dust storm',
323
+ 'Dutch white',
324
324
 
325
- "Earth yellow",
326
- "Ebony",
327
- "Ecru",
328
- "Eerie black",
329
- "Eggplant",
330
- "Eggshell",
331
- "Egyptian blue",
332
- "Electric blue",
333
- "Electric crimson",
334
- "Electric cyan",
335
- "Electric green",
336
- "Electric indigo",
337
- "Electric lavender",
338
- "Electric lime",
339
- "Electric purple",
340
- "Electric ultramarine",
341
- "Electric violet",
342
- "Electric yellow",
343
- "Emerald",
344
- "Eminence",
345
- "English green",
346
- "English lavender",
347
- "English red",
348
- "English violet",
349
- "Eton blue",
350
- "Eucalyptus",
325
+ 'Earth yellow',
326
+ 'Ebony',
327
+ 'Ecru',
328
+ 'Eerie black',
329
+ 'Eggplant',
330
+ 'Eggshell',
331
+ 'Egyptian blue',
332
+ 'Electric blue',
333
+ 'Electric crimson',
334
+ 'Electric cyan',
335
+ 'Electric green',
336
+ 'Electric indigo',
337
+ 'Electric lavender',
338
+ 'Electric lime',
339
+ 'Electric purple',
340
+ 'Electric ultramarine',
341
+ 'Electric violet',
342
+ 'Electric yellow',
343
+ 'Emerald',
344
+ 'Eminence',
345
+ 'English green',
346
+ 'English lavender',
347
+ 'English red',
348
+ 'English violet',
349
+ 'Eton blue',
350
+ 'Eucalyptus',
351
351
 
352
+ 'Fallow',
353
+ 'Falu red',
354
+ 'Fandango',
355
+ 'Fandango pink',
356
+ 'Fashion fuchsia',
357
+ 'Fawn',
358
+ 'Feldgrau',
359
+ 'Feldspar',
360
+ 'Fern green',
361
+ 'Ferrari Red',
362
+ 'Field drab',
363
+ 'Firebrick',
364
+ 'Fire engine red',
365
+ 'Flame',
366
+ 'Flamingo pink',
367
+ 'Flattery',
368
+ 'Flavescent',
369
+ 'Flax',
370
+ 'Flirt',
371
+ 'Floral white',
372
+ 'Fluorescent orange',
373
+ 'Fluorescent pink',
374
+ 'Fluorescent yellow',
375
+ 'Folly',
376
+ 'Forest green',
377
+ 'French beige',
378
+ 'French bistre',
379
+ 'French blue',
380
+ 'French fuchsia',
381
+ 'French lilac',
382
+ 'French lime',
383
+ 'French mauve',
384
+ 'French pink',
385
+ 'French plum',
386
+ 'French puce',
387
+ 'French raspberry',
388
+ 'French rose',
389
+ 'French sky blue',
390
+ 'French violet',
391
+ 'French wine',
392
+ 'Fresh Air',
393
+ 'Fuchsia',
394
+ 'Fuchsia',
395
+ 'Fuchsia pink',
396
+ 'Fuchsia purple',
397
+ 'Fuchsia rose',
398
+ 'Fulvous',
399
+ 'Fuzzy Wuzzy',
352
400
 
353
- "Fallow",
354
- "Falu red",
355
- "Fandango",
356
- "Fandango pink",
357
- "Fashion fuchsia",
358
- "Fawn",
359
- "Feldgrau",
360
- "Feldspar",
361
- "Fern green",
362
- "Ferrari Red",
363
- "Field drab",
364
- "Firebrick",
365
- "Fire engine red",
366
- "Flame",
367
- "Flamingo pink",
368
- "Flattery",
369
- "Flavescent",
370
- "Flax",
371
- "Flirt",
372
- "Floral white",
373
- "Fluorescent orange",
374
- "Fluorescent pink",
375
- "Fluorescent yellow",
376
- "Folly",
377
- "Forest green",
378
- "French beige",
379
- "French bistre",
380
- "French blue",
381
- "French fuchsia",
382
- "French lilac",
383
- "French lime",
384
- "French mauve",
385
- "French pink",
386
- "French plum",
387
- "French puce",
388
- "French raspberry",
389
- "French rose",
390
- "French sky blue",
391
- "French violet",
392
- "French wine",
393
- "Fresh Air",
394
- "Fuchsia",
395
- "Fuchsia",
396
- "Fuchsia pink",
397
- "Fuchsia purple",
398
- "Fuchsia rose",
399
- "Fulvous",
400
- "Fuzzy Wuzzy",
401
-
402
- "Gainsboro",
403
- "Gamboge",
404
- "Generic viridian",
405
- "Ghost white",
406
- "Giants orange",
407
- "Ginger",
408
- "Glaucous",
409
- "Glitter",
410
- "GO green",
411
- "Gold",
412
- "Gold Fusion",
413
- "Golden brown",
414
- "Golden poppy",
415
- "Golden yellow",
416
- "Goldenrod",
417
- "Granny Smith Apple",
418
- "Grape",
419
- "Gray",
420
- "Gray-asparagus",
421
- "Gray-blue",
422
- "Green",
423
- "Green-yellow",
424
- "Grizzly",
425
- "Grullo",
426
- "Guppie green",
427
- "Halaya ube",
428
- "Han blue",
429
- "Han purple",
430
- "Hansa yellow",
431
- "Harlequin",
432
- "Harvard crimson",
433
- "Harvest gold",
434
- "Heart Gold",
435
- "Heliotrope",
436
- "Heliotrope gray",
437
- "Hollywood cerise",
438
- "Honeydew",
439
- "Honolulu blue",
401
+ 'Gainsboro',
402
+ 'Gamboge',
403
+ 'Generic viridian',
404
+ 'Ghost white',
405
+ 'Giants orange',
406
+ 'Ginger',
407
+ 'Glaucous',
408
+ 'Glitter',
409
+ 'GO green',
410
+ 'Gold',
411
+ 'Gold Fusion',
412
+ 'Golden brown',
413
+ 'Golden poppy',
414
+ 'Golden yellow',
415
+ 'Goldenrod',
416
+ 'Granny Smith Apple',
417
+ 'Grape',
418
+ 'Gray',
419
+ 'Gray-asparagus',
420
+ 'Gray-blue',
421
+ 'Green',
422
+ 'Green-yellow',
423
+ 'Grizzly',
424
+ 'Grullo',
425
+ 'Guppie green',
426
+ 'Halaya ube',
427
+ 'Han blue',
428
+ 'Han purple',
429
+ 'Hansa yellow',
430
+ 'Harlequin',
431
+ 'Harvard crimson',
432
+ 'Harvest gold',
433
+ 'Heart Gold',
434
+ 'Heliotrope',
435
+ 'Heliotrope gray',
436
+ 'Hollywood cerise',
437
+ 'Honeydew',
438
+ 'Honolulu blue',
440
439
  "Hooker's green",
441
- "Hot magenta",
442
- "Hot pink",
443
- "Hunter green",
444
-
445
-
446
- "Iceberg",
447
- "Icterine",
448
- "Illuminating Emerald",
449
- "Imperial",
450
- "Imperial blue",
451
- "Imperial purple",
452
- "Imperial red",
453
- "Inchworm",
454
- "Independence",
455
- "India green",
456
- "Indian red",
457
- "Indian yellow",
458
- "Indigo",
459
- "Indigo dye",
460
- "International Klein Blue",
461
- "International orange",
462
- "Iris",
463
- "Irresistible",
464
- "Isabelline",
465
- "Islamic green",
466
- "Italian sky blue",
467
- "Ivory",
468
- "Jade",
469
- "Japanese carmine",
470
- "Japanese indigo",
471
- "Japanese violet",
472
- "Jasmine",
473
- "Jasper",
474
- "Jazzberry jam",
475
- "Jelly Bean",
476
- "Jet",
477
- "Jonquil",
478
- "Jordy blue",
479
- "June bud",
480
- "Jungle green",
481
- "Kelly green",
482
- "Kenyan copper",
483
- "Keppel",
484
- "Khaki",
485
- "Kobe",
486
- "Kobi",
487
- "Kombu green",
488
- "KU Crimson",
489
-
490
-
491
- "La Salle Green",
492
- "Languid lavender",
493
- "Lapis lazuli",
494
- "Laser Lemon",
495
- "Laurel green",
496
- "Lava",
497
- "Lavender",
498
- "Lavender blue",
499
- "Lavender blush",
500
- "Lavender gray",
501
- "Lavender indigo",
502
- "Lavender magenta",
503
- "Lavender mist",
504
- "Lavender pink",
505
- "Lavender purple",
506
- "Lavender rose",
507
- "Lawn green",
508
- "Lemon",
509
- "Lemon chiffon",
510
- "Lemon curry",
511
- "Lemon glacier",
512
- "Lemon lime",
513
- "Lemon meringue",
514
- "Lemon yellow",
515
- "Licorice",
516
- "Liberty",
517
- "Light apricot",
518
- "Light blue",
519
- "Light brown",
520
- "Light carmine pink",
521
- "Light coral",
522
- "Light cornflower blue",
523
- "Light crimson",
524
- "Light cyan",
525
- "Light deep pink",
526
- "Light French beige",
527
- "Light fuchsia pink",
528
- "Light goldenrod yellow",
529
- "Light gray",
530
- "Light green",
531
- "Light hot pink",
532
- "Light khaki",
533
- "Light medium orchid",
534
- "Light moss green",
535
- "Light orchid",
536
- "Light pastel purple",
537
- "Light pink",
538
- "Light red ochre",
539
- "Light salmon",
540
- "Light salmon pink",
541
- "Light sea green",
542
- "Light sky blue",
543
- "Light slate gray",
544
- "Light steel blue",
545
- "Light taupe",
546
- "Light Thulian pink",
547
- "Light yellow",
548
- "Lilac",
549
- "Lime",
550
- "Lime green",
551
- "Limerick",
552
- "Lincoln green",
553
- "Linen",
554
- "Lion",
555
- "Liseran Purple",
556
- "Little boy blue",
557
- "Liver",
558
- "Liver",
559
- "Liver chestnut",
560
- "Livid",
561
- "Lumber",
562
- "Lust",
440
+ 'Hot magenta',
441
+ 'Hot pink',
442
+ 'Hunter green',
563
443
 
444
+ 'Iceberg',
445
+ 'Icterine',
446
+ 'Illuminating Emerald',
447
+ 'Imperial',
448
+ 'Imperial blue',
449
+ 'Imperial purple',
450
+ 'Imperial red',
451
+ 'Inchworm',
452
+ 'Independence',
453
+ 'India green',
454
+ 'Indian red',
455
+ 'Indian yellow',
456
+ 'Indigo',
457
+ 'Indigo dye',
458
+ 'International Klein Blue',
459
+ 'International orange',
460
+ 'Iris',
461
+ 'Irresistible',
462
+ 'Isabelline',
463
+ 'Islamic green',
464
+ 'Italian sky blue',
465
+ 'Ivory',
466
+ 'Jade',
467
+ 'Japanese carmine',
468
+ 'Japanese indigo',
469
+ 'Japanese violet',
470
+ 'Jasmine',
471
+ 'Jasper',
472
+ 'Jazzberry jam',
473
+ 'Jelly Bean',
474
+ 'Jet',
475
+ 'Jonquil',
476
+ 'Jordy blue',
477
+ 'June bud',
478
+ 'Jungle green',
479
+ 'Kelly green',
480
+ 'Kenyan copper',
481
+ 'Keppel',
482
+ 'Khaki',
483
+ 'Kobe',
484
+ 'Kobi',
485
+ 'Kombu green',
486
+ 'KU Crimson',
564
487
 
565
- "Magenta",
566
- "Magenta",
567
- "Magenta haze",
568
- "Magic mint",
569
- "Magnolia",
570
- "Mahogany",
571
- "Maize",
572
- "Majorelle Blue",
573
- "Malachite",
574
- "Manatee",
575
- "Mango Tango",
576
- "Mantis",
577
- "Mardi Gras",
578
- "Maroon",
579
- "Mauve",
580
- "Mauve taupe",
581
- "Mauvelous",
582
- "May green",
583
- "Maya blue",
584
- "Meat brown",
585
- "Medium aquamarine",
586
- "Medium blue",
587
- "Medium candy apple red",
588
- "Medium carmine",
589
- "Medium champagne",
590
- "Medium electric blue",
591
- "Medium jungle green",
592
- "Medium lavender magenta",
593
- "Medium orchid",
594
- "Medium Persian blue",
595
- "Medium purple",
596
- "Medium red-violet",
597
- "Medium ruby",
598
- "Medium sea green",
599
- "Medium sky blue",
600
- "Medium slate blue",
601
- "Medium spring bud",
602
- "Medium spring green",
603
- "Medium taupe",
604
- "Medium turquoise",
605
- "Medium Tuscan red",
606
- "Medium vermilion",
607
- "Medium violet-red",
608
- "Mellow apricot",
609
- "Mellow yellow",
610
- "Melon",
611
- "Metallic Seaweed",
612
- "Metallic Sunburst",
613
- "Mexican pink",
614
- "Midnight blue",
615
- "Milky blue",
616
- "Midnight green",
617
- "Mikado yellow",
618
- "Mindaro",
619
- "Mint",
620
- "Mint cream",
621
- "Mint green",
622
- "Misty rose",
623
- "Moccasin",
624
- "Mode beige",
625
- "Moonstone blue",
626
- "Mordant red 19",
627
- "Moss green",
628
- "Mountain Meadow",
629
- "Mountbatten pink",
630
- "MSU Green",
631
- "Mughal green",
632
- "Mulberry",
633
- "Mustard",
634
- "Myrtle green",
488
+ 'La Salle Green',
489
+ 'Languid lavender',
490
+ 'Lapis lazuli',
491
+ 'Laser Lemon',
492
+ 'Laurel green',
493
+ 'Lava',
494
+ 'Lavender',
495
+ 'Lavender blue',
496
+ 'Lavender blush',
497
+ 'Lavender gray',
498
+ 'Lavender indigo',
499
+ 'Lavender magenta',
500
+ 'Lavender mist',
501
+ 'Lavender pink',
502
+ 'Lavender purple',
503
+ 'Lavender rose',
504
+ 'Lawn green',
505
+ 'Lemon',
506
+ 'Lemon chiffon',
507
+ 'Lemon curry',
508
+ 'Lemon glacier',
509
+ 'Lemon lime',
510
+ 'Lemon meringue',
511
+ 'Lemon yellow',
512
+ 'Licorice',
513
+ 'Liberty',
514
+ 'Light apricot',
515
+ 'Light blue',
516
+ 'Light brown',
517
+ 'Light carmine pink',
518
+ 'Light coral',
519
+ 'Light cornflower blue',
520
+ 'Light crimson',
521
+ 'Light cyan',
522
+ 'Light deep pink',
523
+ 'Light French beige',
524
+ 'Light fuchsia pink',
525
+ 'Light goldenrod yellow',
526
+ 'Light gray',
527
+ 'Light green',
528
+ 'Light hot pink',
529
+ 'Light khaki',
530
+ 'Light medium orchid',
531
+ 'Light moss green',
532
+ 'Light orchid',
533
+ 'Light pastel purple',
534
+ 'Light pink',
535
+ 'Light red ochre',
536
+ 'Light salmon',
537
+ 'Light salmon pink',
538
+ 'Light sea green',
539
+ 'Light sky blue',
540
+ 'Light slate gray',
541
+ 'Light steel blue',
542
+ 'Light taupe',
543
+ 'Light Thulian pink',
544
+ 'Light yellow',
545
+ 'Lilac',
546
+ 'Lime',
547
+ 'Lime green',
548
+ 'Limerick',
549
+ 'Lincoln green',
550
+ 'Linen',
551
+ 'Lion',
552
+ 'Liseran Purple',
553
+ 'Little boy blue',
554
+ 'Liver',
555
+ 'Liver',
556
+ 'Liver chestnut',
557
+ 'Livid',
558
+ 'Lumber',
559
+ 'Lust',
635
560
 
636
- "Nadeshiko pink",
637
- "Napier green",
638
- "Naples yellow",
639
- "Navajo white",
640
- "Navy",
641
- "Navy purple",
642
- "Neon Carrot",
643
- "Neon fuchsia",
644
- "Neon green",
645
- "New Car",
646
- "New York pink",
647
- "Non-photo blue",
648
- "North Texas Green",
649
- "Nyanza",
650
- "Ocean Boat Blue",
651
- "Ochre",
652
- "Office green",
653
- "Old burgundy",
654
- "Old gold",
655
- "Old heliotrope",
656
- "Old lace",
657
- "Old lavender",
658
- "Old mauve",
659
- "Old moss green",
660
- "Old rose",
661
- "Old silver",
662
- "Olive",
663
- "Olive Drab",
664
- "Olivine",
665
- "Onyx",
666
- "Opera mauve",
667
- "Orange",
668
- "Orange peel",
669
- "Orange-red",
670
- "Orchid",
671
- "Orchid pink",
672
- "Orioles orange",
673
- "Otter brown",
674
- "Outer Space",
675
- "Outrageous Orange",
676
- "Oxford Blue",
677
- "OU Crimson Red",
561
+ 'Magenta',
562
+ 'Magenta',
563
+ 'Magenta haze',
564
+ 'Magic mint',
565
+ 'Magnolia',
566
+ 'Mahogany',
567
+ 'Maize',
568
+ 'Majorelle Blue',
569
+ 'Malachite',
570
+ 'Manatee',
571
+ 'Mango Tango',
572
+ 'Mantis',
573
+ 'Mardi Gras',
574
+ 'Maroon',
575
+ 'Mauve',
576
+ 'Mauve taupe',
577
+ 'Mauvelous',
578
+ 'May green',
579
+ 'Maya blue',
580
+ 'Meat brown',
581
+ 'Medium aquamarine',
582
+ 'Medium blue',
583
+ 'Medium candy apple red',
584
+ 'Medium carmine',
585
+ 'Medium champagne',
586
+ 'Medium electric blue',
587
+ 'Medium jungle green',
588
+ 'Medium lavender magenta',
589
+ 'Medium orchid',
590
+ 'Medium Persian blue',
591
+ 'Medium purple',
592
+ 'Medium red-violet',
593
+ 'Medium ruby',
594
+ 'Medium sea green',
595
+ 'Medium sky blue',
596
+ 'Medium slate blue',
597
+ 'Medium spring bud',
598
+ 'Medium spring green',
599
+ 'Medium taupe',
600
+ 'Medium turquoise',
601
+ 'Medium Tuscan red',
602
+ 'Medium vermilion',
603
+ 'Medium violet-red',
604
+ 'Mellow apricot',
605
+ 'Mellow yellow',
606
+ 'Melon',
607
+ 'Metallic Seaweed',
608
+ 'Metallic Sunburst',
609
+ 'Mexican pink',
610
+ 'Midnight blue',
611
+ 'Milky blue',
612
+ 'Midnight green',
613
+ 'Mikado yellow',
614
+ 'Mindaro',
615
+ 'Mint',
616
+ 'Mint cream',
617
+ 'Mint green',
618
+ 'Misty rose',
619
+ 'Moccasin',
620
+ 'Mode beige',
621
+ 'Moonstone blue',
622
+ 'Mordant red 19',
623
+ 'Moss green',
624
+ 'Mountain Meadow',
625
+ 'Mountbatten pink',
626
+ 'MSU Green',
627
+ 'Mughal green',
628
+ 'Mulberry',
629
+ 'Mustard',
630
+ 'Myrtle green',
678
631
 
632
+ 'Nadeshiko pink',
633
+ 'Napier green',
634
+ 'Naples yellow',
635
+ 'Navajo white',
636
+ 'Navy',
637
+ 'Navy purple',
638
+ 'Neon Carrot',
639
+ 'Neon fuchsia',
640
+ 'Neon green',
641
+ 'New Car',
642
+ 'New York pink',
643
+ 'Non-photo blue',
644
+ 'North Texas Green',
645
+ 'Nyanza',
646
+ 'Ocean Boat Blue',
647
+ 'Ochre',
648
+ 'Office green',
649
+ 'Old burgundy',
650
+ 'Old gold',
651
+ 'Old heliotrope',
652
+ 'Old lace',
653
+ 'Old lavender',
654
+ 'Old mauve',
655
+ 'Old moss green',
656
+ 'Old rose',
657
+ 'Old silver',
658
+ 'Olive',
659
+ 'Olive Drab',
660
+ 'Olivine',
661
+ 'Onyx',
662
+ 'Opera mauve',
663
+ 'Orange',
664
+ 'Orange peel',
665
+ 'Orange-red',
666
+ 'Orchid',
667
+ 'Orchid pink',
668
+ 'Orioles orange',
669
+ 'Otter brown',
670
+ 'Outer Space',
671
+ 'Outrageous Orange',
672
+ 'Oxford Blue',
673
+ 'OU Crimson Red',
679
674
 
680
- "Pakistan green",
681
- "Palatinate blue",
682
- "Palatinate purple",
683
- "Pale aqua",
684
- "Pale blue",
685
- "Pale brown",
686
- "Pale carmine",
687
- "Pale cerulean",
688
- "Pale chestnut",
689
- "Pale copper",
690
- "Pale cornflower blue",
691
- "Pale gold",
692
- "Pale goldenrod",
693
- "Pale green",
694
- "Pale lavender",
695
- "Pale magenta",
696
- "Pale pink",
697
- "Pale plum",
698
- "Pale red-violet",
699
- "Pale robin egg blue",
700
- "Pale silver",
701
- "Pale spring bud",
702
- "Pale taupe",
703
- "Pale turquoise",
704
- "Pale violet-red",
705
- "Pansy purple",
706
- "Paolo Veronese green",
707
- "Papaya whip",
708
- "Paradise pink",
709
- "Paris Green",
710
- "Pastel blue",
711
- "Pastel brown",
712
- "Pastel gray",
713
- "Pastel green",
714
- "Pastel magenta",
715
- "Pastel orange",
716
- "Pastel pink",
717
- "Pastel purple",
718
- "Pastel red",
719
- "Pastel violet",
720
- "Pastel yellow",
721
- "Patriarch",
675
+ 'Pakistan green',
676
+ 'Palatinate blue',
677
+ 'Palatinate purple',
678
+ 'Pale aqua',
679
+ 'Pale blue',
680
+ 'Pale brown',
681
+ 'Pale carmine',
682
+ 'Pale cerulean',
683
+ 'Pale chestnut',
684
+ 'Pale copper',
685
+ 'Pale cornflower blue',
686
+ 'Pale gold',
687
+ 'Pale goldenrod',
688
+ 'Pale green',
689
+ 'Pale lavender',
690
+ 'Pale magenta',
691
+ 'Pale pink',
692
+ 'Pale plum',
693
+ 'Pale red-violet',
694
+ 'Pale robin egg blue',
695
+ 'Pale silver',
696
+ 'Pale spring bud',
697
+ 'Pale taupe',
698
+ 'Pale turquoise',
699
+ 'Pale violet-red',
700
+ 'Pansy purple',
701
+ 'Paolo Veronese green',
702
+ 'Papaya whip',
703
+ 'Paradise pink',
704
+ 'Paris Green',
705
+ 'Pastel blue',
706
+ 'Pastel brown',
707
+ 'Pastel gray',
708
+ 'Pastel green',
709
+ 'Pastel magenta',
710
+ 'Pastel orange',
711
+ 'Pastel pink',
712
+ 'Pastel purple',
713
+ 'Pastel red',
714
+ 'Pastel violet',
715
+ 'Pastel yellow',
716
+ 'Patriarch',
722
717
  "Payne's grey",
723
- "Peach",
724
- "Peach",
725
- "Peach-orange",
726
- "Peach puff",
727
- "Peach-yellow",
728
- "Pear",
729
- "Pearl",
730
- "Pearl Aqua",
731
- "Pearly purple",
732
- "Peridot",
733
- "Periwinkle",
734
- "Persian blue",
735
- "Persian green",
736
- "Persian indigo",
737
- "Persian orange",
738
- "Persian pink",
739
- "Persian plum",
740
- "Persian red",
741
- "Persian rose",
742
- "Persimmon",
743
- "Peru",
744
- "Phlox",
745
- "Phthalo blue",
746
- "Phthalo green",
747
- "Picton blue",
748
- "Pictorial carmine",
749
- "Piggy pink",
750
- "Pine green",
751
- "Pineapple",
752
- "Pink",
753
- "Pink lace",
754
- "Pink lavender",
755
- "Pink-orange",
756
- "Pink pearl",
757
- "Pink Sherbet",
758
- "Pistachio",
759
- "Platinum",
760
- "Plum",
761
- "Pomp and Power",
762
- "Popstar",
763
- "Portland Orange",
764
- "Powder blue",
765
- "Princeton orange",
766
- "Prune",
767
- "Prussian blue",
768
- "Psychedelic purple",
769
- "Puce",
770
- "Puce red",
771
- "Pullman Brown",
772
- "Pumpkin",
773
- "Purple",
774
- "Purple Heart",
775
- "Purple mountain majesty",
776
- "Purple navy",
777
- "Purple pizzazz",
778
- "Purple taupe",
779
- "Purpureus",
718
+ 'Peach',
719
+ 'Peach',
720
+ 'Peach-orange',
721
+ 'Peach puff',
722
+ 'Peach-yellow',
723
+ 'Pear',
724
+ 'Pearl',
725
+ 'Pearl Aqua',
726
+ 'Pearly purple',
727
+ 'Peridot',
728
+ 'Periwinkle',
729
+ 'Persian blue',
730
+ 'Persian green',
731
+ 'Persian indigo',
732
+ 'Persian orange',
733
+ 'Persian pink',
734
+ 'Persian plum',
735
+ 'Persian red',
736
+ 'Persian rose',
737
+ 'Persimmon',
738
+ 'Peru',
739
+ 'Phlox',
740
+ 'Phthalo blue',
741
+ 'Phthalo green',
742
+ 'Picton blue',
743
+ 'Pictorial carmine',
744
+ 'Piggy pink',
745
+ 'Pine green',
746
+ 'Pineapple',
747
+ 'Pink',
748
+ 'Pink lace',
749
+ 'Pink lavender',
750
+ 'Pink-orange',
751
+ 'Pink pearl',
752
+ 'Pink Sherbet',
753
+ 'Pistachio',
754
+ 'Platinum',
755
+ 'Plum',
756
+ 'Pomp and Power',
757
+ 'Popstar',
758
+ 'Portland Orange',
759
+ 'Powder blue',
760
+ 'Princeton orange',
761
+ 'Prune',
762
+ 'Prussian blue',
763
+ 'Psychedelic purple',
764
+ 'Puce',
765
+ 'Puce red',
766
+ 'Pullman Brown',
767
+ 'Pumpkin',
768
+ 'Purple',
769
+ 'Purple Heart',
770
+ 'Purple mountain majesty',
771
+ 'Purple navy',
772
+ 'Purple pizzazz',
773
+ 'Purple taupe',
774
+ 'Purpureus',
780
775
 
776
+ 'Quartz',
777
+ 'Queen blue',
778
+ 'Queen pink',
779
+ 'Quinacridone magenta',
780
+ 'Rackley',
781
+ 'Radical Red',
782
+ 'Rajah',
783
+ 'Raspberry',
784
+ 'Raspberry glace',
785
+ 'Raspberry pink',
786
+ 'Raspberry rose',
787
+ 'Raw umber',
788
+ 'Razzle dazzle rose',
789
+ 'Razzmatazz',
790
+ 'Razzmic Berry',
791
+ 'Rebecca Purple',
792
+ 'Red',
793
+ 'Red',
794
+ 'Red-brown',
795
+ 'Red devil',
796
+ 'Red-orange',
797
+ 'Red-purple',
798
+ 'Red-violet',
799
+ 'Redwood',
800
+ 'Regalia',
801
+ 'Resolution blue',
802
+ 'Rhythm',
803
+ 'Rich black',
804
+ 'Rich brilliant lavender',
805
+ 'Rich carmine',
806
+ 'Rich electric blue',
807
+ 'Rich lavender',
808
+ 'Rich lilac',
809
+ 'Rich maroon',
810
+ 'Rifle green',
811
+ 'Roast coffee',
812
+ 'Robin egg blue',
813
+ 'Rocket metallic',
814
+ 'Roman silver',
815
+ 'Rose',
816
+ 'Rose bonbon',
817
+ 'Rose ebony',
818
+ 'Rose gold',
819
+ 'Rose madder',
820
+ 'Rose pink',
821
+ 'Rose quartz',
822
+ 'Rose red',
823
+ 'Rose taupe',
824
+ 'Rose vale',
825
+ 'Rosewood',
826
+ 'Rosso corsa',
827
+ 'Rosy brown',
828
+ 'Royal azure',
829
+ 'Royal blue',
830
+ 'Royal blue',
831
+ 'Royal fuchsia',
832
+ 'Royal purple',
833
+ 'Royal yellow',
834
+ 'Ruber',
835
+ 'Rubine red',
836
+ 'Ruby',
837
+ 'Ruby red',
838
+ 'Ruddy',
839
+ 'Ruddy brown',
840
+ 'Ruddy pink',
841
+ 'Rufous',
842
+ 'Russet',
843
+ 'Russian green',
844
+ 'Russian violet',
845
+ 'Rust',
846
+ 'Rusty red',
781
847
 
782
- "Quartz",
783
- "Queen blue",
784
- "Queen pink",
785
- "Quinacridone magenta",
786
- "Rackley",
787
- "Radical Red",
788
- "Rajah",
789
- "Raspberry",
790
- "Raspberry glace",
791
- "Raspberry pink",
792
- "Raspberry rose",
793
- "Raw umber",
794
- "Razzle dazzle rose",
795
- "Razzmatazz",
796
- "Razzmic Berry",
797
- "Rebecca Purple",
798
- "Red",
799
- "Red",
800
- "Red-brown",
801
- "Red devil",
802
- "Red-orange",
803
- "Red-purple",
804
- "Red-violet",
805
- "Redwood",
806
- "Regalia",
807
- "Resolution blue",
808
- "Rhythm",
809
- "Rich black",
810
- "Rich brilliant lavender",
811
- "Rich carmine",
812
- "Rich electric blue",
813
- "Rich lavender",
814
- "Rich lilac",
815
- "Rich maroon",
816
- "Rifle green",
817
- "Roast coffee",
818
- "Robin egg blue",
819
- "Rocket metallic",
820
- "Roman silver",
821
- "Rose",
822
- "Rose bonbon",
823
- "Rose ebony",
824
- "Rose gold",
825
- "Rose madder",
826
- "Rose pink",
827
- "Rose quartz",
828
- "Rose red",
829
- "Rose taupe",
830
- "Rose vale",
831
- "Rosewood",
832
- "Rosso corsa",
833
- "Rosy brown",
834
- "Royal azure",
835
- "Royal blue",
836
- "Royal blue",
837
- "Royal fuchsia",
838
- "Royal purple",
839
- "Royal yellow",
840
- "Ruber",
841
- "Rubine red",
842
- "Ruby",
843
- "Ruby red",
844
- "Ruddy",
845
- "Ruddy brown",
846
- "Ruddy pink",
847
- "Rufous",
848
- "Russet",
849
- "Russian green",
850
- "Russian violet",
851
- "Rust",
852
- "Rusty red",
853
-
854
-
855
- "Sacramento State green",
856
- "Saddle brown",
857
- "Safety orange",
858
- "Safety yellow",
859
- "Saffron",
860
- "Sage",
848
+ 'Sacramento State green',
849
+ 'Saddle brown',
850
+ 'Safety orange',
851
+ 'Safety yellow',
852
+ 'Saffron',
853
+ 'Sage',
861
854
  "St. Patrick's blue",
862
- "Salmon",
863
- "Salmon pink",
864
- "Sand",
865
- "Sand dune",
866
- "Sandstorm",
867
- "Sandy brown",
868
- "Sandy taupe",
869
- "Sangria",
870
- "Sap green",
871
- "Sapphire",
872
- "Sapphire blue",
873
- "Satin sheen gold",
874
- "Scarlet",
875
- "Scarlet",
876
- "Schauss pink",
877
- "School bus yellow",
855
+ 'Salmon',
856
+ 'Salmon pink',
857
+ 'Sand',
858
+ 'Sand dune',
859
+ 'Sandstorm',
860
+ 'Sandy brown',
861
+ 'Sandy taupe',
862
+ 'Sangria',
863
+ 'Sap green',
864
+ 'Sapphire',
865
+ 'Sapphire blue',
866
+ 'Satin sheen gold',
867
+ 'Scarlet',
868
+ 'Scarlet',
869
+ 'Schauss pink',
870
+ 'School bus yellow',
878
871
  "Screamin' Green",
879
- "Sea blue",
880
- "Sea green",
881
- "Seal brown",
882
- "Seashell",
883
- "Selective yellow",
884
- "Sepia",
885
- "Shadow",
886
- "Shadow blue",
887
- "Shampoo",
888
- "Shamrock green",
889
- "Sheen Green",
890
- "Shimmering Blush",
891
- "Shocking pink",
892
- "Sienna",
893
- "Silver",
894
- "Silver chalice",
895
- "Silver Lake blue",
896
- "Silver pink",
897
- "Silver sand",
898
- "Sinopia",
899
- "Skobeloff",
900
- "Sky blue",
901
- "Sky magenta",
902
- "Slate blue",
903
- "Slate gray",
904
- "Smalt",
905
- "Smitten",
906
- "Smoke",
907
- "Smoky black",
908
- "Smoky Topaz",
909
- "Snow",
910
- "Soap",
911
- "Solid pink",
912
- "Sonic silver",
913
- "Spartan Crimson",
914
- "Space cadet",
915
- "Spanish bistre",
916
- "Spanish blue",
917
- "Spanish carmine",
918
- "Spanish crimson",
919
- "Spanish gray",
920
- "Spanish green",
921
- "Spanish orange",
922
- "Spanish pink",
923
- "Spanish red",
924
- "Spanish sky blue",
925
- "Spanish violet",
926
- "Spanish viridian",
927
- "Spiro Disco Ball",
928
- "Spring bud",
929
- "Spring green",
930
- "Star command blue",
931
- "Steel blue",
932
- "Steel pink",
933
- "Stil de grain yellow",
934
- "Stizza",
935
- "Stormcloud",
936
- "Straw",
937
- "Strawberry",
938
- "Sunglow",
939
- "Sunray",
940
- "Sunset",
941
- "Sunset orange",
942
- "Super pink",
872
+ 'Sea blue',
873
+ 'Sea green',
874
+ 'Seal brown',
875
+ 'Seashell',
876
+ 'Selective yellow',
877
+ 'Sepia',
878
+ 'Shadow',
879
+ 'Shadow blue',
880
+ 'Shampoo',
881
+ 'Shamrock green',
882
+ 'Sheen Green',
883
+ 'Shimmering Blush',
884
+ 'Shocking pink',
885
+ 'Sienna',
886
+ 'Silver',
887
+ 'Silver chalice',
888
+ 'Silver Lake blue',
889
+ 'Silver pink',
890
+ 'Silver sand',
891
+ 'Sinopia',
892
+ 'Skobeloff',
893
+ 'Sky blue',
894
+ 'Sky magenta',
895
+ 'Slate blue',
896
+ 'Slate gray',
897
+ 'Smalt',
898
+ 'Smitten',
899
+ 'Smoke',
900
+ 'Smoky black',
901
+ 'Smoky Topaz',
902
+ 'Snow',
903
+ 'Soap',
904
+ 'Solid pink',
905
+ 'Sonic silver',
906
+ 'Spartan Crimson',
907
+ 'Space cadet',
908
+ 'Spanish bistre',
909
+ 'Spanish blue',
910
+ 'Spanish carmine',
911
+ 'Spanish crimson',
912
+ 'Spanish gray',
913
+ 'Spanish green',
914
+ 'Spanish orange',
915
+ 'Spanish pink',
916
+ 'Spanish red',
917
+ 'Spanish sky blue',
918
+ 'Spanish violet',
919
+ 'Spanish viridian',
920
+ 'Spiro Disco Ball',
921
+ 'Spring bud',
922
+ 'Spring green',
923
+ 'Star command blue',
924
+ 'Steel blue',
925
+ 'Steel pink',
926
+ 'Stil de grain yellow',
927
+ 'Stizza',
928
+ 'Stormcloud',
929
+ 'Straw',
930
+ 'Strawberry',
931
+ 'Sunglow',
932
+ 'Sunray',
933
+ 'Sunset',
934
+ 'Sunset orange',
935
+ 'Super pink',
943
936
 
944
-
945
- "Tan",
946
- "Tangelo",
947
- "Tangerine",
948
- "Tangerine yellow",
949
- "Tango pink",
950
- "Taupe",
951
- "Taupe gray",
952
- "Tea green",
953
- "Tea rose",
954
- "Tea rose",
955
- "Teal",
956
- "Teal blue",
957
- "Teal deer",
958
- "Teal green",
959
- "Telemagenta",
960
- "Tenne",
961
- "Terra cotta",
962
- "Thistle",
963
- "Thulian pink",
964
- "Tickle Me Pink",
965
- "Tiffany Blue",
937
+ 'Tan',
938
+ 'Tangelo',
939
+ 'Tangerine',
940
+ 'Tangerine yellow',
941
+ 'Tango pink',
942
+ 'Taupe',
943
+ 'Taupe gray',
944
+ 'Tea green',
945
+ 'Tea rose',
946
+ 'Tea rose',
947
+ 'Teal',
948
+ 'Teal blue',
949
+ 'Teal deer',
950
+ 'Teal green',
951
+ 'Telemagenta',
952
+ 'Tenne',
953
+ 'Terra cotta',
954
+ 'Thistle',
955
+ 'Thulian pink',
956
+ 'Tickle Me Pink',
957
+ 'Tiffany Blue',
966
958
  "Tiger's eye",
967
- "Timberwolf",
968
- "Titanium yellow",
969
- "Tomato",
970
- "Toolbox",
971
- "Topaz",
972
- "Tractor red",
973
- "Trolley Grey",
974
- "Tropical rain forest",
975
- "True Blue",
976
- "Tufts Blue",
977
- "Tulip",
978
- "Tumbleweed",
979
- "Turkish rose",
980
- "Turquoise",
981
- "Turquoise blue",
982
- "Turquoise green",
983
- "Tuscan",
984
- "Tuscan brown",
985
- "Tuscan red",
986
- "Tuscan tan",
987
- "Tuscany",
988
- "Twilight lavender",
989
- "Tyrian purple",
990
-
959
+ 'Timberwolf',
960
+ 'Titanium yellow',
961
+ 'Tomato',
962
+ 'Toolbox',
963
+ 'Topaz',
964
+ 'Tractor red',
965
+ 'Trolley Grey',
966
+ 'Tropical rain forest',
967
+ 'True Blue',
968
+ 'Tufts Blue',
969
+ 'Tulip',
970
+ 'Tumbleweed',
971
+ 'Turkish rose',
972
+ 'Turquoise',
973
+ 'Turquoise blue',
974
+ 'Turquoise green',
975
+ 'Tuscan',
976
+ 'Tuscan brown',
977
+ 'Tuscan red',
978
+ 'Tuscan tan',
979
+ 'Tuscany',
980
+ 'Twilight lavender',
981
+ 'Tyrian purple',
991
982
 
992
- "UA blue",
993
- "UA red",
994
- "Ube",
995
- "UCLA Blue",
996
- "UCLA Gold",
997
- "UFO Green",
998
- "Ultramarine",
999
- "Ultramarine blue",
1000
- "Ultra pink",
1001
- "Ultra red",
1002
- "Umber",
1003
- "Unbleached silk",
1004
- "United Nations blue",
1005
- "University of California Gold",
1006
- "Unmellow yellow",
1007
- "UP Forest green",
1008
- "UP Maroon",
1009
- "Upsdell red",
1010
- "Urobilin",
1011
- "USAFA blue",
1012
- "USC Cardinal",
1013
- "USC Gold",
1014
- "University of Tennessee Orange",
1015
- "Utah Crimson",
1016
- "Vanilla",
1017
- "Vanilla ice",
1018
- "Vegas gold",
1019
- "Venetian red",
1020
- "Verdigris",
1021
- "Vermilion",
1022
- "Vermilion",
1023
- "Veronica",
1024
- "Violet",
1025
- "Violet-blue",
1026
- "Violet-red",
1027
- "Viridian",
1028
- "Viridian green",
1029
- "Vista blue",
1030
- "Vivid auburn",
1031
- "Vivid burgundy",
1032
- "Vivid cerise",
1033
- "Vivid orchid",
1034
- "Vivid sky blue",
1035
- "Vivid tangerine",
1036
- "Vivid violet",
983
+ 'UA blue',
984
+ 'UA red',
985
+ 'Ube',
986
+ 'UCLA Blue',
987
+ 'UCLA Gold',
988
+ 'UFO Green',
989
+ 'Ultramarine',
990
+ 'Ultramarine blue',
991
+ 'Ultra pink',
992
+ 'Ultra red',
993
+ 'Umber',
994
+ 'Unbleached silk',
995
+ 'United Nations blue',
996
+ 'University of California Gold',
997
+ 'Unmellow yellow',
998
+ 'UP Forest green',
999
+ 'UP Maroon',
1000
+ 'Upsdell red',
1001
+ 'Urobilin',
1002
+ 'USAFA blue',
1003
+ 'USC Cardinal',
1004
+ 'USC Gold',
1005
+ 'University of Tennessee Orange',
1006
+ 'Utah Crimson',
1007
+ 'Vanilla',
1008
+ 'Vanilla ice',
1009
+ 'Vegas gold',
1010
+ 'Venetian red',
1011
+ 'Verdigris',
1012
+ 'Vermilion',
1013
+ 'Vermilion',
1014
+ 'Veronica',
1015
+ 'Violet',
1016
+ 'Violet-blue',
1017
+ 'Violet-red',
1018
+ 'Viridian',
1019
+ 'Viridian green',
1020
+ 'Vista blue',
1021
+ 'Vivid auburn',
1022
+ 'Vivid burgundy',
1023
+ 'Vivid cerise',
1024
+ 'Vivid orchid',
1025
+ 'Vivid sky blue',
1026
+ 'Vivid tangerine',
1027
+ 'Vivid violet',
1037
1028
 
1038
- "Warm black",
1039
- "Waterspout",
1040
- "Wenge",
1041
- "Wheat",
1042
- "White",
1043
- "White smoke",
1044
- "Wild blue yonder",
1045
- "Wild orchid",
1046
- "Wild Strawberry",
1047
- "Wild watermelon",
1048
- "Willpower orange",
1049
- "Windsor tan",
1050
- "Wine",
1051
- "Wine dregs",
1052
- "Wisteria",
1053
- "Wood brown",
1054
- "Xanadu",
1055
- "Yale Blue",
1056
- "Yankees blue",
1057
- "Yellow",
1058
- "Yellow-green",
1059
- "Yellow Orange",
1060
- "Yellow rose",
1061
- "Zaffre",
1062
- "Zinnwaldite brown",
1063
- "Zomp"
1064
- ]
1029
+ 'Warm black',
1030
+ 'Waterspout',
1031
+ 'Wenge',
1032
+ 'Wheat',
1033
+ 'White',
1034
+ 'White smoke',
1035
+ 'Wild blue yonder',
1036
+ 'Wild orchid',
1037
+ 'Wild Strawberry',
1038
+ 'Wild watermelon',
1039
+ 'Willpower orange',
1040
+ 'Windsor tan',
1041
+ 'Wine',
1042
+ 'Wine dregs',
1043
+ 'Wisteria',
1044
+ 'Wood brown',
1045
+ 'Xanadu',
1046
+ 'Yale Blue',
1047
+ 'Yankees blue',
1048
+ 'Yellow',
1049
+ 'Yellow-green',
1050
+ 'Yellow Orange',
1051
+ 'Yellow rose',
1052
+ 'Zaffre',
1053
+ 'Zinnwaldite brown',
1054
+ 'Zomp'
1055
+ ].freeze
1065
1056
 
1066
1057
  COLOR_SEARCH = FuzzBall::Searcher.new(COLOR_NAMES)
1067
1058
  end